02_prometheus监控&Grafana展示

02_prometheus监控&Grafana展示

1.prometheus监控docker容器

1.1cAdvisor介绍

要监控docker状态,需要一个软件叫做cAdvisor,是Google开源的容器监控和性能分析工具,专门是为了容器而生,可以用于收集正在运行的容器资源和性能信息。

  • cadvisor不仅可以搜集⼀台机器上所有运⾏的容器信息,还提供基础查询界⾯和http接⼝,方便其他组件如Prometheus进⾏数据抓取。

  • cAdvisor可以对节点机器上的资源及容器进⾏实时监控和性能数据采集,包括CPU使⽤情况、内存使⽤情况、⽹络吞吐量及⽂件系统使⽤情况。

  • Cadvisor使用go语言开发,在k8s中集成kubelet 里作为默认项启动,官方标配

1.2 docker方式部署Cadvisor

  • 去官网上看看
  • 拉取镜像

    docker pull google/cadvisor:v0.32.0

运⾏单个cAdvisor来监控整个Docker主机,被监控端安装完Docker后,就可以添加cAdvisor容器了,这⾥假定被监控主机ip为172.16.213.31,执⾏如下命令部署cAdvisor容器服务:

复制代码
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--restart=always \
google/cadvisor:v0.32.0
  • 访问Cadvisor查询界面和http接口,可访问ip:8080打开web界面
  • 这个也提供了prometheus访问的接口,可以访问ip:8080/metrics
  • 为了监控主机基础服务状态,还需要安装node-exporter服务,对node-exporter的安装:

  • 配置prometheus

    • 修改配置文件prometheus .yaml在默认的prometheus的static_configs下面添加新的主机ip

      在最后一行添加

      • job_name: "docker"
        static_configs:
        • targets: ["localhost:8080"]
          labels:
          instance: docker-test
  • 检查

2.Grafana和Promtheus监控可视化

2.1Grafana基础知识

Grafana是一个开源的指标检查和可视化工具,官网https://grafana.com/,常用于展示设施的时间序列和应用程序运行分析,Grafana的dashboard展示非常好,绝对是运维提升可视化监控的一大利器

数据源(datasource)

数据的存储源,它定义了将⽤什么⽅式来查询数据展⽰在grafana上⾯,不同的datasource拥有不同的查询语法,grafana⽀持多种数据源,官⽅⽀持以下数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch。每个数据源的查询语⾔和能⼒各不同,我们可以将来⾃多个数据源的数据组合到⼀个仪表盘中,但是每个⾯板都绑定到属于特定组织的特定数据源。

2.2Grafana的安装配置

Grafana的安装简单,也可以通过docker镜像的方式进行安装,还可以下载rpm进行安装。

也可以从https://grafana.com/get 下载Grafana安装包,然后根据需要的系统平台性能下载即可,

复制代码
[root@prometheus-333 prometheus]# yum localinstall grafana-enterprise_12.1.1_16903967602_linux_amd64.rpm 


[root@localhost ~]# systemctl enable grafana-server #开启⾃启动
[root@localhost ~]# systemctl start grafana-server #启动服务
[root@localhost ~]# systemctl status grafana-server #查看服务是否正常启动
  • Grafana的配置文件位于/etc/grafana/grafana.ini一般情况下无需要修改配置文件,安装就用。

2.3安装grafana插件

grafana提供了很多插件,通过https://grafana.com/grafana/plugins/查看,

  • 查看有什么插件可以安装

    grafana-cli plugins list-remote

  • 安装⼀个clock-panel插件,这个插件是个时钟插件,可以在dashboard上显⽰时间⽤

复制代码
  grafana-cli plugins install grafana-clock-panel

2.4配置prometheus数据源

  • 访问本地ip:3000端口

Grafana已经默认⾃带了Prometheus数据源,所以⽆需安装插件,直接使⽤即可。这⾥将添加Prometheus作为数据源,如下图所⽰,指定数据源类型为Prometheus并且设置Prometheus的访问地址即可:

  • 添加数据源Add Data Sources
  • 配置好数据源后就要进行对Dashboard进行选择官方模版

  • Grafana dashboards | Grafana Labs

  • 这里有不错的dashboadr模版

    1860 Node Exporter Full
    9965 Blackbox Exporter 0.14 for Prometheus 监控展⽰看板
    8919 1 Node Exporter for Prometheus Dashboard CN v20201010
    10619 Docker Container & Host Metrics
    193 Docker monitoring
    14841 Docker monitoring

  • 这里展示docker的Dashboard模版信息

  • 这里为什么有一个NA

我们对pQL进行修改就行

  • 这里就是接下来的PQL 命令了
相关推荐
成为你的宁宁10 小时前
【Prometheus Operator 监控 K8S集群的Calico 与 Ingress-Nginx 组件】
kubernetes·prometheus
Adorable老犀牛12 小时前
Prometheus 常用告警规则 rules.yml
开发语言·prometheus·exporter·nodeexpoeter
Jinkxs20 小时前
Prometheus - 监控微服务:Spring Boot 应用指标暴露与监控
spring boot·微服务·prometheus
云烟成雨TD1 天前
Spring AI 1.x 系列【50】可观测性:接入 Prometheus + Grafana
人工智能·spring·prometheus
开开心心就好1 天前
清理重复文件释放C盘空间的工具
安全·智能手机·pdf·gitlab·音视频·intellij idea·1024程序员节
YDS8292 天前
DeepSeek RAG&MCP + Agent智能体项目 —— 集成ELK日志管理系统和Prometheus监控系统
java·elk·ai·springboot·agent·prometheus·deepseek
暮云星影2 天前
个人总结 搭建Docker监控
docker·容器·grafana·prometheus
成为你的宁宁4 天前
【基于 Prometheus Operator 监控 K8s控制器、调度器、代理组件】
kubernetes·prometheus
溜达的大象5 天前
服务器挂了等用户报障?我用Prometheus搭了一套监控告警,服务器出状况第一时间通知我
服务器·php·prometheus
tudoSearcher5 天前
日志、指标、链路追踪:可观测性三支柱深度解析
运维·服务器·网络·prometheus