首页 > 其他分享 >grafana+prometheus+cadvisor监控容器指标数据

grafana+prometheus+cadvisor监控容器指标数据

时间:2024-03-25 16:29:56浏览次数:21  
标签:cadvisor scrape grafana prometheus dashboard name

前言

整理技术,在这篇文章中,将会搭建grafana+prometheus+cadvisor监控容器,并使用一个热门数据看板,再监控容器的性能指标

dashboard效果

这个是node-exporter采集到的数据,我没装node-exporter,而且这也不是本文的内容,所以这个看板就没东西
在这里插入图片描述
这个是容器性能指标
在这里插入图片描述

这个性能指标里东西就比较多了

准备配置文件

docker-compose.yaml

version: "3"

services:
  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 3000:3000
    volumes:
      - ./grafana-data:/var/lib/grafana
    networks:
      custom-bridge:
    restart: unless-stopped
    logging:
      options:
        max-size: "10m"
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: unless-stopped
    networks:
      custom-bridge:
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus_data:/prometheus
    ports:
      - 19090:9090
    logging:
      options:
        max-size: "10m"
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:latest
    container_name: cadvisor
    restart: unless-stopped
    networks:
      custom-bridge:
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run/:ro
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro
    ports:
      - 9090:9090
    logging:
      options:
        max-size: "10m"
networks:
  custom-bridge:
    external: true

prometheus.yml

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: cadvisor
    scrape_interval: 5s
    static_configs:
    - targets:
      - cadvisor:8080


创建数据文件夹并设置权限码

mkdir grafana-data
mkdir prometheus_data
chmod 777 grafana-data
chmod 777 prometheus_data

启动并进入grafana配置数据源

运行docker-compose up -d启动,启动后进入grafana网页端:http://pet.anarckk.me:3000/ ,默认账号密码是 admin/admin
点击add new connection
在这里插入图片描述
搜索并选择prometheus
在这里插入图片描述
修改connection地址
在这里插入图片描述

最后测试并保存
在这里插入图片描述

选择一个热门的dashboard引用过来

先创建一个dashboard
在这里插入图片描述
再找一个热门的dashboard,我这里用的是 https://grafana.com/grafana/dashboards/16314-docker-container-os-node-node-exporter-cadvisor/ ,dashboard id 是 16314

选择import dashboard
在这里插入图片描述
复制id进去,然后点击load
在这里插入图片描述
选择数据源prometheus, 最后再点击import
在这里插入图片描述

全部完成,到这里,就可以看到前面的dashboard效果了

prometheus也可以单独查询指定的指标

打开prometheus的网页端: http://pet.anarckk.me:19090/graph

# 查询容器的下行速度
rate(container_network_receive_bytes_total{name="alist"}[10s])
# 查询容器的上行速度
rate(container_network_transmit_bytes_total{name="alist"}[10s])

在这里插入图片描述

标签:cadvisor,scrape,grafana,prometheus,dashboard,name
From: https://blog.csdn.net/qq_33709998/article/details/137016709

相关文章

  • Grafana源码启动
    Grafana源码启动因为项目用到Grafana,但是用iframe嵌入前端。想研究一下源码看有没有可能直接用组件嵌入,然后用API调用Grafana的服务。GrafanabackendGrafana的后端服务是用Go写的,新语言,有待学习。Grafanafrontend前端使用React、Angular编写的Typescript项目。框架没学习过......
  • 【Prometheus】联邦集群配置demo
    点击查看代码#myglobalconfigglobal:scrape_interval:15s#Setthescrapeintervaltoevery15seconds.Defaultisevery1minute.evaluation_interval:15s#Evaluaterulesevery15seconds.Thedefaultisevery1minute.#scrape_timeoutissetto......
  • Grafana添加下拉框变量
    背景在做完通过process-exporter采集指定进程的资源使用情况后发现Grafana提供的监控图标是将所有机器的进程都存放在一起,不支持单独查看某台机器的进程情况,所以决定对Grafana图表进行修改。Grafanav10.3.1步骤步骤1:点击设置--->添加变量步骤2:设置变量变量类型、常规信......
  • Grafana的render失败的简单处理
    Grafana的render失败的简单处理背景周五周六两天研究了使用grafanarender的方式渲染图片.但是周六晚上收到的邮件发现图片重复了.当时立马就有点懵逼了.手工查看渲染的页面发现会报错:Renderingfailed.没办法,只能周天重新研究一下查看日志"failedtoloador......
  • Grafana将监控信息渲染成图片并且邮件发送的过程
    Grafana将监控信息渲染成图片并且邮件发送的过程背景去年12月份时自己创建了一套Grafana监控可以监控redis,hikari,启动时间,补丁更新时间等等事项.但是因为后续的事情比较多,一直有一点荒废了.最近折腾阿里云,让阿里云给自己发了一个简单的大屏展示.突然想其实自己也可......
  • Prometheus reload配置
    近期在对Prometheus进行线上环境配置时,领导说最好不要重启,因为会中断数据。如果不能restart只能找办法进行reload,经过查询发现有以下两种方式可以进行reload配置。方式一:ExecReload=/bin/kill-HUP$MAINPIDroot@grafana:~#cat/etc/systemd/system/prometheus.service;[......
  • 性能数据Grafana数据面板实战
    一、安装Grafanahttps://grafana.com/zh-cn/grafana/?pg=graf&plcmt=hero-btn-1二、修改配置默认为3000,若被占用,就修改默认启用端口修改为中文界面3、启用服务或者在控制面板-服务中启动四、访问服务......
  • 二进制部署 Prometheus+Alertmanager+Grafana
    从官网手动安装Prometheus采集、存储数据Grafana用于图表展示alertmanager用于接收Prometheus发送的告警信息node-exporter用于收集操作系统和硬件信息的metrics二进制部署#切换到root用户sudo-i#创建一个专门的prometheus用户:useradd-M-s/usr/sbin/nologi......
  • zabbix监控MogDB-openGauss之采集prometheus数据
    zabbix监控MogDB/openGauss之采集prometheus数据本文出处:https://www.modb.pro/db/187462前言市场上比较的监控方式有两种:zabbix和prometheus架构,对于MogDB/openGauss数据库来说,已经通过grafana+prometheus+opengauss_exporter的方式完成了监控部署,如何通过zabb......
  • 配置MogDB openGauss的grafana 的dashboard
    配置MogDB/openGauss的grafana的dashboard本文出处:https://www.modb.pro/db/188684概述我们已经介绍了prometheus+grafana+opengauss_exporter完成对MogDB/openGauss数据库的监控,但这只是第一步,我们还需要通过grafana的dashboard查看各个关注的指标项,本文主要......