Docker部署Prometheus监控Nginx,并通过Grafana展示监控数据

发布时间:2026/9/28 10:46:06

Docker部署Prometheus监控Nginx,并通过Grafana展示监控数据
文章目录总体流程1.Prometheus监控收集Nginx数据2.Grafana展示一.Prometheus监控收集Nginx数据第一步让 Nginx 暴露内置指标第二步启动 Nginx Prometheus Exporter第三步配置 Prometheus 抓取指标并启动二.Grafana展示监控数据第一步在 Grafana 中添加 Prometheus 数据源第二步导入 Nginx 监控面板Prometheus 监控 Nginx核心思路是借助一个“中间人”——Nginx Prometheus Exporter。它的任务是读取 Nginx 内置的状态信息然后转换成 Prometheus 能看懂的格式。我的Nginx是运行在阿里云的ECS服务器宿主机上nginx-prometheus-exporterPrometheusGrafana均在ECS上使用Docker运行并且在同一个 Docker 网络下。总体流程1.Prometheus监控收集Nginx数据让 Nginx 暴露指标启动 Exporter 采集指标配置 Prometheus 抓取指标并启动2.Grafana展示Grafana 中添加 Prometheus 数据源导入现成的 Nginx 监控面板一.Prometheus监控收集Nginx数据第一步让 Nginx 暴露内置指标Nginx 自带了一个叫 stub_status 的模块这是指标的数据源。需要先确认并启用它。检查模块是否已启用在服务器上执行以下命令如果看到输出with-http_stub_status_module就说明模块已经在了。nginx-V21|grep-owith-http_stub_status_module配置 Nginx如果模块已启用接着配置 Nginx为 Exporter 提供一个可以抓取数据的 HTTP 接口。编辑 Nginx 配置文件通常是 /etc/nginx/nginx.conf在 server 块中添加如下配置然后重载 Nginx 使配置生效sudo systemctl restart nginxserver{listen8080;# 可自定义端口location /stub_status{stub_status on;access_log off;# 生产环境建议添加访问限制如 allow 127.0.0.1;}}验证指标配置好后通过 curl 测试一下看到类似下面的输出就说明成功了。curlhttp://127.0.0.1:8080/stub_status#输出Active connections:2server accepts handled requests34341018Reading:0Writing:1Waiting:1第二步启动 Nginx Prometheus ExporterExporter 会定期从上一步配置的地址如 http://127.0.0.1:8080/stub_status抓取数据并在自己的 9113 端口上暴露出来。通过 Docker 启动#创建一个 Docker 网络dockernetwork create monitor-net#运行Nginx Prometheus Exporterdockerrun-d\--namenginx-exporter\--networkmonitor-net\-p9113:9113\nginx/nginx-prometheus-exporter:latest\-nginx.scrape-urihttp://你的Nginx服务器IP:8080/stub_status注意请将 你的Nginx服务器IP 替换为实际 IP。我这里填的是ECS服务器的私网IP因为我的nginx是运行在ECS服务器宿主机上的。第三步配置 Prometheus 抓取指标并启动告诉Prometheus 服务器去 Exporter 那里“拉取”数据。编辑 Prometheus 的配置文件 prometheus.yml保证文件在你当前所在目录下添加nginx监控任务。global:scrape_interval:15s#抓取间隔scrape_configs:-job_name:nginxstatic_configs:-targets:[nginx-exporter:9113]#在同一个Docker网络下可以使用容器名访问启动Prometheusdockerrun-d\--nameprometheus\--networkmonitor-net\-p9090:9090\-v$(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml\prom/prometheus\--config.file/etc/prometheus/prometheus.yml\--web.enable-lifecycle–web.enable-lifecycle开启热加载功能这样可以用 curl -X POST http://localhost:9090/-/reload 重载配置而无需重启容器访问 Prometheus 的 Web 界面http://ECS公网IP:9090查看nginx的指标。ECS安全组入方向要放行9090端口才能访问访问http://ECS公网IP:9090/targets查看监控目标的状态。StateUP 表示监控目标活着绿色DOWN 表示监控目标挂了红色。二.Grafana展示监控数据Docker运行Grafanadockerrun-d\--namegrafana\--networkmonitor-net\-p3000:3000\grafana/grafana第一步在 Grafana 中添加 Prometheus 数据源首先需要告诉 Grafana 监控数据从哪里获取。登录 Grafana在浏览器访问http://ECS公网IP:3000用默认账号 admin 和密码 admin 登录首次登录会提示修改密码。ECS安全组入方向要放行3000端口才能访问进入数据源配置点击左侧菜单栏的齿轮图标Configuration / 配置然后选择Data Sources数据源。添加 Prometheus 数据源点击Add data source添加数据源在列表中找到并选择Prometheus。关键一步配置 URL在Prometheus server URL一栏填http://prometheus:9090因为Prometheus 和Grafana 在同一个Docker下所以可以通过容器名访问。保存并测试填好 URL 后点击页面底部的Save Test保存并测试。看到绿色的成功提示就说明数据源配置好了。第二步导入 Nginx 监控面板Grafana 社区提供了很多现成的、可直接导入的面板模板这是最快可视化 Nginx 数据的方法。推荐模板一个广泛使用的 Nginx 面板模板 ID 是 12708。操作步骤如下进入导入页面在 Grafana 左侧菜单将鼠标悬浮在“”图标上点击“Import”导入。输入模板 ID在“Import via grafana.com”输入框中填入12708然后点击旁边的“Load”加载按钮。完成导入Grafana 会识别这个模板。在接下来的页面中为这个面板取个名字并在“Prometheus”下拉菜单中选择你在第一步创建的数据源。最后点击“Import”即可。完成这些步骤后就会显示一个包含连接数、请求总数等关键指标的 Nginx 监控仪表盘。这样就成功搭建了一个基础的 Nginx 监控系统后续可以根据需要调整面板或设置告警。Nginx 监控仪表盘

相关新闻

SwinTransformer解析:窗口机制与视觉任务优化

SwinTransformer解析:窗口机制与视觉任务优化

2026/8/25 7:34:11

1. 从视觉任务中的Transformer困境说起 第一次接触SwinTransformer是在2021年的一个图像分割项目里。当时团队正为如何平衡计算效率和模型性能发愁——传统的CNN backbone在密集预测任务中显存占用惊人,而初代Vision Transformer(ViT)虽然效果…

Python爬虫实战:逆向破解接口时间戳加密参数

Python爬虫实战:逆向破解接口时间戳加密参数

2026/8/23 0:02:17

1. 项目概述:当爬虫遇到加密的时间戳 最近在做一个数据采集项目时,遇到了一个典型的“拦路虎”:目标网站的接口参数里,有一个看似普通的 timestamp 字段,但直接使用当前时间戳请求,返回的永远是“签名错误…

多模态时空句级对齐

多模态时空句级对齐

2026/8/25 4:20:56

一、定义、定位与业务价值 1. 基础概念 时空句级对齐,是多模态融合网络 MFFN、CLIP、CMGL 前置的时序绑定预处理技术; 时:时间维度,统一画面帧、音频波形、台词文本的时间戳;空:空间维度,绑定…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/27 1:30:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/26 14:29:04

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/26 23:35:16

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…