• 监控内容
  • 快速开始
    • 1. 确认 nginx stub status module 被打开
    • 2. 配置 nginx,确保 stub status 能被访问到
    • 3. 在七牛应用市场打开 Grafana 应用,然后按照下图所示的配置:
    • 4. 导入 Grafana dashboard 配置文件

    运维监控 — nginx metric 的监控搭建

    nginx 是现代 web 服务栈中最重要的组件之一,本文主要介绍通过 telegraf 和 Pandora TSDB 来收集 nginx 的 metric 数据。

    监控内容

    本文假设 nginx 的版本为开源版本的 nginx

    • accepts
    • active
    • handled
    • reading
    • writing
    • waiting
    • requests

    商业版本的 nginx 有更多的 metric 数据

    快速开始

    1. 确认 nginx stub status module 被打开

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

    如果这条命令的输出为with-http_stub_status_module,那么表示该 nginx 是支持 stub status module 的。

    如果这条命名没有任何输出,那么需要重新编译 nginx

    1. ./configure \
    2. ... \
    3. --with-http_stub_status_module
    4. make
    5. sudo make install

    2. 配置 nginx,确保 stub status 能被访问到

    添加配置

    1. server {
    2. location /nginx_status {
    3. stub_status on;
    4. access_log off;
    5. allow 127.0.0.1;
    6. deny all;
    7. }
    8. }

    !> 注意:server字段一般不写在 nginx 的主配置文件中(比如:/etc/nginx/nginx.conf),而是写在子配置文件中,通过在主配置文件中include的方式引入。

    1. nginx -t

    可以找到主配置文件的位置

    打开主配置文件,找到类似include /etc/nginx/conf.d/*.conf;的字样,然后找到任一配置文件,按照上述 server 的配置进行修改

    最后执行

    1. nginx -s reload
    1. $ curl http://localhost/nginx_status
    2. Active connections: 2
    3. server accepts handled requests
    4. 34 34 741
    5. Reading: 0 Writing: 1 Waiting: 1

    看到以上字样说明配置成功。

    3. 在七牛应用市场打开 Grafana 应用,然后按照下图所示的配置:

    nginx metric性能监控 - 图1

    注意事项:

    nginx metric性能监控 - 图2

    4. 导入 Grafana dashboard 配置文件

    下载 Grafana dashboard 配置文件

    1. wget http://orzfblcum.bkt.clouddn.com/NGINX.json

    将下载的 dashboard 导入 Grafana

    nginx metric性能监控 - 图3

    完成!