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
Добавить комментарий

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