10分钟快速使用Prometheus监控nginx

配置 Nginx 以输出监控数据

  1. 修改 Nginx 配置
    在 Nginx 配置文件 /etc/nginx/nginx.conf 中的 server 块添加如下配置:

    location /stub_status {
        stub_status on;
        access_log off;
        allow 0.0.0.0/0;
        deny all;
    }
    
  2. 重启 Nginx
    通过命令重启 Nginx 服务:

    systemctl restart nginx
    
  3. 检查 Nginx 服务状态
    查看 Nginx 服务的当前状态:

    systemctl status nginx
    

安装与配置 Nginx Prometheus Exporter

  1. 下载二进制文件
    使用 wget 命令下载 nginx-prometheus-exporter

    wget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v0.11.0/nginx-prometheus-exporter_0.11.0_linux_amd64.tar.gz
    
  2. 创建目录并解压文件
    在指定位置创建目录并解压:

    mkdir -p /opt/prometheus/nginx_exporter
    tar xvf nginx-prometheus-exporter_0.11.0_linux_amd64.tar.gz -C /opt/prometheus/nginx_exporter
    
  3. 检查解压内容
    确认文件已正确解压:

    ls -l /opt/prometheus/nginx_exporter
    
  4. 创建运行用户
    为运行服务创建专用用户:(如果有就不需要执行了)

    useradd -M -s /usr/sbin/nologin prometheus
    
  5. 更改文件权限
    将文件目录的所有权转给新用户:

    chown -R prometheus:prometheus /opt/prometheus
    
  6. 创建 systemd 服务文件
    编写并保存 systemd 服务配置:(注意替换IP和端口)

    [Unit]
    Description=nginx-prometheus-exporter
    After=network.target
    
    [Service]
    Type=simple
    User=prometheus
    Group=prometheus
    Restart=always
    ExecStart=/opt/prometheus/nginx_exporter/nginx-prometheus-exporter -nginx.scrape-uri=http://XXXXXX:port/stub_status
    
    [Install]
    WantedBy=multi-user.target
    
  7. 启动与设置服务
    启动并设置开机自启:

    systemctl daemon-reload
    systemctl start nginx_exporter.service
    systemctl enable nginx_exporter.service
    
  8. 检查服务状态
    验证服务是否正常运行:

    systemctl status nginx_exporter.service
    
  9. 查看服务日志
    如果遇到问题,可以通过日志调试:

    journalctl -u nginx_exporter.service -f
    

配置 Prometheus 监控

  1. 修改 Prometheus 配置文件
    编辑 Prometheus 的配置文件以添加监控任务:

    - job_name: 'nginx_exporter'      
      static_configs: 
      - targets: ['10.40.111.41:9113'] 
        labels:                        
          instance: 'Application Server -1 (10.40.111.41)'
    
  2. 配置警报规则
    在规则文件中添加 Nginx 监控警报:
    vim /opt/prometheus/rules/nginx.rules.yml

    - name: nginx
      rules:
      - alert: NginxDown
        expr: nginx_up == 0
        for: 30s
        labels:
          severity: critical
        annotations:
          summary: "nginx异常,实例:{{ $labels.instance }}"
          description: "{{ $labels.job }} nginx已关闭"
    
  3. 检查警报配置文件
    确认警报配置无误:

    /opt/prometheus/alertmanager/amtool check-config /opt/prometheus/alertmanager/alertmanager.yml
    
  4. 重新加载 Prometheus 配置
    通过 API 重新加载 Prometheus 配置:

    curl -X POST http://localhost:9090/-/reload
    

Grafana添加Nginx监控模板

										**这里使用Nginx的模板ID:11199**
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ascarl2010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值