首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微头条
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
Prometheus + Grafana + Cadvisor:构建高效企业级服务 ...
返回列表
发新帖
Prometheus + Grafana + Cadvisor:构建高效企业级服务监控体系
[复制链接]
发表于 2025-7-7 16:54:32
|
显示全部楼层
|
阅读模式
在今世软件开辟和运维范畴,
容器
化技术的应用越来越广泛,此中 Docker 作为最受欢迎的
容器
化解决方案之一,其
容器
的
监控
管理变得至关紧张。本文将详细先容怎样使用 cadvisor、Prometheus 和 Grafana 来
监控
Docker 容器的状态。
一、安装镜像
我们须要安装几个关键的镜像,这些镜像将帮助我们收集、
存储
和可视化容器及主机的相关数据。通常,我们会将 cadvisor 和 node - exporter 安装在被
监控
的主机上,而将 Prometheus 和 Grafana 安装在监控
服务器
上,不外它们也可以安装在同一台
服务器
上。
以下是具体的安装下令:
docker pull gcr.io/cadvisor/cadvisor:v0.49.1 # 收集并展示容器的资源使用和
性能
数据
docker pull prom/prometheus # 基于拉取模型收集指标数据,可以设置报警规则
docker pull grafana/grafana # 监控数据可视化
docker pull quay.io/prometheus/node-exporter # 收集主机级别的系统指标
复制
代码
二、添加设置文件
在主机的根目录下,我们须要添加一个 prometheus.yml 文件,并举行如下设置:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_timeout: 10s
alerting:
alertmanagers:
- static_configs:
- targets: ["alertmanager:9093"]
rule_files:
- "rules/*.rules"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
labels:
app: "prometheus"
environment: "production"
- job_name: "docker" # 监控的docker容器
static_configs:
- targets: ["监控
服务器
IP地址或域名:8080"]
labels:
instance: "docker-host"
environment: "production"
- job_name: "linux" # 监控的服务器主机
static_configs:
- targets: ["监控服务器IP地址或域名:9100"]
labels:
instance: "server-01"
environment: "production"
复制
代码
这些设置项定义了 Prometheus 的全局设置、报警管理、规则文件以及要监控的目标。
三、Compose.yaml 文件编写
通过 docker-compose 来管理多个容器是一种非常便捷的方式。以下是 compose.yaml 文件的内容:
services:
prometheus:
container_name: prometheus
image: prom/prometheus
restart: unless-stopped
networks:
- 网络名称
volumes:
- /etc/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
ports:
- "9090:9090"
cadvisor:
container_name: cadvisor
image: gcr.io/cadvisor/cadvisor:v0.49.1
restart: unless-stopped
privileged: true
volumes:
- "/:/rootfs:ro"
- "/var/run:/var/run:ro"
- "/sys:/sys:ro"
- "/var/lib/docker:/var/lib/docker:ro"
- "/dev/disk:/dev/disk:ro"
ports:
- "8080:8080"
grafana:
container_name: grafana
image: grafana/grafana
restart: unless-stopped
networks:
- 网络名称
volumes:
- grafana_data:/var/lib/grafana
ports:
- "3000:3000"
node_exporter:
container_name: node_exporter
image: quay.io/prometheus/node-exporter:latest
ports:
- "9100:9100"
command:
- '--path.rootfs=/host'
network_mode: host
pid: host
restart: unless-stopped
volumes:
- '/:/host:ro,rslave'
networks:
网络名称:
volumes:
prometheus_data:
grafana_data:
复制
代码
这个文件定义了各个服务的容器设置,包罗镜像、重启计谋、挂载卷、端口映射等。
四、Grafana 设置
(1)数据源设置
启动 Grafana 后,我们须要添加 Prometheus 作为数据源。在 Grafana 的界面中,按照提示添加 Prometheus 数据源,这将让 Grafana 能够从 Prometheus 中获取监控数据。
(2)仪表板设置
为了更直观地展示监控数据,我们可以在 Grafana 中导入预设的仪表板。在仪表板导入界面,输入仪表板 ID 193 和 9276。此中,193 是 Docker 容器监控模板,9276 是 Linux 主机监控模板。导入后,我们就可以清晰地看到 Docker 容器和 Linux 主机的各项监控指标。
通过以上步骤,我们就完成了 Docker 容器状态的监控系统搭建。利用 cadvisor 收集容器数据,Prometheus
存储
和管理数据,Grafana 举行数据可视化,我们可以实时发现容器运行中的问题,保障系统的稳定运行。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
浏览过的版块
区块链
数据仓库与分析
Java
Oracle
IT职场那些事
尚未崩坏
+ 我要发帖
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表