cAdvisor

开源软件cadvisor 是用于监控容器运行状态的利器之一,它被用于多个与docker相关的开源项目中。

在kubernetes 系统中,cAdvisor已经默认集成到了kubelet组件内,当kubelet服务启动时,它会自动启动cAdvisor服务,然后cAdvisor会实时采集所在节点的性能指标及在

节点上运行的容器的性能指标。kubelet 的启动参数 --cadvisor-port 定义了cAdvisor对外提供服务的端口号,默认为4194

我们可以通过浏览器 访问cAdvisor 提供的web页面

我们可以通过 4194 端口访问

prometheus基本介绍

prometheus是一个非常优秀的监控工具。准确的说,应该是监控方案。prometheus提供了监控数据搜集,存储,处理,可视化和告警一套完整的解决方案

prometheus 中,几个关键的组件 分别是

Exporter:负责收集目标对象(host,container)的性能数据,并通过HTTP接口供 prometheus server 获取。

prometheus server: 负责从 exporter 拉取和存储监控数据,并提供一套灵活的查询语言 (PromQL)供用户使用

可视化组件 :Grafana 能够与 prometheus 无缝集成,提供完美的数据 展示能力

Alertmanager : 用户可以定义基于监控数据的告警规则,规则会触发告警。一旦alertmanager收到告警,会通过预定义的方式发出告警通知

部署环境:

prometheus server 本身也将以容器的方式运行在 host 上

exporter

prometheus 有很多现成的exporter,详细请查看官网

我们将使用:

1 Node Exporter , 负责收集host硬件和操作系统数据。它将以容器的方式运行在所有host上

2 cAdvisor, 负责收集容器数据。它将以容器方式运行在所有host上

Grafana

显示多维数据,Grafana 本身也将以容器方式运行在 主机上

运行 Node Exporter

在每个host上都需要运行

docker run -d -p 9100:9100 \

-v "/proc:/host/proc" \

-v "/sys:/host/sys" \

-v "/:/rootfs" \

--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通信

我们可以 通过 9100端口 监控数据

运行 cAdvisor

需要在所有 的 host上运行

docker run \

--volume=/:/rootfs:ro \

--volume=/var/run:/var/run:rw \

--volume=/sys:/sys:ro \

--volume=/var/lib/docker/:/var/lib/docker:ro \

--publish=8080:8080 \

--detach=true \

--name=cadvisor \

--net=host \

google/cadvisor:latest

遇到:

Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory

解决办法

在终端上运行

mount -o remount,rw '/sys/fs/cgroup'

ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

我们通过 8080 端口提供 host监控数据,

运行 Prometheus Server

在 master上运行 如下 命令

docker run -d -p 9090:9090 \

-v /root/prometheus.yml:/etc/prometheus/prometheus.yml \

--name prometheus \

--net=host \

prom/prometheus

我们要在 /root 创建 kubernetes.yaml

global:                  # 全局设置,可以被覆盖
  scrape_interval:     15s # 默认值为 15s,用于设置每次数据收集的间隔
  evaluation_interval: 15s

external_labels:   # 所有时间序列和警告与外部通信时用的外部标签
    monitor: 'codelab-monitor'

rule_files: # 警告规则设置文件
 # - '/etc/prometheus/alert.rules'

scrape_configs:
  - job_name: 'prometheus'

static_configs:
      - targets: ['localhost:9090','localhost:8080','localhost:9100']

targets: ['localhost:9090','localhost:8080','localhost:9100'] 配置的收集 数据的 端口 和 IP

我们通过 9100 端口 访问 Prometheus 的 管控界面

运行 Grafana

在master 运行

docker run -d -i -p 3000:3000 \

-e "GF_SERVER_ROOT_URL=http://grafana.server.name" \

-e "GF_SECURITY_ADMIN_PASSWORD=secret" \

--net=host \

grafana/grafana

-e "GF_SECURITY_ADMIN_PASSWORD=secret 指定了 Grafana  admin用户密码 secret

通过 3000 端口可以访问 Grafana 的界面

配置 DataSource

我们可以在 下面网址 下载 到很多 现成的 Dashboard,然后 import 到 grafana, 例如这里 我 下载 了 Docker and system monitoring

https://grafana.com/dashboards?dataSource=prometheus&search=docker

参考

https://www.cnblogs.com/CloudMan6/p/7724576.html

<kubernetes 实践>

