🔍 Установка и настройка Checkmk на CentOS 8 и мониторинг хостов Linux с помощью агента Checkmk |

🔍 Установка и настройка Checkmk на CentOS 8 и мониторинг хостов Linux с помощью агента Checkmk

Мануал

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

В случае каких-либо аппаратных или программных сбоев, важно как можно скорее получать оповещения и предпринимать соответствующие действия для устранения сбоя.

В этой статье я хотел бы взглянуть на checkmk – мощное программное обеспечение для мониторинга, разработанное tribe29 GmbH со множеством вариантов конфигурации и удобным WebGUI-интерфейсом, которое может помочь вам полностью автоматизировать операции мониторинга вашего оборудования и операционных систем.

checkmk поставляется в виде пакета программного обеспечения, включающего такие базовые сервисы, как Apache, Nagios или Cron.

В этой статье я установлю 1.6.0p7 raw edition из пакета RPM на CentOS 8.

Установим сервер checkmk на CentOS 8 из пакета RPM

Предварительные требования

Настройте брандмауэр, чтобы разрешить доступ к HTTP-серверу с помощью checkmk WebGUI:

 firewall-cmd --add-service http --permanent
success
 firewall-cmd --reload
success

Если вы включили SELinux в режиме Enforcing, разрешите HTTP-серверу с checkmk WebGUI подключаться к сети посредством включения приведенной ниже логической переменной SELinux (добавьте параметр -P, чтобы значение логической переменной сохранялось при перезагрузке):

# setsebool -P httpd_can_network_connect on

Установите пакет graphviz-gd из репозитория PowerTools, необходимый для checkmk:

# dnf --enablerepo=PowerTools install graphviz-gd

1. Скачайте пакет RPM checkmk:

 wget https://checkmk.com/support/1.6.0p7/check-mk-raw-1.6.0p7-el8-38.x86_64.rpm
2. Установите скачанный RPM пакет:
# dnf localinstall check-mk-raw-1.6.0p7-el8-38.x86_64.rpm
3. Создайте экземпляр мониторинга (от root) с вашим предпочтительным именем
# omd create wcss
Adding /opt/omd/sites/wcss/tmp to /etc/fstab.
Creating temporary filesystem /omd/sites/wcss/tmp...OK
Restarting Apache...OK
Created new site wcss with version 1.6.0p7.cre.

  The site can be started with omd start wcss.
  The default web UI is available at http://chronos/wcss/

  The admin user for the web applications is cmkadmin with password: ugvR3qzw
  (It can be changed with 'htpasswd -m ~/etc/htpasswd cmkadmin' as site user.
)
  Please do a su - wcss for administration of this site.
Сохраните учетные данные администратора и адрес веб-интерфейса!
4. Запустите инструмент:
# omd start wcss
Starting mkeventd...OK
Starting rrdcached...OK
Starting npcd...OK
Starting nagios...OK
Starting apache...OK
Initializing Crontab...OK
5. Проверьте доступ к WebGUI
Теперь давайте проверим, можем ли мы войти в панель управления check_mk.
Откройте URL-адрес check_mk WebGUI в вашем веб-браузере:
 http://check_mk-server-ip/wcss/ 
Когда вы увидите экран входа в систему checkmk, используйте учетные данные по умолчанию, указанные в пункте 3 (cmkadmin/ugvR3qzw), чтобы войти в панель управления:
Пример экрана панели мониторинга checkmk, сразу после входа в систему:
Мы успешно установили сервер checkmk.
checkmk может взаимодействовать с контролируемыми хостами по протоколу SNMP, однако для связи с сервером быстрее и удобнее использовать специальный агент, называемый checkmk agent.

Более того, инструмент поставляется из коробки с программным обеспечением агента в форматах RPM и DEB для дистрибутивов RHEL и Debian, поэтому я собираюсь использовать его для установки агента checkmk на моем первом контролируемом хосте, который является сервером Fedora 30.

Установка агента checkmk на Fedora 30 Server из пакета RPM

Стандартный репозиторий Fedora включает RPM-пакет агента checkmk, но он немного устарел, поэтому я собираюсь скачать новейшие RPM-пакеты прямо из моего checkmk WebGUI.

RPM пакет агента (и многое другое) можно найти в разделе «Monitoring Agents » в меню «WATO – CONFIGURATION» (левая боковая панель):

1. Получите RPM агента прямо из вашего веб-интерфейса checkmk.
Войдите на контролируемый хост и загрузите RPM-пакет агента checkmk с помощью wget:
wget http://check_mk-server-ip/wcss/check_mk/agents/check-mk-agent-1.6.0p7-1.noarch.rpm

