Почему служба munin-node не запускается при запуске (перезагрузке)?
У меня есть экземпляр VPS под управлением Ubuntu Server версии 10.04 LTS (Lucid Lynx).
Я установил Мунин и Мунин-узел. Он правильно настроен. Работает нормально.
Проблема в том, что мне нужно запустить команду sudo service munin-node start
для начала.
Если я перезагружаю систему (либо с sudo reboot now
или с помощью веб-панели управления), эта служба не запускается. Мне нужно запустить команду выше, чтобы начать.
Я пытался "все" для устранения неполадок, но безуспешно.
1) СЛЕДУЕТ просто запустить столько же программ, которые я установил в этом VPS, используя aptitude (ProFTPd, NginX, MySQL, monit, Icecast, Postfix и многие другие). Это не.
2) Я пытался добавить service munin-node start
в /etc/rc.local
как я успешно сделал, чтобы начать другой сервис. Это не начинается!
3) Я управлял командой update-rc.d munin-node defaults
, Похоже, все было хорошо! После перезагрузки... не запускается!
4) Я побежал grep -r munin *
чтобы увидеть все, что связано с Мунином в /var/log
За несколько лет работы в качестве системного администратора я никогда не был таким невежественным, как в этот раз.
Что действительно впечатляет, так это то, что service munin-node start
(или эквивалент), когда система запущена и работает... и служба запускается нормально.
Идеи? Предложения?
Я собираюсь попробовать этот совет из другого вопроса, если все остальное не удается...
2 ответа
Ну, возможно, я не нашел точно, почему, но я нашел решение.
Я изменил пару строк из /etc/init/munin-node.conf
upstart config file, и теперь munin-node запускается автоматически при перезагрузке, как я и хотел.
Я заменил существующие предложения " start on " и " stop on " на те, которые находятся в конфигурационном файле выскочки MySQL по адресу /etc/init/mysql.conf
Ниже мой модифицированный фрагмент из /etc/init/munin-node.conf
, который сейчас работает для меня:
#start on (filesystem and net-device-up IFACE=lo)
#stop on runlevel [!2345]
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
Я только что прокомментировал исходные строки "start on" и "stop on" и добавил строки "start on" и "stop on" из mysql.conf.
Было бы здорово, если бы какой-то эксперт объяснил нам значение этих строк...
Спасибо.
На мой взгляд, лучший способ запустить службу munin-node - это иметь в вашем /etc/init/munin-node.conf строку, подобную этой:
start on (net-device-up IFACE!=lo and local-filesystems)
Это потому, что вам нужен интерфейс (отличный от lo), который должен прослушивать munin-узел, и вам также нужно монтировать локальные файловые системы для доступа к данным статистики.
Вы можете использовать директиву runlevel, но это не рекомендуется:
Разница в том, использовать ли более общий "уровень запуска" или более явные события local->filesystems(7) и net-device-up, должна зависеть от поведения вашей работы. Если> ваша служба будет работать без действительного сетевого интерфейса (например, она привязывается к>0.0.0.0 или использует setsockopt(2) SO_FREEBIND), то событие runlevel предпочтительнее, поскольку> ваша служба запустится немного раньше и начать параллельно с другими службами.
Однако, если ваша служба требует, чтобы по какой-то причине был настроен интерфейс без обратной связи (т. Е. Он не запустится без возможностей широковещательной передачи), тогда может помочь явное> высказывание "как только устройство с обратной связью появится".
Из готовой поваренной книги Ubuntu: http://upstart.ubuntu.com/cookbook/