Nginx中的自建状态页可用于监控Nginx状态。您可使用Telegraf采集Nginx监控数据,再通过日志服务Logtail将Telegraf数据上传到MetricStore中,搭建Nginx可视化监控方案。本文介绍如何通过日志服务来完成Nginx监控数据的采集和可视化。

前提条件

已在服务器上安装Logtail(Linux Logtail 0.16.50及以上版本)。更多信息,请参见安装Logtail(Linux系统)

步骤1:配置Nginx Status模块

  1. 执行以下命令确认Nginx已具备Status功能
    nginx -V 2>&1 | grep -o with-http_stub_status_module
    with-http_stub_status_module 

    如果回显信息为with-http_stub_status_module,表示支持Status功能。

  2. 配置Nginx Status模块。
    在Nginx配置文件(默认为/etc/nginx/nginx.conf)中配置Status模块,配置示例如下所示。更多信息,请参见Nginx Status
         location /private/nginx_status {
           stub_status on;
           access_log   off;
           allow 192.0.2.1;
           deny all;
         }                       
    • /private/nginx_status表示Nginx Status模块的URI,请根据实际情况替换。
    • allow 192.0.2.1表示只允许IP地址为192.0.2.1的服务器访问Nginx Status模块,请根据实际情况替换。
  3. 执行如下命令验证安装Logtail的服务器具备Nginx Status模块访问权限。
    $curl http://192.0.2.1/private/nginx_status
    如果回显信息如下所示,则表示已完成Nginx Status模块配置。
    Active connections: 1
    server accepts handled requests
    2507455 2507455 2512972
    Reading: 0 Writing: 1 Waiting: 0                       

步骤2:接入数据

  1. 登录日志服务控制台
  2. 接入数据区域,选择Nginx监控
  3. 选择日志空间页签中,选择目标Project和MetricStore,单击下一步
    您也可以单击立即创建,重新创建Project和MetricStore。更多信息,请参见创建Project创建MetricStore
  4. 创建机器组页签中,创建机器组。
    • 如果您已有可用的机器组,请单击使用现有机器组
    • 如果您还没有可用的机器组,请执行以下操作(以ECS为例):
      1. 选择ECS实例安装Logtail。更多信息,请参见安装Logtail(ECS实例)
        如果已在ECS上安装Logtail,请单击确认安装完毕
        说明 如果是自建集群、其他云厂商服务器,需要手动安装Logtail。更多信息,请参见安装Logtail(Linux系统)
      2. 安装完成后,单击确认安装完毕
      3. 创建机器组。

        如何创建机器组,请参见创建IP地址机器组创建用户自定义标识机器组

  5. 机器组配置页签中,应用机器组。
    选择一个机器组,将该机器组从源机器组移动到应用机器组
  6. 数据源设置页签中,配置如下参数,然后单击下一步
    参数名称 说明
    配置名称 Logtail配置名称。
    集群名称 集群名称。配置该参数后,日志服务会为您的数据添加cluster=集群名的标签。
    说明 请确保该集群名称唯一,否则可能出现数据冲突。
    服务器列表 单击+,添加Nginx服务器信息,相关配置项如下所示:
    • 地址:Nginx服务器的连接地址。
    • 端口:Nginx服务器的连接端口号。
    • Path:Nginx Status模块的URI,例如/private/nginx_status。如何配置Nginx Status模块,请参见步骤1:配置Nginx Status模块

    您可以根据业务需求,添加多台Nginx服务器信息。

    自定义标签 一个MetricStore下可创建多个Logtail配置,您可以使用自定义标签为通过该Logtail配置采集到的数据添加标签。

    单击+,添加自定义标签,支持添加多个标签。添加的标签将加入到每一条数据中。

常见问题

如何查看Telegraf采集是否正常?

您可以在服务器上查看/etc/ilogtail/telegraf/telegraf.log文件中记录的日志进行判断,还可以将该日志采集到日志服务中进行查询。

后续步骤

  • 查询分析

    配置完成后,Telegraf将采集到的监控数据通过Logtail上传到日志服务MetricStore中。您可以在MetricStore查询分析页面进行查询分析操作。更多信息,请参见查询分析时序数据

  • 可视化

    配置完成后,日志服务自动在对应Project中生成名为Nginx监控_集群名称的仪表盘,您可以直接使用该仪表盘,还可以进行告警设置等操作。