Nginx中的自建状态页可用于监控Nginx状态。您可使用Telegraf采集Nginx监控数据,再通过日志服务Logtail将Telegraf数据上传到MetricStore中,搭建Nginx可视化监控方案。本文介绍如何通过日志服务来完成Nginx监控数据的采集和可视化。
步骤1:配置Nginx Status模块
- 执行以下命令确认Nginx已具备Status功能。
nginx -V 2>&1 | grep -o with-http_stub_status_module
with-http_stub_status_module
如果回显信息为with-http_stub_status_module,表示支持Status功能。
- 配置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模块,请根据实际情况替换。
- 执行如下命令验证安装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:接入数据
- 登录日志服务控制台。
- 在接入数据区域,选择Nginx监控。
- 在选择日志空间页签中,选择目标Project和MetricStore,单击下一步。
- 在创建机器组页签中,创建机器组。
- 在机器组配置页签中,应用机器组。
选择一个机器组,将该机器组从源机器组移动到应用机器组。
- 在数据源设置页签中,配置如下参数,然后单击下一步。
参数名称 |
说明 |
配置名称 |
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文件中记录的日志进行判断,还可以将该日志采集到日志服务中进行查询。