nginx-prometheus-exporterをインストールする
nginx公式のPrometheus用exporterをインストールする
nginxinc/nginx-prometheus-exporter
まずnginxのstub_statusモジュールを有効にする
Module ngx_http_stub_status_module
code:/etc/nginx/sites-enabled/default
server {
(略)
location /stub_status {
stub_status on;
}
(略)
}
nginx再起動
curlが成功すればOK
code:cmd.sh
sudo systemctl reload nginx.service
curl https://staging.gosyujin.com/stub_status
code:bash
Active connections: 1
server accepts handled requests
1473 1473 2403
Reading: 0 Writing: 1 Waiting: 0
nginx-prometheus-exporterをインストールしてサービス起動
code:cmd.sh
wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v0.4.2/nginx-prometheus-exporter-0.4.2-linux-amd64.tar.gz
tar zxvf nginx-prometheus-exporter-0.4.2-linux-amd64.tar.gz
sudo mv nginx-prometheus-exporter /usr/local/
code:cmd.sh
sudo vi /lib/systemd/system/nginx-prometheus-exporter.service
-nginx.scrape-uriに上記で設定したstub_statusのURLを記載する
code:/lib/systemd/system/nginx-prometheus-exporter.service
Unit
Description=nginx for Prometheus
Service
Restart=always
User=prometheus
ExecStart=/usr/local/nginx-prometheus-exporter -nginx.scrape-uri ホスト/stub_status
ExecReload=/bin/kill -HUP $MAINPID
TimeoutStopSec=20s
SendSIGKILL=no
Install
WantedBy=multi-user.target
code:cmd.sh
sudo systemctl enable nginx-prometheus-exporter.service
sudo systemctl start nginx-prometheus-exporter.service
sudo ufw allow 9113/tcp
Prometheusに監視対象を追加
code:cmd.sh
sudo vi /etc/prometheus/prometheus.yml
code:/etc/prometheus/prometheus.yml
(略)
- job_name: nginx
metrics_path: '/metrics'
scheme: http
static_configs:
- targets: [
'ホスト:ポート'
]
Prometheus再起動
code:cmd.sh
sudo systemctl reload prometheus