Мониторинг Nginx с помощью Zabbix

Nginx – веб-сервер, который используется для статического контента, обратного прокси или балансировки нагрузки веб-трафика.
Nginx известен своей надежностью, гибкостью и высокой производительностью.
Как и с любым сервером, важно контролировать что Nginx функционирует должным образом, и решать любые проблемы, которые могут с ним возникнуть.

Ознакомиться с тарифами VPS хостинга можно тут

Подготовка

Прежде чем мы начнем изучать процесс мониторинга Nginx с помощью Zabbix, необходимо убедиться, что у нас есть все необходимое:
 • Сервер с установленным Nginx, за которым вы хотите наблюдать

 • Запущенный сервер Zabbix
 • Установленный и настроенный агент Zabbix на сервере, на котором работает Nginx.

Настройка Nginx

Откройте файл /etc/nginx/conf.d/stub_status.conf любым удобным вам редактором и вставьте следующий текстовый блок:

server {
    listen 127.0.0.1:80;
    server_name 127.0.0.1;
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }

    location = /basic_status {
        stub_status;
        allow 127.0.0.1;
        allow ::1;
        deny all;
    }
}


Эти настройки позволят серверу генерировать базовую информацию о состоянии на странице /basic_status, доступной только с этого же сервера, чтобы наш агент мог получить ее.
Теперь давайте проверим, работает ли процесс Nginx с новыми настройками, выполнив следующие команды:
Проверка правильности конфигурации:

nginx -t

Перезагрузка веб сервера nginx:

systemctl restart nginx

Затем давайте проверим, работает ли новая страница состояния с помощью curl:

curl http://127.0.0.1/basic_status

Zabbix проверка nginx

Настройка логов веб сервера Nginx

Вы должны проверить, генерирует ли Nginx необходимые для Zabbix логи в файле /etc/nginx/nginx.conf
Zabbix Nginx проверка логов
Для того, что бы Zabbix мог работать с логами, необходимо закомментировать строки access_log, error_log и вставить следующие строки:

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
error_log /var/log/nginx/error.log notice;
access_log /var/log/nginx/access.log main;

После внесенных правок перезагружаем веб сервера nginx:

systemctl restart nginx
Настройка Zabbix

Предполагая, что все предыдущие инструкции выполнены, теперь необходимо создать хост для этого сервера и добавить к нему Nginx с помощью шаблона Zabbix agent, или добавить его к уже существующему.
Назначьте шаблон хосту с установленным Nginx, перейдя в Configuration → Hosts → Выберите хост → Templates → Add.
настройка Zabbix
Если все правильно, вы сможете работать с данными стандартного шаблона:

  • Общие показатели: использование процессора и памяти, количество открытых подключений к серверу.
  • Метрики запросов: среднее время отклика на запрос, процент запросов, приводящих к ошибке, количество запросов, обрабатываемых Nginx в секунду.
  • Метрики SSL: количество обработанных Nginx рукопожатий в секунду, количество поддерживаемых Nginx шифров и количество ошибок сертификатов, с которыми сталкивается Nginx.
  • Время работы: отслеживает, как долго Nginx работает без простоев.

Мониторинг Nginx с помощью Zabbix

  • 129 Пользователи нашли это полезным

Помог ли вам данный ответ?

Ищете что-то другое?

mhost.by