Nagios: Активиране на външни команди
- Категория: Мрежа
Ето ни отново, назад с ур стар приятел Nagios. Ако сте следвали знаете, че аз покрих доста основи с този изключителен инструмент за наблюдение на мрежата (проверете всички статии на Ghacks Nagios). Има причина за това, Nagios е невероятен инструмент. Но за много от вас може да се натъкнете на грешка при опит да стартирате няколко от по-мощните функции. Тази грешка се случва при опит да използвате някоя от външните команди на Nagios. Но какви са тези външни команди? Nagios е в състояние да изпълнява команди от външни приложения. Това позволява на Nagios да се разшири по-далеч, отколкото би могло иначе.
Но когато видите тази грешка, знаете, че вашата инсталация Nagios не може да използва никакви външни команди. Не се страхувайте, тази грешка е лесна за дойде и в тази статия ще ви преведа през поправката.
Предположения

Това как да предположим, че имате работеща Nagios инсталация, както и root или sudo достъп до вашия сървър. Тази статия също предполага, че сте се опитали да използвате функции, които изискват външни команди. Ако не, нека да разгледаме как.
Ако насочите браузъра си към вашия Nagios сървър, щракнете върху връзката Подробности за услугата и след това щракнете върху една от услугите (като HTTP или SSH). На тази страница ще видите полето Service Commands. Ако кликнете върху някоя от тези връзки и получите грешката - имате нужда от поправката!
Поправката
Запазено от нула нали? Нещо като. Първото нещо, което трябва да проверите, е в /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 , Този файл най-вероятно няма зададени правилни разрешения. По подразбиране само потребителските нагиоси имат достъп до тези файлове. Тъй като не можем да променим това на потребителя на www-data (това би нарушило други функции на Nagios), трябва просто да добавим изпълнимия бит на групата във файла така:
sudo chmod g + x / var / lib / nagios / rw
Това е. Сега се върнете в този раздел за сервизни команди и кликнете върху една от връзките. Вече не трябва да получавате тази грешка.
Заключителни мисли
Може би сте мислили, че вашата инсталация на Nagios е доста полезна. Сега, когато можете да изпълнявате външни команди, ще намерите инсталирането на Nagios за много по-полезно.