1.检查nginx是否支持状态展示,

如果在终端中输出 with-http_stub_status_module ,则说明 Nginx 已启用 tub_status 模块。

nginx -V 2>&1 | grep -o with-http_stub_status_module

 

2.配置nginx.conf

server { 
    location /metrics {
        stub_status on;
    }
}

 

3.运行nginx exporter,这里的【目标nginxIP:端口】需要替换为nginx的ip:port

sudo docker run -d --name=prometheus_nginx \
  -p 9113:9113 \
  nginx/nginx-prometheus-exporter:0.10.0 \
  -nginx.scrape-uri=目标nginxIP:端口/metrics \
  -web.telemetry-path=/metrics

 

4.修改prometheus配置文件prometheus.yml,这里的【第三部配置的容器ip】替换为第三步创建的容器ip。

scrape_configs:
  - job_name: ‘nginx exporter’
    scrape_interval: 5s
    static_configs:
      - targets: ['第三部配置的容器ip:9113']

 

到此所有设置已完成,重启Prometheus后可以在查询输入框输入nginx,即可看到多个多个相关指标。

关于更多Prometheus相关知识参考官网:Getting started | Prometheus