论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
【监控】【Nginx】使用 Docker 摆设 Prometheus + Grafa ...
【监控】【Nginx】使用 Docker 摆设 Prometheus + Grafana 监控 Nginx ...
王海鱼
论坛元老
|
2024-9-23 15:09:07
|
显示全部楼层
|
阅读模式
楼主
主题
1036
|
帖子
1036
|
积分
3108
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
在现代应用程序中,监控是确保服务高可用性和性能的关键。本文将具体介绍如何使用 Docker 摆设 Prometheus 和 Grafana,以监控 Nginx。我们将分步骤讲授每个环节,以确保你能够顺遂完成整个过程。
准备工作
在开始之前,请确保你的体系上已安装 Docker 和 Docker Compose。这两个工具将资助我们轻松创建和管理容器化的应用情况。
步骤 1:创建项目目录
首先,我们需要创建一个新的目录来存放全部设置文件。这有助于保持项目标结构清楚。
mkdir nginx-monitoring
cd nginx-monitoring
复制代码
步骤 2:创建 Prometheus 设置文件
接下来,创建一个名为 prometheus.yml 的文件,这是 Prometheus 的设置文件,界说了监控的目标和抓取隔断。
global:
scrape_interval: 15s # 设置全局抓取间隔为15秒
scrape_configs:
- job_name: 'nginx' # 监控任务的名称
static_configs:
- targets: ['nginx:80'] # 指定 Nginx 服务的名称和端口
复制代码
解释
global:界说全局设置,如抓取隔断。
scrape_configs:设置要监控的服务,这里我们将 Nginx 的指标作为目标。
步骤 3:创建 Docker Compose 文件
然后,创建一个 docker-compose.yml 文件,界说我们需要的服务,包罗 Nginx、Prometheus 和 Grafana。
version: '3.7' # Docker Compose 文件版本
services:
nginx:
image: nginx:latest # 使用最新的 Nginx 镜像
ports:
- "8080:80" # 将宿主机的8080端口映射到容器的80端口
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf # 自定义 Nginx 配置文件
prometheus:
image: prom/prometheus # 使用 Prometheus 镜像
ports:
- "9090:9090" # 将宿主机的9090端口映射到容器的9090端口
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml # 挂载 Prometheus 配置文件
command:
- '--config.file=/etc/prometheus/prometheus.yml' # 指定配置文件位置
grafana:
image: grafana/grafana # 使用 Grafana 镜像
ports:
- "3000:3000" # 将宿主机的3000端口映射到容器的3000端口
复制代码
解释
services:界说我们要运行的服务。
image:指定要使用的 Docker 镜像。
ports:设置端口映射,使得我们可以从宿主机访问容器中的服务。
volumes:挂载设置文件到容器,以便于管理。
步骤 4:创建 Nginx 设置文件
在项目目录中创建一个 nginx.conf 文件,以设置 Nginx 的指标导出。
worker_processes 1; # 设置工作进程数
events {
worker_connections 1024; # 最大连接数
}
http {
server {
listen 80; # Nginx 监听80端口
location / {
root /usr/share/nginx/html; # 静态文件根目录
index index.html index.htm; # 默认首页
}
location /metrics {
stub_status on; # 启用 stub_status 模块以导出指标
}
}
}
复制代码
解释
worker_processes 和 events:基本的 Nginx 设置。
location /metrics:指定一个路径用于导出 Nginx 的指标。
步骤 5:启动 Docker 容器
在项目目录中运行以下下令以启动服务:
docker-compose up -d # 后台运行 Docker 容器
复制代码
解释
-d 选项使得容器在背景运行,便于继承在终端中执行其他下令。
步骤 6:访问 Grafana 和 Prometheus
服务启动后,我们可以访问 Grafana 和 Prometheus。
Grafana
:在浏览器中访问 http://localhost:3000。默认的用户名和密码都是 admin/admin,首次登录时体系会提示你更改密码。
Prometheus
:在浏览器中访问 http://localhost:9090,可以查看抓取的指标。
步骤 7:设置 Grafana 数据源
登录到 Grafana。
点击左侧菜单中的“设置”图标,然后选择“数据源”。
点击“添加数据源”按钮,选择 Prometheus。
在 URL 字段中输入 http://prometheus:9090(这是 Docker 内部网络中使用的服务名称)。
点击“生存并测试”以确认连接乐成。
解释
这一步骤确保 Grafana 可以精确连接到 Prometheus,获取监控数据。
步骤 8:创建仪表板
点击左侧菜单中的“仪表板”图标,然后选择“新建仪表板”。
点击“添加图表”,选择数据源为刚刚添加的 Prometheus。
在查询框中输入指标,例如 nginx_http_requests_total 来查看总哀求数。
自界说图表样式,生存仪表板。
解释
通过创建仪表板,你可以可视化 Nginx 的性能数据,资助你更好地明白服务的运行状态。
结论
通过 Docker 摆设 Prometheus 和 Grafana,你可以方便地监控 Nginx。这一解决方案不仅简单易用,还能根据需要灵活扩展。希望这篇博客对你有所资助,助你乐成构建一个强大的监控体系!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
王海鱼
论坛元老
这个人很懒什么都没写!
楼主热帖
在Winform开发中,使用Async-Awati异步 ...
Vue 和 Django 前后端分离实践 (注册 ...
如何在 Vue 3 中使用<script lang=“t ...
C#依赖注入(直白明了)讲解 一看就会系 ...
一条SQL的执行原理
go中 for循环的坑
Vulnhub之Monkeybox详细测试过程(不同 ...
【Django】DRF开发中的一些技巧记录 ...
教务管理系统——数据库课程设计mysql+ ...
三篇学会MySQL数据库【查询详解】 ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表