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

Конфигурация nginx

На самом сервере нужно включить вывод статистики. Для этого редактируем стандартный файл /etc/nginx/nginx.conf или добавляем новый /etc/nginx/conf.d/stat.conf.

  1. Создаём конфиг файл
    sudo vim /etc/nginx/conf.d/stat.conf
    
    server {
     listen 80 default_server;
    
     location /nginx_status {
         stub_status on;
         # С каких адресов давать доступ
         allow 127.0.0.1;
         # Всем остальным запретить
         deny all;
     }
    }
    
  2. Применяем новую конфигурацию
    sudo nginx -t
    sudo nginx -s reload
    
  3. Проверяем страницу со статистикой
    sudo curl http://127.0.0.1/nginx_status 
    

Настройка metricbeat

  1. Включаем модуль
    sudo metricbeat modules enable nginx
    
  2. Настраиваем модуль
    sudo vim /etc/metricbeat/modules.d/nginx.yml
    
    - module: nginx
      period: 300s
      # Nginx hosts
      hosts: ["http://127.0.0.1"]
      # Path to server status. Default server-status
      server_status_path: "nginx_status"
    
  3. Перезапускаем metricbeat
    sudo systemctl restart metricbeat
    

Просмотр bashboard

В итоге, при открытии dashboard nginx должны получить примерно следующую картину.

enter image description here

Про то как импортировать dashboard я писал ранее про metricbeat.