cAdvisor,prometheus相关推荐

  1. 百度可观测系列 | 采集亿级别指标,Prometheus 集群方案这样设计

    [百度云原生导读]在前一篇<基于 Prometheus 的大规模线上业务监控实践>中,我们为大家介绍了针对大规模业务监控场景,百度云原生团队基于 Prometheus 技术方案的一些探索, ...

  2. Zabbix,Prometheus

    文章目录 Zabbix 1.zabbix工作流程: 2.实施监控: 3.自定义监控项: 4.实施告警: 5.自动发现:批量添加监控主机 6.主动监控:被监控的主机.主动向服务器汇报状态 7.拓扑图和聚 ...

  3. 整合springboot,prometheus中guage的使用,统计一段时间中某个值的积累

    1. 前言 工作几个月了,但是工作的前3个月几乎没有工作内容,从国庆节后终于步入工作节奏,开始接一些需求了,老早就想督促自己去学习去记录,但是自制力太差了,希望自己可以慢慢的写博客.读书,取得一些进步 ...

  4. zabbix,prometheus,openfalcon区别

    方案对比 告警对接 告警源 告警目标 zabbix 多通道 多通道 open-falcon 多通道 多通道 prometheus 多通道 多通道 告警收敛 收敛 通知次数 zabbix 无 支持 op ...

  5. 【开发技术】2万字详细介绍Docker 和 web项目的部署监控,docker部署,拉取kafana,prometheus镜像监控

    SpringBoot 内容管理 Linux Redis Connnect 设置服务器redis开机自启动 修改Redis配置文件 关闭防火墙 关闭selinux 连接Redis Docker Dock ...

  6. 从仿真到实飞,Prometheus自主无人机开发全覆盖!快来参加阿木实验室线下集训吧!

    受够了假期的人挤人吗?快来参加阿木实验室线下集训吧! 阿木在此重磅推出"国庆特训营 "!本次特训由Prometheus项目创始人主讲,手把手授课!五天时间带你入门无人机科研圈,让你 ...

  7. Python编程,日志聚合工具,开源经济学,Prometheus监控,Kubernetes等

    我们越来越多的备忘单集合为容器 , SELinux , awk , Linux网络 , SSH等提供了便捷的快速入门指南. 您有新的备忘单的想法吗? 让我们知道: open@opensource.co ...

  8. Docker实战-部署GPE微服务的监控体系(二)

    前言 上篇文章:我们介绍了GPE体系中,grafana的部署和安装(<Docker实战-部署GPE微服务的监控体系>),今天这个文章,我们继续介绍GPE体系中,Prometheus和Exp ...

  9. Prometheus 如何做到“活学活用”,大牛总结的避坑指南

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者丨徐亚松 来源丨http://www.xuyasong ...

  10. 监控神器Prometheus用不对,也就是把新手村的剑

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者丨徐亚松 来源丨http://www.xuyasong.com ...

最新文章

  1. 什么是跨域?怎么解决跨域问题?
  2. Java垃圾回收调优
  3. bos开发时,测试卡在登录界面解决
  4. LCAOSCF自洽场氟化氢HF斯莱特函数
  5. centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
  6. jQuery ajax - getScript() 方法
  7. 某同学工作之后的感悟
  8. 使用带有注释和JQuery的Spring MVC 3的Ajax
  9. 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc
  10. 01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题
  11. opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
  12. 用户只有一部手机,怎么保护私钥—— mixin如何实现资产安全
  13. 抖音视频怎么去掉抖音的水印?
  14. mysql如何创建视图
  15. Windows 2003系统25招加速大法
  16. 如何做网线水晶头?(笔记)
  17. 关于VB.net禁用右键菜单的实现
  18. 计算机 我们一起学猫叫歌词,猫叫是什么歌 抖音我们一起学猫叫完整版歌词
  19. 动态规划矩阵连乘求最优值和最优解
  20. 阿里云-node服务(一)阿里云 ECS 的Docker法端口映射

热门文章

  1. 高中计算机期末工作总结,高中信息技术期末教学工作总结
  2. c语言题模板大全,C语言试题库完整版整理版
  3. 让IE中的IFrame透明
  4. gn: toolchain
  5. 华为交换机恢复出厂设置的三种方法
  6. ubuntu搜狗输入法下载
  7. 免费的html模板开源网站
  8. Scala(第五节)actor并发编程、文件操作和网络请求、隐式转换和隐式参数、Akka并发编程、Akka模拟简易Spark通信
  9. 各种音视频编解码学习详解之 编解码学习笔记(七):微软Windows Media系列
  10. 爱普生L4158 L4165 L4166 L4168 L4167 L4163清零软件教程