2. Установите агент checkmk из загруженного RPM

dnf localinstall check-mk-agent-1.6.0p7-1.noarch.rpm

3. Установите пакет сервера xinetd

Чтобы избежать постоянного использования ресурсов (ЦП, ОЗУ) на отслеживаемом хосте, агент checkmk запускается как служба xinetd (а не как демон systemd), поэтому ему необходимо установить и настроить службу xinetd на отслеживаемом агенте host.kmk из загруженного RPM

dnf install xinetd

4. Откройте TCP порт 6556 на брандмауэре

Агент checkmk перенаправляет свой вывод через сокет xinetd на порт 6556 / TCP, поэтому мы должны открыть его на брандмауэре (мой интерфейс xinetd принадлежит к зоне public):

firewall-cmd --zone public --add-port 6556/tcp --permanent
success
firewall-cmd --reload
success

5. Протестируйте проверку подключения агента checkmk

Теперь проверьте подключение к контролируемому хосту с сервера checkmk с помощью простой команды telnet:

# telnet phobos 6556 | head -n 10
Trying 192.168.1.1...
Connected to phobos.
Escape character is '^]'.

Version: 1.6.0p7
AgentOS: linux
Hostname: phobos
AgentDirectory: /etc/check_mk
DataDirectory: /var/lib/check_mk_agent
SpoolDirectory: /var/lib/check_mk_agent/spool

Добавим контролируемый хост в checkmk

1. Создайте новую папку, чтобы помочь классифицировать отслеживаемые хосты

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

В разделе «Hosts» нажмите «Create new folder»:

Введите хотя бы название новой папки.

Я создаю папку KVM для хранения здесь всех виртуальных машин, работающих на моем гипервизоре KVM.

Заполните как минимум два поля, чтобы добавить новый хост:

  • BASIC SETTINGS -> Hostname
  • NETWORK ADDRESS -> IPv4 Address

Наконец, нажмите Save & Test.

Теперь checkmk попытается установить связь с новым хостом, используя доступные методы связи, например, связь с клиентом checkmk или стандартный протокол SNMP.

Мой новый добавленный хост использует клиент checkmk вместо клиентов SNMP, поэтому только связь типа Ping и Agent была успешной:

Теперь нажмите на ссылку service discovery на зеленой панели, и вы будете перенаправлены прямо на экран сервисов хоста, где checkmk выполнит полную проверку доступных сервисов на хосте.

После перевода необходимых сервисов в состояние «monitored», нажмите на оранжевую кнопку changes в верхнем левом углу, чтобы применить все  изменения, которые мы сделали:
Мы успешно добавили новый контролируемый хост в систему мониторинга checkmk.

Включить почтовые уведомления на основе правил с сервера checkmk

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

ВАЖНО: checkmk не включает механизм SMTP релэй для отправки почты, поэтому необходимо настроить SMTP-ретранслятор (промежуточный узел / нулевой клиент) на базовом сервере, чтобы получать уведомления по электронной почте от checkmk. Для настройки узла ретрансляции вы можете использовать Postfix, Sendmail, Exim или любое другое программное обеспечение, которое можно настроить как нулевой клиент.
В приведенной ниже процедуре мы включаем уведомления по электронной почте на основе правил, которые можно использовать для уведомления только определенной группы пользователей.
Это полезно, если определенные группы хостов влияют только на определенные группы пользователей, и мы не хотим отправлять уведомления о конкретном хосте всем пользователям.
1. Измените профиль пользователя
Перейдите в раздел «Users» в меню левой панели, отредактируйте свой профиль пользователя и убедитесь, что у вас настроен действительный адрес электронной почты:

2. Измените правило уведомления

Перейдите в раздел «Notifications » в меню левой панели, там уже есть предопределенное правило, поэтому я собираюсь улучшить существующее, но вы, конечно, можете создать новое, если это необходимо.

Отредактируйте правило и добавьте необходимых пользователей в раздел CONTACT SELECTION, чтобы они могли получать уведомления:

Далее, сопоставьте типы событий хоста в разделе CONDITIONS в соответствии с вашими предпочтениями:
Наконец, нажмите на кнопку Save.

Не забудьте нажать оранжевую кнопку «Change» в верхнем левом углу, чтобы применить ожидающие изменения.

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

Настроим резервный адрес электронной почты для уведомлений

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

Перейдите в меню «Global Settings» на левой панели и введите резервный адрес электронной почты для уведомлений в разделе NOTIFICATIONS:

Опять же, не забудьте нажать оранжевую кнопку «Change» в левом верхнем углу, чтобы применить  изменения.
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий