⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 cnblogs.com/tianqing/p/7745436.html 「Eric Zhou」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

搭建了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配置文件:在Server章节中增加:

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

Reload 重启 Nginx,查看Nginx-Status

输出信息的说明:

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/

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

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

增加对Nginx的监控

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

Grafana集成Nginx监控

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

  • 数据源:Influxdb

  • FROM:nginx

  • SELECT:field(accepts)

展现效果:

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

文章目录
  1. 1. Nginx启用nginx-status功能
  2. 2. Telegraf安装配置Nginx监控
  3. 3. Grafana集成Nginx监控