第3章Cadvisor+Prometheus+Grafana

   日期:2024-12-29     作者:3pvmv       评论:0    移动:http://ljhr2012.riyuangf.com/mobile/news/14114.html
核心提示:国外:Mrtg、cacti、Nagios、Zabbix、smokeping、ganglia国内:小米监控,夜莺系统(滴滴打车)

  • 国外:Mrtg、cacti、Nagios、Zabbix、smokeping、ganglia
  • 国内:小米监控,夜莺系统(滴滴打车
  • 原理是让主库处写相关操作,而从数据库处理select查询,从而减轻数据库的IO压力,避免误操作将数据写入从库而导致数据不一致。

2.1.1Cadvisor(数据采集

  • Cadvisor是由google开发出来的单节点资源信息的监控工具。方便其他组件如Granfana、Prometheus
    进行数据抓取,可以对主机上的资源及容器和性能数据进行监控。它使用Go语言开发,采用Linux中Cgroup获取容器资源信息。

  • Google的Kubernetes中也默认将其作为单点的资源监控工具,各节点默认安装Cadvisor。

  • 产品特点
    1)可以展示主机和容器两个层次的监控数据
    2)可以展示历史变化数据
    3)谷歌公司的开源产品
    4)监控指标齐全
    5)方便部署,有官方的docker镜像
    6(缺点)默认只在保存1分钟数据,可以集成InfluxDB(解决存储问题)等第三方存储使用。
    Cadvisor操作界面简陋,并且需要在不同页面跳转,只能监控一个host,但是可以将监控数据导出给第三方工具,所以值只作为一个数据采集器。

2.1.2InfluxDB(数据存储

  • InfluxDB是非关系型数据库,时序性数据库(开源)由Go语言开发。它可以高性能的查询与存储时序性数据,被广泛用于存储系统的监控数据。
  • 应用场景:性能监控、应用程序指标、物联网传感器数据和实时分析等的后端存储。
  • 主要功能
    1)基于时间序列,支持与时间有关的相关函数 (如最大、最小、求和等
    2)可度量行:可以实时计算大量数据
    3)基于事件:支持任意的时间数据。
  • 主要特点
    1)无结构(无模式:可以是任意数量的列
    2)支持拓展
    3)支持min、max、sum、count、mean、median 等一系列函数,方便统计
    4)原生的HTTP支持,内置HTTP API
    5)强大的类SQL语法
    6)自带管理界面,方便使用。

2.1.3Granfana(数据展现

  • Granfana是一个可视化面板(Dashboard)工具,图表和布局漂亮,有功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB等组件作为数据源。
  • Granfana主要特性
    1)灵活丰富的图形化选项
    2)可以混合多种风格
    3)支持白天和夜间模式
    4)支持多个数据源。

部署方案
1)创建自定义网络monitor(自定义网络名称,用于后期容器加入此网络中
2)创建InfluxDB容器,创建数据用户、数据库
3)创建Cadvisor容器
4)创建Granfana容器,配置granfana。

2.3.1安装docker-ce

 

2.3.2镜像加速器

 

2.3.3下载组件镜像

 
 

2.3.4创建自定义网络

 

访问测试

可以自行选择模板

2.3.5创建数据库和数据库用户

 
 

2.3.6创建Cadvisor容器

 
  • –mout:把宿主机的相文目录绑定到容器中,这些目录都是Cadvisor需要采集的目录文件和监控内容
  • -storage_driver:指定Cadvisor的存储驱动、数据库主机、数据库名。
 
 
 

也可以自行创建容器检测。这里不做演示。

2.3.7创建Grafana容器

 
 
 
 
 
 

登录测试 192.168.9.9:8080

  • Prometheus是一个开源系统监控和警报工具包,现在是一个独立的开源项目。它在2016年加入CNCF(Cloud Native Computing Foundation云原生,是kubernetes之后的第二个托管项目。
  • 主要特征
    1)多维度数据模型,由指标键值对标识的时间序列数据组成
    2)PromQL,一种灵活的查询语言
    3)不依赖分布式存储,单个服务器节点是自治的
    4)以HTTP方式,通过pull模型拉取时间序列数据
    5)支持通过中间网关推送时间序列数据
    6)通过服务发现或者静态配置,来发现目标服务对象
    7)支持多种多样的图表和界面展示。
 
 

targets后面可以添加多个IP,用逗号分隔。

 
 
 

点击url查看详细信息

界面难看,所以结合grafana使用。

 
 
 
 

若要采集多个多个宿主机,就在/tmp/prometheus.yml最后添加主机IP,用逗号分隔。

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号