====== Описание ====== Система состоит из двух основных частей и общего пула списка серверов: * Серверная часть * Клиентская часть В качестве софта у нас используется nagios для самого мониторинга, ansible для настройки nagios и настройки хостов для мониторинга. NRPE для клиентский серверов. ===== Общий пул ===== Общий пул серверов мы пихаем в файл /etc/ansible/hosts в секцию [servers] Обычно мы пишем типа так: [server] server_name_for_nagios ansible_ssh_host=IP.AD.DR.E.SS ... Указывать надо оба два параметра, т.к. первый нужен для генерации имя хоста в nagios, а второй параметр указывает на какой IP-address надо коннектиться к демону NRPE. Эти оба параметра используются для генерации конфига Nagios, а так же для того, что бы выложить настройки NRPE. В секции [nagios-server] мы указываем адрес сервера на который будут заливаться сгенерированные ansible файлы конфигурации для хостов ===== Серверная часть ===== В основе серверной части у нас находится некий секретный сервер на котором установлен Nagios. ===== Клиентская часть ===== Туда с помощью ansible накатывают установку NRPE. ===== Как добавить хост в мониторинг ===== Для начала мы на том сервере, где у нас установлен ansible, прописываем в файле /etc/ansible/hosts в секции [server] имя хоста и его IP адрес. После этого мы должны запихать на этот новый сервер ssh ключ, через который мы будем работать когда будем запускать ansible ssh-copy-id IP.AD.DR.E.SS После того, как мы набрали пароль и ключи успешно скопировался, накатываем туда NRPE ansible-playbook /etc/ansible/main.yml Если всё прошло успешно, обновляем конфигурацию nagios ansible-playbook /etc/ansible/nagios.yml Обычно после этого пишется кучу сообщений об ошибке, но это особенность того, что мониторинг в OpenVZ контейнере. Выполняем просто systemctl restart nagios ===== Что мы мониторим ===== Пока что мы мониторим только самый минимум - * ping * ssh * NRPE * / раздел Далее будем увеличивать количество объектов для мониторинга ===== Перестаём мониторить хост ===== Тут пока автоматики нет, поэтому делаем два действия - Убираем сам хост из файла **/etc/ansible/hosts** секции **[servers]** - Заходим в каталог **/etc/nagios/conf.d**, удаляем там файлик с названим хоста и рестартуем nagios **systemctl restart nagios** ===== Проблемы при установке ===== fatal: [server_name] => SSH Error: Permission denied (publickey,password). while connecting to ip.add.re.ss:22 It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue. Не прописался ключ на этот сервер, либо работа по ключам запрещена. Надо добиться того, что бы с ноды где стоит нагиос работал корректно заход по ключам без пароля failed: [server_name] => {"failed": true} msg: Could not fetch updated apt files Надо зайти ручками на сервер и запустить **apt-get update** Ошибки что будут - поправить