Icinga настройка на windows
На этой странице представлены примеры установки Icinga2 в качестве агента мониторинга на разные операционные системы.
Актуальные ссылки на репозитории для разных дистрибутивов Linux/Unix можно найти в документе Getting Started
Debian GNU/Linux
На сервере с Debian GNU/Linux 8.7 (Jessie) последовательность действий по установке клиента будет такой:
Настройка iptables для принятия входящих подключений.
На сервере с Debian GNU/Linux 9.5 (stretch) последовательность действий по установке клиента будет такой:
Службу icinga2 отдельно не включаем, так как она включена и запущена по умолчанию сразу после установки.
Настройка iptables для принятия входящих подключений.
Ubuntu Server GNU/Linux
На сервере с Ubuntu Server GNU/Linux 16.04 LTS (Xenial Xerus) последовательность действий по установке клиента будет такой:
На сервере с Ubuntu Server GNU/Linux 14.04 LTS (Trusty Tahr) последовательность действий по установке клиента будет такой:
Настройка iptables для принятия входящих подключений.
CentOS Linux
На сервере с CentOS 7 последовательность действий по установке клиента будет такой:
Настройка firewalld для принятия входящих подключений.
На сервере с CentOS 6 последовательность действий по установке клиента будет такой:
Сначала подключим репозитории которые потребуются:
При попытке установки пакета icinga и плагинов можно получить ряд ошибок неудовлетворённых зависимостей по причине нехватки некоторых пакетов. В таком случае можно дополнительно подключить стандартные репозитории CentOS 6 (если они по какой-то причине не подключены в системе), как это описано в заметке Как подключить стандартные репозитории CentOS 6
Устанавливаем и настраиваем автозапуск службы:
Автор первичной редакции:
Алексей Максимов
Время публикации: 26.02.2017 18:41
Icinga2 – это гибкая и производительная система мониторинга с открытым исходным кодом, которая позволяет отслеживать состояние сетевых сервисов и хостов.
Способ 1.
Icinga2 всегда по умолчанию использует FQDN сервера. Если у хоста нет домена, используйте FQDN типа myserver.local . Если у вас есть «полноценный» FQDN, укажите IP-адрес сервера в поле address в настройках Icinga2.
Редактируем конфигурационный файл /etc/icinga2/conf.d/hosts.conf на master-сервере.
Этот файл содержит блок настроек host и комментарии к нему. Данный блок object Host NodeName определяет хост icinga-master (хост, на котором установлены Icinga2 и Icinga2 Web).
В конец файла добавим строки:
После внесения изменений перезагружаем сервис Icinga2:
После этого в Icinga2 можем наблюдать появление нового сервиса
Способ 2.
Icinga2 предоставляет механизм для безопасного соединения между master сервером и клиентской нодой, который позволяет выполнять более расширенные проверки удаленных серверов. Кроме проверки работы веб-сервера можно также отслеживать нагрузку CPU, количество процессов, работу базы данных, дисковое пространство и прочие сервисы.
Установим Icinga2 на удалённую машину и запустим мастер настройки, чтобы установить соединение, затем выполним настройку на главной ноде Icinga2 для мониторинга сервисов.
Icinga2 предоставляет несколько уровней серверов (master/satellite/client), отказоустойчивость при высокой доступности и несколько способов совместного использования конфигурации нод.
В данной статье будет рассмотрен вариант, как создать простую двухуровневую структуру с одной главной нодой и несколькими клиентскими нодами. Настройка выполняется на главной ноде. Команды проверки состояния будут запланированы на главной ноде и перенесены на клиенты. Проект Icinga2 называет этот режим Top Down Command Endpoint.
Настройка главного сервера (master)
Сперва настроим главную ноду для поддержки соединений с клиентами.
Запустим мастер установки:
Мастер установки выполнит базовую настройку и в ходе установки попросит ввести некоторые параметры:
И перезапустим сервис:
Настройка клиентского сервера (client)
Установим Icinga2 на клиентский сервер, добавим в автозагрузку и запустим.
Запустим мастер конфигурации клиентского сервера:
Мастер установки извлечет сертификат с главного сервера и выведет подробности. Ознакомьтесь с этой информацией и подтвердите ее:
Теперь нужно переключиться на главную ноду и выполнить указанную команду:
После выполнения команды на мастер сервере будет сгенерирован ключ, который необходимо вставить на клиентскую ноду для продолжения установки.
Проверить соединение между серверами можно командой lsof или netstat :
Мониторинг агента
Мастер сервер и клиент подключены, теперь добавим сервисы удаленного клиента на мониторинг.
В настройке Icinga2 важно понятие зоны. Все клиентские устройства должны создать свою собственную зону и отправлять отчеты в родительскую зону (в данном случае это master-сервер). По умолчанию название зоны главной ноды совпадает с ее FQDN. Создадим каталог в директории zone.d (имя директории должно совпадать с именем зоны главной ноды). Здесь будет храниться информация для всех клиентов родительской зоны.
Создадим конфигурационный файл /etc/icinga2/zones.d/Icinga2-master/services.conf . В нем будут храниться настройки проверок, которые будут выполняться на клиентских нодах со следующим содержимым:
В файл можно добавлять проверки любых сервисов, в том числе кастомных. В данном примере настроен мониторинг состояние CPU, количество запущенных процессов и ответ DNS для веб-хоста.
Очень важны последние две строки каждого блока. Строка command_endpoint указывает, что конечная точка команды находится на удалённой машине. Строка assign where автоматически присваивает проверку сервиса любому хосту, на котором определена переменная client_endpoint .
Данный файл определяет зону удаленного хоста и связывает ее с родительской зоной. Он также определяет хост как конечную точку, а затем определяет сам хост, импортируя стандартные правила из шаблона generic-host . Затем файл устанавливает переменные для создания проверки и включает отправку уведомлений по электронной почте. Обратите внимание: поскольку на этом хосте определена переменная vars.client_endpoint = name , на нем также будут выполняться проверки сервисов, которые были определены в services.conf .
Перезапускаем сервис Icinga2:
После этого заходим в веб-интерфейс IcingaWeb2 и проверяем статус сервисов для клиентских нод.
Icinga 2 представляет собой бесплатную систему мониторинга. Для ОС Windows возможно только установка клиентской части Icinga, поэтому в системе должен быть предварительно развернут сервер Icinga.
Также необходимо скачать саму Icinga2 для Windows. Это можно сделать например с сайта разработчика. По ссылке выберите необходимую Вам версию Icinga и разрядность Вашей ОС.
После скачивания запускаем установку icinga2. на странице приветствия нажимаем “Next”.
Соглашаемся с лицензионным соглашением.
Укажем директорию для установки Icinga2.
На последнем шаге нажмем Install чтобы запустить установку.
После завершения установки Icinga2 перейдем к ее настройке, для чего поставим соответствующую галочку.
Запустится мастер настройки Icinga2. на первой странице нас просят задать полное доменное имя сервера в поле “Instance Name”.
Также необходимо указать вышестоящие и подчиненные сущности Icinga2 путем нажатия кнопки “Add” в разделе “Parent master/ satellite instance(s) for this client”. укажем например сервер Icinga2.
После этого мы видим что этот узел добавился в настройки.
Дальше можно настроить зоны, а также задать дополнительные настройки.
В разделе “TCP Listener” укажем будет ли данный хост принимать соединения от других сущностей Icinga2 укажем на каком порту он будет это делать.
В “Advanced Options” можно указать:
- accept commands from master/satellite instance(s) - принимать ли команды от других сущностей icinga2 указанных в описываемом ранее разделе
- accept config updates from master/satellite instance(s) - принимать ли обновления конфигурации от других сущностей icinga2 указанных в описываемом ранее разделе
- От какого пользователя будет запускаться служба (Run Icinga2 sevice as user). В этом случае необходимо будет выбрать пользователя.
- Установить ли NSClient
- Считывать ли дополнительные параметры из файла conf.d
После нажатия кнопки Next пойдет проверка соединения с указанными нами сущностями Icinga2 для получения сертификатов.
После нажатия “Next” произведется установка и запуск службы Icinga2.
После выдастся финальное окно, о том, что настройка завершена. После нажатия finish произойдет закрытие мастера.
В этой статье рассматривается как добавлять узлы, добавлять команды, создавать службы для одиночного узла или группы узлов.
Установка модуля рассматривается в статье: Icinga2 установка модуля Director
В статье рассматривается пример добавления сетевого устройства Mikrotik с добавлением плагина проверки check_mikrotik_switch.pl и службы проверки нагрузки процессора маршрутизатора.
Вся работа производится в веб-интерфейсе Icinga.
Содержание:
Создание группы узлов.
Прежде чем добавить узел создадим группу узлов.
"Icinga Director — Узлы — Hostgroup"
Введем Hostgroup: "Network_host_group"
Введем отображаемое имя (Display name): "Сетевое оборудование"
Создание шаблона узлов.
Шаблон позволяет определить какая служба для каких хостов будет использоваться по умолчанию для определения "Host State".
"Icinga Director — Узлы — Host Templates"
Введем название шаблона (Hostname): "Network_host_Template"
Введем группу (Group): "Укажем созданную выше группу узлов"
Так как мне необходимо, что бы "Host State" определялся то в пункте "Check Command" я выбираю команду "ping4"
Добавляем узел (host).
"Icinga Director — Узлы — Host"
В Host Template выбираем созданный выше шаблон: "Network_host_Template"
В Hostname введем название: "mikrotik_core"
В Display Name укажем желаемое отображаемое имя: "Mikrotik RB2011"
В Host address укажем желаемый IP-адерс или DNS-имя.
В Groups выберем созданную выше группу.
По окончанию выберем Icinga Director — Activity Log и нажмем кнопку Deploy
После выполнения всех пунктов у вас должна появиться новая группа хостов с добавленным хостом. Далее опишем плагин "check_mikrotik_switch.pl" и создадим службу проверки нагрузки на CPU маршрутизатора и применим его к созданному хосту.
Создаем шаблон команды.
Создадим общий шаблон для использования любой командой
"Icinga Director — Commands — Command Templates"
В пункте Command Type выберем: "Plugin check command"
В Command name введм имя: "default_command_template"
В Timeout укажем время таймаута плагина в 1 миунту: "1m"
Создание одиночной команды.
"Icinga Director — Commands — Commands"
В поле Command Type выберем: "Plugin check command"
В Command name введем имя: "check_mikrotik_router"
В поле Imports выберем созданный выше шаблон команд: "default_command_template"
По умолчанию система работает с папкой PluginDir прописанная в конфигурации Icinga2 - в моем случае это /usr/lib/nagios/plugins/
В поле Command укажем путь к плагину - укажем просто название плагина: "check_mikrotik_switch.pl"
Поле Timeout будет уже заполнено согласно созданному шаблону команд.
После добавления команды появится новый подпункт в настройках команды - Arguments, где необходимо описать аргументы используемые плагином.
В случае с плагином check_mikrotik_switch.pl необходимо определить следующие аргументы:
"-H" = "$host.address$"
"-t" = "$mikrotik_check_command$"
"-i" = "$mikrotik_switch_ports$"
"-C" = "$mikrotik_community$"
"-w" = "$check_warning$"
"-c" = "$check_critical$"
В поле Argument name вводим аргумент: "-H"
В поле Value type выберем: "String"
В поле Value введем: "$host.address$"
В Поле Position выберем позицию: "1"
После чего наем "Добавить".
Данную операцию необходимо выполнить для каждого аргумента плагина. После чего необходимо перейти в пункт "Fields".
Необходимо определить обязательные и необязательные аргументы - для этого:
В поле "Field" выберем созданный аргумент
В поле "Mandatory" выберем "Mandatory" для обязательных полей и "Optional" для необязательных
В моем случае все поля кроме $mikrotik_switch_ports$ являются обязательными
Переходим к описанию службы
Создания шаблона службы
"Icinga Director — Service — Service Templates"
Укажем название шаблона: "check_mikrotik_router_service_template"
Выбрем созданную команду в Check Command: "check_mikrotik_router"
Переходим в пункт "Custom properties"
Поле check_critical: укажем критическое значение для проверки
Поле check_warning: укажем высокое значение для проверки
Поле mikrotik_community: Укажем имя SNMP-community маршрутизатора
Переходим в пункт "Check execution"
Укажем временные промежутки проверки, повторной проверки, таймаут и количество проверок до срабатывания триггера уведомлений.
Создаем сервис проверки для узла или группы узлов
"Icinga Director — Service — Single Service"
Укажем название: "check_mikrotik_router_cpu"
В поле Imports выберем созданный ранее шаблон службы: "check_mikrotik_router_service_template"
В поле Узел укажем имя добавленного узла или группы узлов
Переходим в пункт "Custom properties"
В поле mikrotik_check_command укажем команду для плагина: "CPU"
По окончанию выберем " Icinga Director — Activity Log " и нажмем кнопку "Deploy"
Читайте также: