2024年最全用Prometheus对Nginx监控_promethuesji安控nginx是否存活(1),2024年最新2024春招面试



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
2.编译配置
在nginx编译时添加vts模块
–add-module=/path/to/nginx-module-vts
下载官方的软件包并编译进vts模块,例如:
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_sysguard_module --add-module=nginx-module-vts
3.安装:
make && make install
二、Nginx Conf配置
更改Nginx Conf的配置,添加监控接口/status/:
http {
vhost_traffic_status_zone;
vhost_traffic_status_filter_by_host on;
…
server {
…
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
配置建议:
1.打开vhost过滤:
vhost_traffic_status_filter_by_host on;
开启此功能,在Nginx配置有多个server_name的情况下,会根据不同的server_name进行流量的统计,否则默认会把流量全部计算到第一个server_name上。
2.在不想统计流量的server区域禁用vhost_traffic_status,配置示例:
server {
…
vhost_traffic_status off;
…
}
假如nginx没有规范配置server_name或者无需进行监控的server上,那么建议在此vhost上禁用统计监控功能。否则会出现“127.0.0.1”,hostname等的域名监控信息。
三、监控数据的查看
安装完vts模块后,可以通过nginx status接口进行监控数据的查看,比如:http://127.0.0.1/status:

在页面的最下方可以指定监控页面刷新的时间间隔,点击JSON,可以转为JSON格式输出。

三、nginx-vts-exporter的使用
exporter会收集nginx性能指标的JSON格式数据,并汇总后暴露监控接口给Prometheus。
它的安装使用很简单,开箱即用:
1、拉取镜像
docker pull sophos/nginx-vts-exporter:latest
2、在容器中运行镜像
docker run -ti --rm -p 9913:9913 --env NGINX_STATUS=“http://100.69.224.39/status/format/json” sophos/nginx-vts-exporter

推荐exporter和nginx安装在同一台机器上,如果不在同一台主机,把scrape_uri改为nginx主机的地址。
nginx_vts_exporter的默认端口号:9913,对外暴露监控接口http://xxx:9913/metrics.
四、Nginx的监控数据类型
nginx-vts-exporter的数据类型命名空间默认以“nginx”开头,主要有如下9个:
HELP是对监控条目的解释,TYPE的格式是:监控条目名称+Prometheus数据类型:
HELP nginx_server_bytes request/response bytes
TYPE nginx_server_bytes counter
HELP nginx_server_cache cache counter
TYPE nginx_server_cache counter
HELP nginx_server_connections nginx connections
TYPE nginx_server_connections gauge
HELP nginx_server_requestMsec average of request processing times in milliseconds
TYPE nginx_server_requestMsec gauge
HELP nginx_server_requests requests counter,可以区分状态码
TYPE nginx_server_requests counter
HELP nginx_upstream_bytes request/response bytes
TYPE nginx_upstream_bytes counter
HELP nginx_upstream_requestMsec average of request processing times in milliseconds
TYPE nginx_upstream_requestMsec gauge
HELP nginx_upstream_requests requests counter,可以区分状态码
TYPE nginx_upstream_requests counter


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐


所有评论(0)