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 命令了
相关推荐
lbb 小魔仙1 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
zhoupenghui1682 天前
Golang pprof 工具详解:监控、压测与调优实战指南
prometheus·pprof
ggaofeng3 天前
prometheus时序数据库
prometheus
比奥利奥还傲.5 天前
哪吒监控面板实战:部署 Dashboard、接入 Agent、钉钉告警,再配置固定公网访问
网络·人工智能·分布式·1024程序员节
默 语7 天前
Java新手入门:从零开始安装JDK并配置环境变量
java·开发语言·python·mysql·group by·1024程序员节·数据去重
A心有千千结7 天前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
天天喝旺仔7 天前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
川石课堂软件测试11 天前
涨薪技术|Prometheus之HTTP API中使用PromQL
网络协议·测试工具·jmeter·http·单元测试·postman·prometheus
IT界的老黄牛13 天前
Prometheus TSDB 拆不出来、也存不了一年:4 条外部存储出路 + 容量测算
prometheus·时序数据库·监控·thanos·victoriametrics·remote_write
Ningcode_cloud13 天前
Kubernetes 弹性伸缩实验手册:从集群搭建到 HPA / VPA 自动扩缩容
云原生·k8s·prometheus