Мониторинг журнала доступа (access.log) веб-сервера NGINX является важной частью обеспечения безопасности и эффективности работы вашего веб-сайта. В этой статье мы рассмотрим настройку мониторинга конкретных статус-кодов в журнале доступа NGINX с использованием Zabbix.
Требования
Убедитесь, что у вас установлен Zabbix версии 5 или выше.
Особенности настройки
- Мониторинг только access.log: Мы сосредотачиваемся исключительно на мониторинге журнала доступа (access.log).
- Фильтрация данных: При обработке журнала мы фильтруем все данные, оставляя только информацию о статус-кодах.
- Вычисляемые элементы данных: Мы создаем вычисляемые элементы данных, которые подсчитывают количество конкретных статус-кодов за определенный период времени. В шаблоне это указано макросом {$NGINX.STATUS_CODE_CHECK.PERIOD}, который по умолчанию равен 10 минутам.
- Отсутствие триггеров: В данной конфигурации не используются триггеры.
Реализация
Для того чтобы Zabbix-агент мог читать журналы, предоставьте ему соответствующие права. Посмотрите, какие группы уже имеют доступ:
ls -l /var/log/nginx/
Обычно, это одна из следующих групп: www-data, nginx, adm. Добавим пользователя zabbix в группу adm:
usermod -a -G adm zabbix
После внесения изменений в права доступа пользователя zabbix, перезапустите Zabbix-агент:
systemctl restart zabbix-agent
Теперь скачайте и импортируйте XML-шаблон для мониторинга: