社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

Nginx 集群监控系统——Nginx+Telegraf+Influxb+Grafana

马哥Linux运维 • 2 年前 • 360 次点击  


搭建了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的监控,非常方便。

链接:https://www.cnblogs.com/tianqing/p/7745436.html

(版权归原作者所有,侵删)


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/140576
 
360 次点击