日常生产环境搭建了Nginx集群后,就需要继续深入研究的就是日常Nginx监控。

Nginx如何监控?相信百度就可以找到:nginx-status

通过Nginx-status,实时获取到Nginx监控数据后,如何和现有监控系统集成?一个很好的解决方案:

Nginx+Telegraf+Influxdb+Grafana

即通过Telegraf监控插件定时收集Nginx的监控状态,存储到时序数据库Influxdb中,然后通过Grafana展现即可。


一、Nginx启用nginx-status功能

源码编译安装的nginx,那么需要在编译的时候加上对应的模块

./configure --with-http_stub_status_module

使用 ./configure --help 能看到更多的模块支持。然后编译安装即可。

如果是直接 apt-get install 安装的 nginx,那么使用命令来查看是否支持 stub_status 这个模块。

如下命令: nginx –V 看看是否有 --with-http_stub_status_module 这个模块。

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第1张图片


修改Nginx配置文件:在Server章节中增加:

location /nginx-status {
       allow 127.0.0.1; //允许的IP
       deny all;
       stub_status on;
       access_log off;}

Reload 重启Nginx,查看Nginx-Status

ca778a22f9bb4849adac1cc1b7400156


输出信息的说明:

active connections – 活跃的连接数量server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.


二、Telegraf安装配置Nginx监控

关于Telegraf的安装,请参考官方介绍

https://www.influxdata.com/time-series-platform/telegraf/

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第2张图片


wget https://dl.influxdata.com/telegraf/releases/telegraf-1.4.3-1.x86_64.rpmsudo yum localinstall telegraf-1.4.3-1.x86_64.rpm

然后,在配置文件teldgraf.conf中配置Influxdb连接

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第3张图片


增加对Nginx的监控

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第4张图片


配置完成,重启telegraf服务即可。


三、Grafana集成Nginx监控

Grafana中支持Influxdb数据源,配置上上个步骤的Influxdb数据源之后,我们定制Nginx监控图表:

数据源:Influxdb

FROM:nginx

SELECT:field(accepts)

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第5张图片


用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第6张图片


展现效果:

用Nginx+Telegraf+Influxb+Grafana构建高b格Nginx集群监控系统_第7张图片


以上我们通过Nginx+Telegraf+Influxb+Grafana,实现了Nginx的监控,非常方便。

你们在日常实际生产环境对Nginx的状态监控使用的是何种技术?

最新整理的Java技术干货文档资料:【Java核心知识点整理】涵盖29个Java核心技术详解,JVM,Redis,Nginx,Spring Boot,Spring Cloud,Kafka,并发编程,Tomcat,MyBatis,BAT面试题,Java技术精讲视频等。转发+关注,加我VX【tkzl6666】即可获得免费领取方式。

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。