Как я могу запустить сервер NSCA в Ubuntu 14.04?
В Ubuntu 14.04 после установки пакета nsca я не могу запустить службу из-за этой ошибки (получено из системного журнала):
nagios nsca[621]: Cannot write to pidfile '/var/run/nsca.pid' - check your privileges.
2 ответа
Это не элегантное решение с системной точки зрения. Но это простой, безопасный и быстрый метод. Он использует конфигурацию upstart вместо устаревшего сценария init.d.
Начиная с Ubuntu 14.04, вы должны переопределить параметры запуска по умолчанию для демона nsca. Это потому что /etc/init.d/nsca
скрипт не может создать файл pid в /run
, Начиная с версии 14.04, этот каталог доступен для записи только пользователю root. Поэтому мы можем создать отдельный файл конфигурации init для запуска сервера nsca.
Создайте сценарий запуска init, в /etc/init/nsca.conf
:
#!upstart
description "NSCA Nagios Server"
env DAEMON=/usr/sbin/nsca
env USER=nagios
env PIDFILE=/var/run/nsca.pid
env CONF=/etc/nsca.cfg
start on runlevel [2345]
stop on shutdown
respawn
expect fork
# log by default - syslog
exec start-stop-daemon --start --exec $DAEMON --make-pidfile --pidfile $PIDFILE --chuid $USER -- -c $CONF
Удалить ссылки для запуска:
update-rc.d -f nsca remove
Удалить старый скрипт запуска.
rm /etc/init.d/nsca
Создайте символическую ссылку для работы автозаполнения:
ln -s /lib/init/upstart-job /etc/init.d/nsca
Перезагрузить init:
sudo initctl reload-configuration
Я должен был удалить
--make-pidfile
из ответа Владимира, чтобы все работало правильно, поскольку сам сервер nsca уже создает файл pid. Также убедитесь, что у вас есть те же значения в
/etc/nsca.cfg
Что очень помогло, так это включение регистрации на сервере nagios. Я использовал это руководство, чтобы включить его.