加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

容器监控系统如何做,看看这篇就够了

发布时间:2019-10-10 05:04:14 所属栏目:评测 来源:七把刀
导读:副标题#e# 随着线上服务的全面docker化,对docker容器的监控就很重要了。SA的监控系统是物理机的监控,在一个物理机跑多个容器的情况下,我们是没法从一个监控图表里面区分各个容器的资源占用情况的。 为了更好的监控容器运行情况,更重要的是为了后续的容

配置成功后,可以看到CAdvisor会通过InfluxDB的HTTP API自动创建好数据表,并将数据发送到InfluxDB存储起来。

容器监控系统如何做,看看这篇就够了

3.2 InfluxDB重要概念

influxdb有一些重要概念:database,timestamp,field key, field value, field set,tag key,tag value,tag set,measurement, retention policy ,series,point,下面简要说明一下:

  • database:数据库,如之前创建的数据库 cadvisor。InfluxDB不是CRUD数据库,更像是一个CR-ud数据库,它优先考虑的是增加和读取数据而不是更新删除数据的性能。
  • timestamp:时间戳,因为InfluxDB是时序数据库,它的数据里面都有一列名为time的列,存储记录生成时间。如 rx_bytes 中的 time 列,存储的就是时间戳。
  • fields: 包括field key,field value和field set几个概念。field key是字段名,在rx_bytes表中,字段名为 value。field value是字段值,如 17858781633,1359398等。而field set是字段集合,由field key和field value构成,如rx_bytes中的字段集合如下:
  1. value = 17858781633 
  2. value 
  • tag key和tag value构成。InfluxDB中标签是可选的,不过标签是有索引的。如果查询中经常用的字段,建议设置为标签而不是字段。标签相当于传统数据库中有索引的列。
  • retention policy: 数据保留策略,cadvisor的保留策略为cadvisor_retention,存储30天,副本为1。一个数据库可以有多个保留策略。
  • measurement:类似传统数据看的表,是字段,标签以及time列的集合。
  • series:共享同一个retention policy,measurement以及tag set的数据集合。

3.3 InfluxDB的特色功能

InfluxDB作为时序数据库,相比传统数据库它有很多特色功能,比如独有的一些特色函数和连续查询功能。关于InfluxDB的更多详细内容可以参见官方文档。

  1. 特色函数:有一些聚合类函数如FILL()用于填充数据, INTEGRAL()计算字段所覆盖的曲面面积,SPREAD()计算表中最大与最小值的差值, STDDEV()计算字段标准差,MEAN()计算平均值, MEDIAN()计算中位数,SAMPLE()函数用于随机取样以及DERIVATIVE()计算数据变化比等。
  2. 连续查询:InfluxDB独有的连续查询功能可以定期的缩小取样,就原数据库的数据缩小取样后存储到指定的新的数据库或者新的数据表中,在历史数据统计整理时特别有用。

4、容器监控数据可视化-Grafana

通过CAdvisor搜集容器的监控数据,存储到InfluxDB中,接下来就剩数据可视化的问题了。毕竟,一个可视化的图表可以很方便快速的看到容器的一些问题。图表展示我选择的是Grafana。

Grafana是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括InfluxDB,MySQL,Elasticsearch,OpenTSDB,Graphite等)和丰富的插件及模板功能,支持图表权限控制和报警。

Grafana同样也是以容器方式运行,容器启动配置如下,主要是挂载了grafana的数据和日志目录,设置了管理员的密码,并开放了8888端口作为grafana的访问端口:

容器监控系统如何做,看看这篇就够了

启动之后就可以在http://IP:8888/页面去配置数据源了,一个示例如下:

容器监控系统如何做,看看这篇就够了

配置完数据源,就可以添加Panel来实现数据可视化了。Grafana的图表功能十分强大,在配置数据查询语句的时候也是十分智能,会对数据源,数据表,数据字段自动提示,而且对InfluxDB的所有函数都有分类可以直接选取配置。需要注意的一点就是在配置字节类数据(比如网卡接收流量 rx_bytes 和 内存使用量 memory_usage)的时候单位要选 data(IEC)这个类别。

容器监控系统如何做,看看这篇就够了

5、总结

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读