cadvisor

cAdvisor prometheus integration returns container_cpu_load_average_10s as 0

眉间皱痕 提交于 2020-01-04 14:11:13
问题 I have configured Prometheus to scrape metrics from cAdvisor. However, the metric "container_cpu_load_average_10s" only returns 0. I am able to see the CPU metrics under the cAdvisor web UI correctly but Prometheus receives only 0. It is working fine for other metrics like "container_cpu_system_seconds_total". Could someone point if I am missing something here? Prometheus version: 2.1.0 Prometheus config: scrape_configs: - job_name: cadvisor scrape_interval: 5s metrics_path: /metrics scheme:

How can I alert for container restarted?

假装没事ソ 提交于 2019-12-30 01:07:45
问题 I like to monitor the containers using Prometheus and cAdvisor so that when a container restart, I get an alert. I wonder if anyone have sample Prometheus alert for this. 回答1: I used the following Prometheus alert rule for finding container restarts in an hour(can be modified to max time), It may be helpful for you. Prometheus Alert Rule Sample ALERT ContainerRestart/PodRestart IF rate(kube_pod_container_status_restarts[1h]) * 3600 > 1 FOR 5s LABELS {action_required = "true", severity=

普罗米修斯监控docker 服务

岁酱吖の 提交于 2019-12-27 21:49:49
环境 192.168.254.127 (监控服务器) 192.168.254.128 (被监控机器) 首先在监控服务器安装: 1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安装Node Exporter 容器 docker run -d -p 9100:9100 \ -v "/proc:/host/proc" \ -v "/sys:/host/sys" \ -v "/:/rootfs" \ -v "/etc/localtime:/etc/localtime" \ --net=host \ prom/node-exporter \ --path.procfs /host/proc \ --path.sysfs /host/sys \ --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" 注意,这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 Node Exporter 通信 2.安装cAdvisor 来收集容器信息 所有节点运行以下命令来安装cAdvisor docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=

基于docker 搭建Prometheus+Grafana

走远了吗. 提交于 2019-12-27 16:01:46
一、介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。 Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker 。 Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。 与其他监控系统相比,Prometheus的主要特点是: 一个多维数据模型(时间序列由指标名称定义和设置键/值尺寸)。 非常高效的存储,平均一个采样数据占~3.5bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G。 一种灵活的查询语言。 不依赖分布式存储,单个服务器节点。 时间集合通过HTTP上的PULL模型进行。 通过中间网关支持推送时间。 通过服务发现或静态配置发现目标。

Prometheus+Grafana监控系统搭建

假装没事ソ 提交于 2019-12-24 18:25:07
博文大纲: 一、prometheus简介 二、Prometheus组成及架构 三、部署prometheus 1)环境准备 2)部署prometheus 一、prometheus简介 Prometheus是一套开源的系统监控报警框架。它以给定的时间间隔从已配置的目标收集指标,评估规则表达式,显示结果,并在发现某些情况为真时触发警报。 作为新一代的监控框架,Prometheus具有以下特点 : 强大的多维度数据模型: (1)时间序列数据通过metric名和键值对来区分; (2)所有的metrics都可以设置任意的多维标签; (3)数据模型更随意,,不需要刻意设置为以点分隔的字符串; (4)可以对数据模型进行聚合、切割和切片操作; (5)支持双精度浮点类型,标签可以设为全unicode(统一码); 灵活、强大的查询语句:在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作; 易于管理:不依赖于分布式存储; 使用 pull 模式采集时间序列数据; 可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端; 可以通过服务发现或者静态配置去获取监控的 targets; 有多种可视化图形界面; 易于伸缩。; 二、Prometheus组成及架构 Prometheus包含了许多组件,其中许多组件都是可选的,常用的组件有:

Incorrect reporting of container memory usage by cadvisor

跟風遠走 提交于 2019-12-24 01:19:37
问题 cAdvisor reports 14GB for the memory used by Prometheus where as top reports 6.xGB. Can someone explain why this discrepancy? The documentatation of container_memory_usage_bytes says Current memory usage in bytes, including all memory regardless of when it was accessed but it's not clear what this refers to - I assume it's virtual memory size? As reported by cAdvisor: core@ip-172-20-100-148 ~ $ curl -q localhost:4194/metrics | grep container_memory_usage_bytes | grep prometheus container

Docker容器监控

陌路散爱 提交于 2019-12-19 19:48:58
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.3.1 容器监控 利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的运行情况,如:CPU使用率,内存使用率,网络状态,磁盘空间等一系列随时间变化的时序数据信息,都需要进行了解,因此监控是必须的。 容器监控方案选择 对于容器的监控方案可谓多种多样,除了docker本身自带的 docker stats 命令,还有Scout,Data Dog,Sysdig Cloud,Sensu Monitoring Framework,CAdvisor等都可以对容器进行监控。 通过 docker stats 命令可以很方便的看到当前宿主机上所有容器的CPU,内存,以及网络流量等数据。但 docker stats 命令的缺点是只是统计当前宿主机的所有容器,为获取的数据是实时的,没有地方存储,也没有报警功能。 而Scout,Data Dog,Sysdig Cloud虽然都提供了教完善的服务,但是它们都是托管的服务且都是收费的,Sensu Monitoring Framework集成度较高,也免费,但是部署过于复杂,综合考虑选择CAdvisor做监控工具。 CAdvisor出自Google

容器监控之 cadvisor

不打扰是莪最后的温柔 提交于 2019-12-11 01:02:53
###docker stats 对 cadvisor dokcer stats 可以查看运行的 Docker 镜像的运行状态,例如: 这种方式比较原始,因为你无法通过 http 的方式来获取数据,而且没有界面,数据可视化还需要做大量的工作。 由于 dokcer stats 有这些问题,所以 cadvisor 诞生了。 cadvisor 不仅可以搜集一台机器上所有运行的容器信息还提供基础查询界面和 http 接口,方便 Prometheus 进行数据抓取。 正是因为 cadvisor 与 Prometheus 的完美结合,所以它成为了容器监控的第一选择。 ###cadvisor 的安装 使用 docker pull 下载最新版本的 cadvisor docker pull google/cadvisor:latest 使用 docker run 启动 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

Prometheus监控docker容器

只愿长相守 提交于 2019-12-10 20:27:19
### 中文文档 ####需了解 cadvisor ###首先在监控服务器安装: ####1.安装Node Exporter 来收集硬件信息 所有节点运行以下命令安装Node Exporter 容器 docker run -d -p 9100:9100 \ -v "/proc:/host/proc" \ -v "/sys:/host/sys" \ -v "/:/rootfs" \ -v "/etc/localtime:/etc/localtime" \ --net=host \ prom/node-exporter \ --path.procfs /host/proc \ --path.sysfs /host/sys \ --collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" 注意: 这里我们使用了 --net=host,这样 Prometheus Server 可以直接与 Node Exporter 通信 ####2.安装cAdvisor 来收集容器信息 所有节点运行以下命令来安装cAdvisor docker run -d \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro

Use Prometheus “target relabeling” to extract cAdvisor's Docker image name without tag

白昼怎懂夜的黑 提交于 2019-12-07 16:21:40
问题 I use Prometheus, together with cAdvisor to monitor my environment. Now, I tried to use Prometheus' "target relabeling", and create a label that its value is the Docker container's image name, without a tag. It is based on the originally scraped image label. It doesn't work, for some reason, showing no errors when running on debug log level. I can see metrics scraped from cAdvisor (for example container_last_seen ) but my newly created label isn't there. My job configuration: - job_name: