首页 > 其他分享 >使用prometheus监控docker

使用prometheus监控docker

时间:2023-05-23 12:05:59浏览次数:33  
标签:容器 container 字节 -- bytes prometheus 监控 docker

CAdvisor

CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

安装部署

#安装部署
docker pull google/cadvisor:v0.24.1     #centos7上安装指定版本
#启动
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--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 \
docker.io/google/cadvisor:v0.24.1

启动完成后,访问宿主机8080端口,可以查看

使用prometheus监控docker_docker


使用prometheus监控docker_文件系统_02


指标

CAdvisor是一个简单易用的工具,相比于使用Docker命令行工具,用户不用再登录到服务器中即可以可视化图表的形式查看主机上所有容器的运行状态。

而在多主机的情况下,在所有节点上运行一个CAdvisor再通过各自的UI查看监控信息显然不太方便,同时CAdvisor默认只保存2分钟的监控数据。

访问http://localhost:8080/metrics可以获取到标准的prometheus监控指标

使用prometheus监控docker_文件系统_03

以下是常用的指标说明

指标名称

类型

含义

container_cpu_load_average_10s

gauge

过去10秒容器CPU的平均负载

container_cpu_usage_seconds_total

counter

容器在每个CPU内核上的累积占用时间 (单位:秒)

container_cpu_system_seconds_total

counter

System CPU累积占用时间(单位:秒)

container_cpu_user_seconds_total

counter

User CPU累积占用时间(单位:秒)

container_fs_usage_bytes

gauge

容器中文件系统的使用量(单位:字节)

container_fs_limit_bytes

gauge

容器可以使用的文件系统总量(单位:字节)

container_fs_reads_bytes_total

counter

容器累积读取数据的总量(单位:字节)

container_fs_writes_bytes_total

counter

容器累积写入数据的总量(单位:字节)

container_memory_max_usage_bytes

gauge

容器的最大内存使用量(单位:字节)

container_memory_usage_bytes

gauge

容器当前的内存使用量(单位:字节

container_spec_memory_limit_bytes

gauge

容器的内存使用量限制

machine_memory_bytes

gauge

当前主机的内存总量

container_network_receive_bytes_total

counter

容器网络累积接收数据总量(单位:字节)

container_network_transmit_bytes_total

counter

容器网络累积传输数据总量(单位:字节)

容器状态

查看容器相关状态http://localhost:8080/docker

使用prometheus监控docker_文件系统_04


点击容器,可以看到容器相关的状态

使用prometheus监控docker_安装部署_05


使用prometheus监控docker_文件系统_06

与prometheues对接

有修改prometheues的配置文件

#vim prometheus.yml
  - job_name: 'container'
    static_configs:
    - targets: ['192.168.33.130:8080']

对接后成功后如下所示:

使用prometheus监控docker_文件系统_07

常用查询

  • 查询cpu
sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)

使用prometheus监控docker_docker_08

  • 查询内存使用量
container_memory_usage_bytes{image!=""}
  • 查询容器网络接收速率(单位:字节/秒)
sum(rate(container_network_receive_bytes_total{image!=""}[1m])) without (interface)
  • 查询容器网络传输量速率(单位:字节/秒):
sum(rate(container_network_transmit_bytes_total{image!=""}[1m])) without (interface)
  • 查询容器文件系统读取速率(单位:字节/秒):
sum(rate(container_fs_reads_bytes_total{image!=""}[1m])) without (device)
  • 查询容器文件系统写入速率(单位:字节/秒):
sum(rate(container_fs_writes_bytes_total{image!=""}[1m])) without (device)

grafana展示

grafana社区有很多docker监控的模板,本次使用10566模板

使用prometheus监控docker_文件系统_09


标签:容器,container,字节,--,bytes,prometheus,监控,docker
From: https://blog.51cto.com/u_11555417/6330469

相关文章

  • Qt编写视频监控系统74-悬浮工具栏(半透明/上下左右位置/自定义按钮)
    一、前言在监控系统中一般在视频实时预览的时候,希望提供一个悬浮工具条,可以显示一些提示信息比如分辨率、码率、帧率,提供一堆快捷操作按钮,可以录像、抓拍、云台控制、关闭等操作,参考了国内很多监控厂商客户端软件,总结下来基本就是悬浮条可以半透明悬浮在通道窗体上,也有少部分是固......
  • 【xhs】笔记更新监控,x-s、x-t、a1、web_session
    本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!标题环境win10、macPython3.9node.jsv4.16x-s、x-t、a1、web_session获取博主详细信息defget_use......
  • 基于Docker安装RabbitMQ
    安装步骤1.在线拉取dockerpullrabbitmq:3-management2.安装RabbitMQdockerrun\-eRABBITMQ_DEFAULT_USER=wzh\-eRABBITMQ_DEFAULT_PASS=1234\-vmq-plugins:/plugins\--namemq\--hostnamemq\-p15672:15672\-p5672:5672\-d\rabbitmq:3-m......
  • docker 容器备份和恢复
    1、将容器生成镜像dockercommit-pe2882bb3b904keyan-42-backup-202305222、将镜像保存为tar文件dockersave-okeyan-42-backup-20230522.tarkeyan-42-backup-202305223、恢复dockerload-ikeyan-42-backup-20230522.tar ......
  • 四、Jenkins集成Docker
    重用之前的my_test项目增加Jenkins集成Docker。之前是构建完项目后,上传jar包并执行sh脚本启动jar包。现在是将jar包上传到Docker服务器上,并用Dockerfile构建镜像,启动容器。一、Jenkins新增SSHserver 找到SSHServers:  Jenkins部署在阿里云云主机上,这里用另一台云主机,......
  • docker的安装
    1.安装yum: 2.查看docker版本库版本由高到底: 3.指定docker版本进行安装: 4.启动docker服务命令: 5.设置docker在linux开机自动启动: 6.查看docker版本: 7.查看镜像: 8.拉取hello-world镜像: 9.拉取后查看hello-world的镜像: ......
  • docker-compose
    1、介绍docker-compose是一个用来定义和运行复杂应用的docker工具。其使用一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合使用多个容器进行开发的......
  • docker
    1、介绍docker是一个开源的软件部署解决方案;也是轻量级的应用容器框架;可以打包、发布、运行任何的应用。docker包括三个基本概念:镜像Image、容器Container、仓库Repositorydocker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容......
  • Docker容器
    Docker容器模块一:安装docker在三台服务器的完成docker的安装1,配置IP地址进行连接2,关闭selinux,防火墙,配置主机名和域名解析systemctldisablefirewalld;systemctlstopfirewalld//关闭防火墙和开机自启iptables-F;iptables-X;iptables-Z;iptables-savehostn......
  • 基于alios(centos 7.2) 安装 docker
    参考文档:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.264695.0.0.55c91e18zfwqrz#section-gtl-cjs-ls2https://developer.aliyun.com/article/1148896https://blog.csdn.net/qq_32828933/article/details/88656414https://github.com/huataihuang/cloud-a......