尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

如何使用nginx-vts-exporter快速搭建Prometheus监控系统?

如何使用nginx-vts-exporter快速搭建Prometheus监控系统? 如何使用nginx-vts-exporter快速搭建Prometheus监控系统【免费下载链接】nginx-vts-exporterSimple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption项目地址: https://gitcode.com/gh_mirrors/ng/nginx-vts-exporternginx-vts-exporter是一款轻量级工具能够抓取Nginx vts模块的统计数据并通过HTTP接口暴露给Prometheus帮助用户构建完整的Nginx性能监控体系。本文将带你从环境准备到可视化配置快速掌握这套监控方案的搭建流程。 准备工作核心依赖与环境要求搭建Nginx监控系统前需确保环境中已安装以下组件Nginx需启用vts模块nginx-module-vtsPrometheus用于数据收集和存储Golang编译exporter源码时需要可选⚠️ 注意Nginx必须通过--add-modulepath/to/nginx-module-vts参数编译安装vts模块否则无法提供统计数据接口。⚡ 快速安装三种部署方式任选1️⃣ 直接下载二进制文件推荐新手从项目Releases页面下载对应系统的可执行文件解压后即可使用# 以Linux系统为例 wget https://github.com/sysulq/nginx-vts-exporter/releases/download/v0.10.7/nginx-vts-exporter-0.10.7.linux-amd64.tar.gz tar zxvf nginx-vts-exporter-0.10.7.linux-amd64.tar.gz cd nginx-vts-exporter-0.10.7.linux-amd642️⃣ Docker容器部署适合容器化环境直接拉取官方镜像并运行无需手动配置依赖docker pull sophos/nginx-vts-exporter:latest docker run -d -p 9913:9913 --name nginx-vts-exporter \ -e NGINX_STATUShttp://nginx-server-ip/status/format/json \ sophos/nginx-vts-exporter3️⃣ 源码编译适合开发或定制需求克隆仓库后使用make命令编译git clone https://gitcode.com/gh_mirrors/ng/nginx-vts-exporter cd nginx-vts-exporter make # 编译产物位于当前目录下的nginx-vts-exporter可执行文件 核心配置3步完成基础设置第1步配置Nginx vts模块修改Nginx配置文件通常为nginx.conf添加vts模块配置http { vhost_traffic_status_zone; vhost_traffic_status_filter_by_host on; server { location /status { vhost_traffic_status_display; vhost_traffic_status_display_format json; allow 127.0.0.1; # 限制仅本地访问 deny all; } } }重启Nginx后访问http://localhost/status/format/json应能看到JSON格式的统计数据。第2步启动nginx-vts-exporter根据安装方式选择对应启动命令二进制方式nohup ./nginx-vts-exporter -nginx.scrape_urihttp://localhost/status/format/json Docker方式已在安装步骤中包含启动命令如需自定义参数可添加环境变量-e METRICS_ADDR:9913 \ # 暴露指标的端口 -e METRICS_NSnginx \ # 指标命名空间 -e METRICS_ENDPOINT/metrics # 指标访问路径第3步配置Prometheus采集规则编辑Prometheus配置文件prometheus.yml添加如下jobscrape_configs: - job_name: nginx-vts static_configs: - targets: [localhost:9913] # exporter地址重启Prometheus后访问http://prometheus-ip:9090/targets确认采集目标状态为UP。 数据可视化Grafana仪表盘配置项目提供了开箱即用的Grafana仪表盘位于dashboard/nginx-vts-exporter.json支持展示以下核心指标服务器连接数活跃连接、读写状态、等待连接数请求统计按状态码2xx/3xx/4xx/5xx分类的请求量流量监控入站/出站流量趋势缓存状态缓存命中/未命中/过期等状态统计上游服务后端服务器响应时间、请求分布导入仪表盘步骤登录Grafana进入Dashboards Import上传nginx-vts-exporter.json文件或输入Grafana.com仪表盘ID2949选择Prometheus数据源完成导入 关键指标解析与实用场景核心监控指标指标类别指标名称说明连接状态nginx_server_connections按状态active/reading/writing/waiting统计连接数请求统计nginx_server_requests按HTTP状态码和域名统计请求量流量指标nginx_server_bytes按入站/出站方向统计流量字节数缓存性能nginx_server_cache缓存命中、未命中、过期等状态计数上游服务健康nginx_upstream_responseMsec后端服务器响应时间毫秒实用监控场景异常检测5xx状态码突增可能表示后端服务故障性能瓶颈waiting状态连接数过高可能意味着Nginx worker进程不足流量分析结合host标签识别高流量域名优化CDN策略缓存优化通过cache_miss指标调整缓存策略提升命中率⚙️ 高级配置环境变量与参数说明exporter支持通过命令行参数或环境变量进行配置常用参数如下环境变量对应参数默认值说明NGINX_STATUS-nginx.scrape_urihttp://localhost/status/format/jsonNginx状态页URLMETRICS_ADDR-web.listen-address:9913指标暴露地址:端口METRICS_ENDPOINT-web.telemetry-path/metrics指标访问路径METRICS_NS-metrics.namespacenginx指标命名空间前缀示例自定义端口和命名空间./nginx-vts-exporter -web.listen-address:8080 -metrics.namespacenginx_prod 常见问题与解决方案Q1: 访问Nginx状态页返回403 ForbiddenA: 检查Nginx配置中allow规则是否允许exporter所在服务器IP访问或临时注释deny all测试。Q2: Prometheus无法采集指标A: 验证exporter是否正常运行curl http://localhost:9913/metrics检查防火墙是否开放9913端口。Q3: 仪表盘无数据显示A: 确认Prometheus数据源配置正确检查exporter日志是否有JSON解析错误通常是Nginx状态页格式问题。 项目维护说明根据项目ANN说明该项目目前不再积极维护推荐优先使用Nginx vts模块原生支持的Prometheus格式输出通过vhost_traffic_status_display_format prometheus配置。如需使用本exporter建议关注社区fork版本或考虑替代方案。通过以上步骤你已成功搭建基于nginx-vts-exporter的Nginx监控系统。结合Prometheus的告警规则和Grafana的可视化能力可以及时发现和解决Nginx性能问题保障服务稳定运行。【免费下载链接】nginx-vts-exporterSimple server that scrapes Nginx vts stats and exports them via HTTP for Prometheus consumption项目地址: https://gitcode.com/gh_mirrors/ng/nginx-vts-exporter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表