Используя Centos 6.4, используя yum, установленный Monit 5.5.
У меня есть 2 сервера с установленным monit - та же версия, та же конфигурация, но один привязывается ко всем адресам, а другой - только к локальному хосту.
Проблемный сервер:
# service monit restart
Stopping monit: [ OK ]
Starting monit: Starting monit daemon with http interface at [localhost:8080]
[ OK ]
Хороший сервер:
# service monit restart
Stopping monit: [ OK ]
Starting monit: Starting monit daemon with http interface at [*:8080]
[ OK ]
Конфигурация такая:
set httpd port 8080
allow fofo:sdad
allow fdgdfg:dsfsdf
SSL ENABLE
PEMFILE /var/certs/monit.pem
signature disable
Я предполагаю, что проблема заключается в неправильной конфигурации сети проблемного сервера - следовательно, он не может привязаться к внешнему порту - но тогда другие вещи работают нормально - http, ssh и т. Д.
ОБНОВЛЕНИЕ Дополнительная информация - спасибо за комментарии: Проблема:
# rpm -qi monit
Name : monit Relocations: (not relocatable)
Version : 5.5 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Release : 1.el6.rf Build Date: Wed 20 Mar 2013 02:09:54 PM WET
Install Date: Sat 04 May 2013 09:30:54 PM WEST Build Host: lisse.hasselt.wieers.com
Group : Applications/Internet Source RPM: monit-5.5-1.el6.rf.src.rpm
Size : 716992 License: GPLv3
Signature : DSA/SHA1, Wed 20 Mar 2013 03:59:25 PM WET, Key ID a20e52146b8d79e6
Packager : Steve Huff <shuff@vecna.org>
URL : http://mmonit.com/monit/
Summary : Process monitor and restart utility
Description :
Monit is an utility for monitoring daemons or similar programs running on
a Unix system. It will start specified programs if they are not running
and restart programs not responding.
Рабочий ящик:
# rpm -qi monit
Name : monit Relocations: (not relocatable)
Version : 5.5 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Release : 1.el6.rf Build Date: Wed 20 Mar 2013 02:09:54 PM WET
Install Date: Fri 22 Mar 2013 04:02:32 AM WET Build Host: lisse.hasselt.wieers.com
Group : Applications/Internet Source RPM: monit-5.5-1.el6.rf.src.rpm
Size : 716992 License: GPLv3
Signature : DSA/SHA1, Wed 20 Mar 2013 03:59:25 PM WET, Key ID a20e52146b8d79e6
Packager : Steve Huff <shuff@vecna.org>
URL : http://mmonit.com/monit/
Summary : Process monitor and restart utility
Description :
Monit is an utility for monitoring daemons or similar programs running on
a Unix system. It will start specified programs if they are not running
and restart programs not responding.
/ etc / hosts выглядит примерно одинаково между ними, например:
cat /etc/hosts
# Automatically generated by ptisp cloud
127.0.0.1 localhost
x.x.x.x [hostname]
Проблемное окно:
# netstat -tln | grep ":8080"
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN
Рабочий ящик:
# netstat -tln | grep ":8080"
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
Также был запущен 'ip addr', и его вывод выглядит примерно одинаково для рабочего и неработающего бокса.
ОБНОВЛЕНИЕ 2
Только что добавили M / monit в микс сегодня вечером, и это окно странным образом появляется дважды, один раз неактивным. Я думаю, это потому, что сервер m / monit не может вернуть клиенту ping ...
Заранее спасибо за любые идеи. Крис
Если поведение Monit не соответствует тому, что написано в файле конфигурации, одна из возможных причин может заключаться в том, что Monit фактически использует другой файл конфигурации.
В /etc/rc.d/init.d/monit
сценарий в monit-5.5-1.el6.rf
пакет начинается monit
без указания имени файла конфигурации, поэтому Monit пытается найти файл конфигурации в нескольких местах и использует первое из найденных. Еще одна важная вещь заключается в том, что имя файла конфигурации по умолчанию в этом пакете отличается от того, которое используется в неизмененной исходной версии Monit - исходная версия использует monitrc
, но пакет от RepoForge использует monit.conf
.
Порядок поиска, используемый для файла конфигурации, следующий:
~/.monitrc
в исходной версии Monit или ~/.monit.conf
в пакете RepoForge (домашний каталог пользователя, запустившего monit
используется; если Monit запускается из сценария инициализации, пользователь root
). Домашний каталог читается с помощью getpwuid(geteuid())
(т.е. из /etc/passwd
или любой другой базы данных NSS), а не из HOME
переменная окружения.
/etc/monitrc
в исходной версии Monit или /etc/monit.conf
в пакете RepoForge. Если используется пакет RepoForge, /etc/monit.conf
изначально содержит раскомментированный include
строка, которая заставляет Monit читать дополнительные файлы конфигурации из /etc/monit.d
каталог:
include /etc/monit.d/*
В исходных кодах апстрима пример monitrc
В файле эта строка закомментирована, поэтому по умолчанию дополнительные файлы конфигурации не используются.
Также обратите внимание, что в пакете RepoForge есть сценарий после установки:
# Moving old style configuration file to conf standard location
if [ -f /etc/monitrc ]; then
mv -f /etc/monitrc /etc/monit.conf
fi
Следовательно, если /etc/monitrc
файл существует до установки пакета или обновить, этот файл будет переименован в /etc/monit.conf
, молча перезаписывая его.
$SYSCONFDIR/monitrc
в исходной версии Monit, где $SYSCONFDIR
стоимость --sysconfdir=...
опция передана в configure
скрипт при компиляции исходного кода (значение этой опции по умолчанию $prefix/etc
, как обычно с Autoconf-сгенерированным configure
скрипты, а префикс по умолчанию - /usr/local
, поэтому имя файла конфигурации становится /usr/local/etc/monitrc
). В пакете RepoForge это имя файла становится /etc/monit.conf
, что делает его избыточным.
/usr/local/etc/monitrc
в исходной версии Monit или /usr/local/etc/monit.conf
в пакете RepoForge. Здесь /usr/local/etc
каталог жестко запрограммирован и не зависит от каких-либо configure
параметры.
./monitrc
в исходной версии Monit или ./monit.conf
в пакете RepoForge (при запуске из сценария инициализации текущий каталог, скорее всего, будет /
).
Проверь это ~/.monit.conf
не существует - это местоположение ищется до /etc/monit.conf
даже для рута. (В исходной версии Monit используется ~/.monitrc
и /etc/monitrc
, но в этом конкретном пакете используются разные имена файлов конфигурации.)