Назад | Перейти на главную страницу

Monit 5.5 привязка только к localhost, но должна быть на всех

Используя 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.

Порядок поиска, используемый для файла конфигурации, следующий:

  1. ~/.monitrc в исходной версии Monit или ~/.monit.conf в пакете RepoForge (домашний каталог пользователя, запустившего monit используется; если Monit запускается из сценария инициализации, пользователь root). Домашний каталог читается с помощью getpwuid(geteuid()) (т.е. из /etc/passwd или любой другой базы данных NSS), а не из HOME переменная окружения.

  2. /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, молча перезаписывая его.

  3. $SYSCONFDIR/monitrc в исходной версии Monit, где $SYSCONFDIR стоимость --sysconfdir=... опция передана в configure скрипт при компиляции исходного кода (значение этой опции по умолчанию $prefix/etc, как обычно с Autoconf-сгенерированным configure скрипты, а префикс по умолчанию - /usr/local, поэтому имя файла конфигурации становится /usr/local/etc/monitrc). В пакете RepoForge это имя файла становится /etc/monit.conf, что делает его избыточным.

  4. /usr/local/etc/monitrc в исходной версии Monit или /usr/local/etc/monit.conf в пакете RepoForge. Здесь /usr/local/etc каталог жестко запрограммирован и не зависит от каких-либо configure параметры.

  5. ./monitrc в исходной версии Monit или ./monit.conf в пакете RepoForge (при запуске из сценария инициализации текущий каталог, скорее всего, будет /).

Проверь это ~/.monit.conf не существует - это местоположение ищется до /etc/monit.conf даже для рута. (В исходной версии Monit используется ~/.monitrc и /etc/monitrc, но в этом конкретном пакете используются разные имена файлов конфигурации.)