Как я могу запустить сервер 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. Я использовал это руководство, чтобы включить его.

Другие вопросы по тегам