05 . Prometheus监控Nginx
1|0List
节点名 | IP | 软件版本 | 硬件 | 网络 | 说明 |
---|---|---|---|---|---|
Prometheus | 192.168.0.106 | list 里面都有 | 2C4G | Nat,内网 | 测试环境 |
Nginx | 192.168.0.107 | list 里面都有 | 2C4G | Nat,内网 | 测试环境 |
2|0部署Prometheus
部署Promehteus请看我前面写的文章
https://www.cnblogs.com/you-men/p/12839535.html
3|0部署Nginx
3|1三个模块
3|2Nginx-module-vts模块编译
3|3部署nginx-module-vts
3|4配置nginx.conf
3|5配置建议
1 . 打开vhost过滤:
vhost_traffic_status_filter_by_host on;
开启此功能,在Nginx配置有多个server_name的情况下,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个server_name上2 . 在不想统计流量的server区域禁用vhost_traffic_status,配置示例:
假如nginx没有规范配置server_name或者无需进行监控的server上,那么建议在此vhost上禁用统计监控功能。否则会出现“127.0.0.1”,hostname等的域名监控信息。
3|6查看监控数据
安装完vts模块后,可以通过nginx status接口进行监控数据的查看,比如:http://127.0.0.1/status:
4|0配置Nginx-vts-exporter
exporter会收集nginx性能指标的JSON格式数据,并汇总后暴露监控接口给Prometheus。
它的安装使用很简单,开箱即用
4|1下载软件包
4|2配置运行
4|3将node exporter配置到prometheus里
5|0配置Grafana
此处我们拿prometheus做例子,虽然说prometheus能展示一些图表,但对比Grafana,那只是过家家,接下来我们在同一个服务器安装Grafana服务,用来展示prometheus收集到的数据
5|1下载并解压安装包
5|2创建grafana用户及数据存放目录
5|3修改配置文件
5|4把grafana-server添加到systemd中
启动服务,并用web访问http://IP:3000,默认3000端口,admin/admin
5|5添加数据源
5|6添加nginx模板
6|0配置GeoIP模块
6|1通过vts自定义key
通过以上部署只能拿到默认的指标,生产中可能还会需要监控uri的请求量,监控IP访问情况(同一个IP出现大量访问时可能被攻击),获取不同agent请求量用于分析等,通过vts模块的vhost_traffic_status_filter_by_set_key功能可以自定义需要获取的指标。此处的指标需要加到对应的server配置中.
__EOF__

本文链接:https://www.cnblogs.com/you-men/p/13173245.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!