From 44cd86d24e1bbbfbb2a96779353e77c0e8c9e661 Mon Sep 17 00:00:00 2001 From: Tony Murray Date: Tue, 2 Feb 2016 20:23:08 -0600 Subject: [PATCH] Add systemd unit file for the python poller service. Move poller-service init scripts into to scripts directory and update the documentation. --- doc/Extensions/Poller-Service.md | 8 ++++++-- .../librenms-poller-service.conf | 0 .../librenms-poller-service.init | 6 +++--- scripts/librenms-poller-service.service | 14 ++++++++++++++ 4 files changed, 23 insertions(+), 5 deletions(-) rename poller-service.conf => scripts/librenms-poller-service.conf (100%) rename poller-service.init => scripts/librenms-poller-service.init (94%) create mode 100644 scripts/librenms-poller-service.service diff --git a/doc/Extensions/Poller-Service.md b/doc/Extensions/Poller-Service.md index b3ec67a1d4..e07dfab332 100644 --- a/doc/Extensions/Poller-Service.md +++ b/doc/Extensions/Poller-Service.md @@ -32,6 +32,10 @@ Because locks are not replicated in Multi-Master MySQL configurations, if you ar If you are running MariaDB 10.2 or newer, you can tell poller-service to use a single mysql connection for managing locks by setting `$config['poller_service_single_connection']` to `true`. *DO NOT* configure this for any version of MariaDB less than 10.2 or any version of MySQL. ## Service Installation -An upstart configuration `poller-service.conf` is provided. To install run `ln -s /opt/librenms/poller-service.conf /etc/init/poller-service.conf`. The service will start on boot and can be started manually by running `start poller-service`. If you receive an error that the service does not exist, run `initctl reload-configuration`. The service is configured to run as the user `librenms` and will fail if that user does not exist. +### Upstart +An upstart configuration file can be found in `scripts/librenms-poller-service.conf`. To install run `ln -s /opt/librenms/scripts/librenms-poller-service.conf /etc/init/librenms-poller-service.conf`. The service will start on boot and can be started manually by running `start librenms-poller-service`. If you receive an error that the service does not exist, run `initctl reload-configuration`. The service is configured to run as the user `librenms` and will fail if that user does not exist. +### LSB +An LSB init script can be found in `scripts/librenms-poller-service.init`. To install run `ln -s /opt/librenms/scripts/librenms-poller-service.init /etc/init.d/librenms-poller-service && update-rc.d librenms-poller-service defaults`. +### systemd +A systemd unit file can be found in `scripts/librenms-poller-service.init`. To install run `ln -s /opt/librenms/scripts/librenms-poller-service.service /etc/systemd/system/librenms-poller-service.service && systemctl enable librenms-poller-service.service`. -An LSB init script `poller-service.init` is also provided. To install run `ln -s /opt/librenms/poller-service.init /etc/init.d/poller-service && update-rc.d poller-service defaults`. diff --git a/poller-service.conf b/scripts/librenms-poller-service.conf similarity index 100% rename from poller-service.conf rename to scripts/librenms-poller-service.conf diff --git a/poller-service.init b/scripts/librenms-poller-service.init similarity index 94% rename from poller-service.init rename to scripts/librenms-poller-service.init index 6e870a6dbd..a080372bc4 100755 --- a/poller-service.init +++ b/scripts/librenms-poller-service.init @@ -1,5 +1,5 @@ ### BEGIN INIT INFO -# Provides: poller-service +# Provides: librenms-poller-service # Required-Start: networking # Required-Stop: networking # Default-Start: 2 3 4 5 @@ -11,13 +11,13 @@ . /lib/lsb/init-functions -NAME=poller-service +NAME=librenms-poller-service DAEMON=/opt/librenms/poller-service.py USER=librenms -PIDFILE=/var/run/poller-service.pid +PIDFILE=/var/run/librenms-poller-service.pid test -x $DAEMON || exit 5 diff --git a/scripts/librenms-poller-service.service b/scripts/librenms-poller-service.service new file mode 100644 index 0000000000..86f9188070 --- /dev/null +++ b/scripts/librenms-poller-service.service @@ -0,0 +1,14 @@ +[Unit] +Description=LibreNMS SNMP Poller Service +After=network.target + +[Service] +ExecStart=/opt/librenms/poller-service.py +WorkingDirectory=/opt/librenms +User=librenms +Group=librenms +RestartSec=2 +Restart=always + +[Install] +WantedBy=multi-user.target