cAdvisor,prometheus
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: # 全局设置,可以被覆盖 external_labels: # 所有时间序列和警告与外部通信时用的外部标签 rule_files: # 警告规则设置文件 scrape_configs: static_configs: |
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相关推荐
- 百度可观测系列 | 采集亿级别指标,Prometheus 集群方案这样设计
[百度云原生导读]在前一篇<基于 Prometheus 的大规模线上业务监控实践>中,我们为大家介绍了针对大规模业务监控场景,百度云原生团队基于 Prometheus 技术方案的一些探索, ...
- Zabbix,Prometheus
文章目录 Zabbix 1.zabbix工作流程: 2.实施监控: 3.自定义监控项: 4.实施告警: 5.自动发现:批量添加监控主机 6.主动监控:被监控的主机.主动向服务器汇报状态 7.拓扑图和聚 ...
- 整合springboot,prometheus中guage的使用,统计一段时间中某个值的积累
1. 前言 工作几个月了,但是工作的前3个月几乎没有工作内容,从国庆节后终于步入工作节奏,开始接一些需求了,老早就想督促自己去学习去记录,但是自制力太差了,希望自己可以慢慢的写博客.读书,取得一些进步 ...
- zabbix,prometheus,openfalcon区别
方案对比 告警对接 告警源 告警目标 zabbix 多通道 多通道 open-falcon 多通道 多通道 prometheus 多通道 多通道 告警收敛 收敛 通知次数 zabbix 无 支持 op ...
- 【开发技术】2万字详细介绍Docker 和 web项目的部署监控,docker部署,拉取kafana,prometheus镜像监控
SpringBoot 内容管理 Linux Redis Connnect 设置服务器redis开机自启动 修改Redis配置文件 关闭防火墙 关闭selinux 连接Redis Docker Dock ...
- 从仿真到实飞,Prometheus自主无人机开发全覆盖!快来参加阿木实验室线下集训吧!
受够了假期的人挤人吗?快来参加阿木实验室线下集训吧! 阿木在此重磅推出"国庆特训营 "!本次特训由Prometheus项目创始人主讲,手把手授课!五天时间带你入门无人机科研圈,让你 ...
- Python编程,日志聚合工具,开源经济学,Prometheus监控,Kubernetes等
我们越来越多的备忘单集合为容器 , SELinux , awk , Linux网络 , SSH等提供了便捷的快速入门指南. 您有新的备忘单的想法吗? 让我们知道: open@opensource.co ...
- Docker实战-部署GPE微服务的监控体系(二)
前言 上篇文章:我们介绍了GPE体系中,grafana的部署和安装(<Docker实战-部署GPE微服务的监控体系>),今天这个文章,我们继续介绍GPE体系中,Prometheus和Exp ...
- Prometheus 如何做到“活学活用”,大牛总结的避坑指南
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者丨徐亚松 来源丨http://www.xuyasong ...
- 监控神器Prometheus用不对,也就是把新手村的剑
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者丨徐亚松 来源丨http://www.xuyasong.com ...
最新文章
- 什么是跨域?怎么解决跨域问题?
- Java垃圾回收调优
- bos开发时,测试卡在登录界面解决
- LCAOSCF自洽场氟化氢HF斯莱特函数
- centos下svn安装,svn用户管理,svn用户目录管理(虚拟机下访问)
- jQuery ajax - getScript() 方法
- 某同学工作之后的感悟
- 使用带有注释和JQuery的Spring MVC 3的Ajax
- 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc
- 01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题
- opencv出错:error: (-213:The function/feature is not implemented) Unknown/unsupported array type
- 用户只有一部手机,怎么保护私钥—— mixin如何实现资产安全
- 抖音视频怎么去掉抖音的水印?
- mysql如何创建视图
- Windows 2003系统25招加速大法
- 如何做网线水晶头?(笔记)
- 关于VB.net禁用右键菜单的实现
- 计算机 我们一起学猫叫歌词,猫叫是什么歌 抖音我们一起学猫叫完整版歌词
- 动态规划矩阵连乘求最优值和最优解
- 阿里云-node服务(一)阿里云 ECS 的Docker法端口映射