Nagios: включить внешние команды

Попробуйте наш инструмент устранения неполадок

Вот и мы снова со своим старым другом Нагиосом. Если вы следили за новостями, то знаете, что я довольно много изучил с помощью этого выдающегося инструмента сетевого мониторинга (проверьте все статьи Ghacks Nagios). Для этого есть причина, Nagios - невероятный инструмент. Но многие из вас могли столкнуться с ошибкой при попытке запустить несколько более мощных функций. Эта ошибка возникает, когда вы пытаетесь использовать любую из внешних команд Nagios. Но что это за внешние команды? Nagios может запускать команды из внешних приложений. Это позволяет Nagios расширяться дальше, чем в противном случае.

Но когда вы видите эту ошибку, вы знаете, что ваша установка Nagios не может использовать какие-либо внешние команды. Не бойтесь, эту ошибку легко исправить, и в этой статье я расскажу вам, как исправить.

Предположения

фигура 1

Предполагается, что у вас есть работающая установка Nagios, а также доступ root или sudo к вашему серверу. В этой статье также предполагается, что вы пытались использовать функции, требующие внешних команд. Если нет, давайте посмотрим, как это сделать.

Если вы указываете в браузере свой сервер Nagios, щелкните ссылку «Сведения о службе», а затем щелкните одну из служб (например, HTTP или SSH). На этой странице вы увидите поле «Команды службы». Если вы нажмете на одну из этих ссылок и получите сообщение об ошибке - вам нужно исправить!

Исправление

Спасено на ноль верно? Вроде, как бы, что-то вроде. Первое, что нужно проверить, это в Файл /etc/nagios3/nagios.cfg , Найдите строку вроде:

check_external_commands = 1

Если эта строка закомментирована или установлена ​​на «0», измените ее так, чтобы она выглядела как запись выше. Как только вы это сделаете, сохраните и закройте файл. Теперь перезапустите Nagios с помощью команды sudo /etc/init.d/nagios3 перезапуск , Вы еще не закончили.

Следующий шаг - открыть /etc/nagios3/cgi.cfg файл. Скорее всего, вы найдете эти две строки:

authorized_for_all_services = nagiosadmin

authorized_for_all_hosts = nagiosadmin

После этих двух строк вам нужно добавить следующее:

authorized_for_all_host_commands = nagiosadmin

authorized_for_all_service_commands = nagiosadmin

Сохраните и закройте этот файл. Теперь перезапустите Apache с помощью команды sudo /etc/init.d/apache2 перезапуск ,

Еще не сделано. Теперь вам нужно немного изменить / и т.д. / группы , Откройте этот файл в своем любимом текстовом редакторе и найдите строку, которая выглядит так:

Nagios: х: 127:

Измените эту строку, чтобы она выглядела так:

Nagios: х: 127: WWW-данные

Теперь сохраните и закройте этот файл. Почти сделано. Но следующий шаг немного сложнее предыдущего.

В каталоге / var / lib / nagios3 / rw это файл nagios.cmd , Скорее всего, для этого файла установлены неверные разрешения. По умолчанию только пользователь nagios имеет доступ к этим файлам. Поскольку мы не можем изменить это на пользователя www-data (это нарушило бы другие функции Nagios), нам нужно просто добавить бит исполняемой группы в файл следующим образом:

Судо chmod g + x / var / lib / nagios / rw

Вот и все. Теперь вернитесь в раздел «Команды служб» и щелкните одну из ссылок. Вы больше не должны получать эту ошибку.

Последние мысли

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