Не может считать состояние monit демон, даже с разрешенной группой

Я, может казаться, не добираюсь monit status или другие команды CLI для работы.


Я создал monit v5.8 для работы Raspberry Pi. Я могу добавить сервисы, которые будут контролироваться, и к веб-интерфейсу можно получить доступ очень хорошо, поскольку я настроил его для общедоступного доступа только для чтения (это - тестовый сервер, не моя заключительная производственная установка, таким образом, не грандиозное предприятие прямо сейчас).

Проблема, когда я работаю monit status в то время как зарегистрированный как root Я добираюсь:

# monit status
monit: cannot read status from the monit daemon

Я также имею monit запущенный на начальной загрузке через это /etc/inittab запись файла:

mo:2345:respawn:/usr/local/bin/monit -Ic /etc/monitrc

Я проверил, что monit работает, и я получаю предупреждения по электронной почте в любое время я или уничтожаю процесс monit вручную или перезагружаю мое пи малины. Так, затем я проверяю мой monitrc полномочия файла видеть, какой группе разрешают доступ.

# ls -al /etc/monitrc
-rw------- 1 root root 2359 Aug 24 14:48 /etc/monitrc

Вот мое соответствующее, позволяют раздел файла управления.

set httpd port 80
    allow [omitted] readonly
    allow @root
    allow localhost
    allow 0.0.0.0/0.0.0.0

Также испытанные полномочия установки на этом файле к 640 позволить полномочия чтения группы, но независимо от того, что я пробую I или получаю ту же ошибку, как отмечено выше, или когда полномочия установлены на 640 Я добираюсь:

# monit status
monit: The control file '/etc/monitrc' must have permissions no more than -rwx------ (0700); right now permissions are -rw-r----- (0640).

Что я пропускаю здесь? Я знаю что httpd должен быть включен, поскольку это - интерфейс, что использование CLI для получения информации (или таким образом, я читал), таким образом, я сделал это. И с точки зрения monit делая его контрольное задание и отправку предупреждений по электронной почте, это все работает также.


Вот мое все monitrc файл - снова, это - версия v5.8, и это была сборка с обоими PAM и SSL поддержка. Процесс работает под root пользователь:

# Global settings
set daemon 300
    with start delay 5
set logfile /var/log/monit.log
set pidfile /var/run/monit.pid
set idfile /var/run/.monit.id
set statefile /var/run/.monit.state

# Mail alerts
## Set the list of mail servers for alert delivery. Multiple servers may be
## specified using a comma separator. If the first mail server fails, Monit
# will use the second mail server in the list and so on. By default Monit uses
# port 25 - it is possible to override this with the PORT option.
#
set mailserver smtp.gmail.com port 587
               username [omitted] password [omitted]
               using tlsv1

## Send status and events to M/Monit (for more informations about M/Monit
## see http://mmonit.com/). By default Monit registers credentials with
## M/Monit so M/Monit can smoothly communicate back to Monit and you don't
## have to register Monit credentials manually in M/Monit. It is possible to
## disable credential registration using the commented out option below.
## Though, if safety is a concern we recommend instead using https when
## communicating with M/Monit and send credentials encrypted.
#
# set mmonit http://monit:monit@192.168.1.10:8080/collector
#     # and register without credentials     # Don't register credentials
#
#
## Monit by default uses the following format for alerts if the the mail-format
## statement is missing::
set mail-format {
    from: cmn.monit@gmail.com
 subject: $SERVICE $DESCRIPTION
 message: $EVENT

Service:     $SERVICE
Date:        $DATE
Action:      $ACTION
Host:        $HOST
Description: $DESCRIPTION

          Monit instance provided by chicagomeshnet.com
}

# Web status page
set httpd port 80
    allow [omitted] readonly
    allow @root
    allow localhost
    allow 0.0.0.0/0.0.0.0

## You can set alert recipients whom will receive alerts if/when a
## service defined in this file has errors. Alerts may be restricted on
## events by using a filter as in the second example below.
3
задан 24 August 2014 в 18:17
2 ответа

Попробуйте -v и -v флаги для увеличения многословия команды состояния. Следующим отличным инструментом для отладки таких проблем является -v. Установите его и запустите:

strace -efile -o trace.log monit status

Скорее всего, вы найдете причину в конце лога. Если это не поможет, запустите:

strace -f -o trace.log monit status

, чтобы увидеть все системные вызовы, которые делает программа и ее дети. Поиск не найден, соединение отказано, и подобные ошибки.

.
2
ответ дан 3 December 2019 в 07:01

Чтобы он заработал, мне потребовалось правило allow admin: monit .

set httpd port 2812 and
    use address 0.0.0.0
    allow 0.0.0.0/0
    allow localhost
    allow admin:monit
    allow guest:guest read-only

Из этот ответ и http : //dasunhegoda.com/what-why-how-monit/756/

0
ответ дан 3 December 2019 в 07:01

Теги

Похожие вопросы