Zabbix — Мониторинг логов

Zabbix — Мониторинг логов

Задача

Требуется мониторить логи Centos 7 /var/log/messages на предмет записи «Out of memory: Kill process»

Подготовка сервера, который мы будем мониторить

Добавляем файл /var/log/messages в группу zabbix и назначить на него права доступа 640

[root@localhost]# chown root:zabbix /var/log/messages
[root@localhost]# chmod 0640 /var/log/messages

Проверяем настройки zabbix agent.

Server = ip-адрес Zabbix Server
ServerActive = ip-адрес Zabbix Server
Hostname = Такое же имя, как прописано в вэб интерфейсе Zabbix Server (Настройки - Узлы сети)

Настройка мониторинга в Zabbix

Настройки — Узлы сети — выбираем наш сервер, на котором мы будем мониторить логи.

Добавляем новую группу элементов данных:
Переходим во вкладку «Группы элементов данных», нажимаем «Создать группу элементов данных», я назвал ее log.

Добавляем новый элемент данных:
Переходим во вкладку «Элементов данных», нажимаем «Создать элемент данных»

Имя: log_messages
Тип: Zabbix агент (активные)
Ключ: log[/var/log/messages,"Out of memory: Kill process","UTF-8",100]
Тип информации: Журнал (лог)
Группы элементов данных: log

Добавляем новый триггер:
Переходим во вкладку «Триггеры», нажимаем «Создать триггер»

Имя: cl-gc-geoserver-01:log_messages:Kill_process
Важность: Высокая
Выражение: {cl-gc-geoserver-01:log[/var/log/messages,"Out of memory: Kill process","UTF-8",100].str(Kill,30)}=1 and {cl-gc-geoserver-01:log[/var/log/messages,"Out of memory: Kill process","UTF-8",100].nodata(30)}=0

Триггер срабатывает при наличии строки Kill в пересылаемых данных и отключается через 30 секунд отсутствия новых данных.

UPD 03.04.2019

Бывают случаи, когда в элементах данный узла сети висит сообщение

zabbix cannot open file /var/log/messages 13 permission denied

И из-за этого элемент данных не активен, следовательно логи не приходят на почту

Это случается из-за следующих моментов:

  • SeLinux блокирует zabbix-agent
  • права доступа на файл /var/log/messages принадлежат пользователю root

Что бы добавить zabbix-agent в исключение для SeLinux, устанавливаем утилиту policycoreutils

[root@localhost]# yum install policycoreutils-python

И выполняем команду

[root@localhost]# semanage permissive -a zabbix_agent_t

После этого надо перезапустить zabbix-agent

[root@localhost]# systemctl restart zabbix-agent

Что бы открыть доступ для zabbix-agent на чтение файла /var/log/messages, изменим права доступа

[root@localhost]# chown root:zabbix /var/log/messages

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.