好文档 - 专业文书写作范文服务资料分享网站

建设DevOps统一运维监控平台

天下 分享 时间: 加入收藏 我要投稿 点赞

我们的统一监控平台,在系统监控上,采用了cAdvisor+Heapster+Influxdb的方案。架构如下:

为什么采用这种方案呢?先来了解下这三个工具。

cAdvisor 是谷歌公司用来分析运行中的Docker容器的资源占用以及性能特性的工具, cAdvisor部署为一个运行中的daemon,它会收集、聚集、处理并导出运行中容器的信息。这些信息能够包含容器级别的资源隔离参数、资源的历史使用状况、反映资源使用和网络统

计数据完整历史状况。对docker的监控能力非常强大。同时还提供了自己的web页面,用户可以通过web页面直接查看该宿主机上所有容器的监控数据。cAdvior功能已经被集成到了kubelet组件中,也就是说,安装好kubernetes后,cAdvisor就已经安装到了每一个计算节点上。在每一个计算节点上都可以通过IP+端口(默认为4194)访问cAdvisor的页面了。

Heapster同样是Google提供的,用于对k8s集群的监控。Heapster可以通过容器启动,传入kubernetes master的地址,heapster会通过调用kubernetes api获取所有kubernetes计算节点,然后通过kubelet的外部调用端口号(默认为10250)调用kubelet的http api,kubelet会进行调用cAdvisor接口获取当前计算节点上的容器数据以及当前主机的性能数据,返回给heapter。这样heapster就收集到了kubernetes集群的所有容器数据以及主机数据。Heapster支持数据传输到Influxdb中进行存储。数据展现我们就是自己调用influxdb的api获取数据,结合我们的业务相关数据进行计算,用echarts进行前端图表展现。 可能有的同学会问,这样只是监控到了所有计算节点的容器数据和主机性能数据,这样有些非计算节点的主机监控该怎么办?确实,因为Heapster只是针对于kubernetes集群去监控,非kubelet节点确实是拿不到数据的,而我们又不想再用另外一种方式去单独监控主机,那样得到的数据格式也不一样。于是我们采取了折中的办法,在每个非k8s集群节点上,也安装kubelet,并且加入到kubernetes集群中,但是配置成不参与集群调度,也就是容器不会被部署到这些机器上。这样,heapster就可以采集到这些主机的性能数据了。 五、容器时代的监控利器: Prometheus

除了我们实践的cAdvisor+Heapster+Influxdb方案可以做到容器和主机性能数据同时监控外,其实还有一个相对而言更好的方案,那就是Prometheus。Prometheus是一套开源的监控&报警&时间序列数据库的组合,由社交音乐平台SoundCloud在2012年开发。随着

发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将其独立成开源项目,并且不依赖于任何公司。Prometheus最初是参照google内部监控系统BorgMon开发的,现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。 2016年Prometheus正式成为Cloud Native Computing Foundation的孵化项目,该基金会是在Google的支持下由一群IT行业巨头创建并指导Kubernetes容器管理系统的开发。在CNCF的主导下,Prometheus成为该开放平台栈的第二个正式的组件。特性如下: 高维度数据模型 高效的时序数据存储能力 查询语言灵活

具体时序数据图形化展现的能力 易于运维

提供丰富的客户端开发库 告警中心功能全面

Prometheus的架构图如下:

Prometheus Server : Prometheus主服务器,用来收集和存储时间序列数据 client libraries : 客户端库

push gateway : 短时jobs的中介网关

GUI-based dashboard builder : 基于Rails/SQL的GUI dashboard

Exporters : 数据采集探针,支持包括数据库、主机、消息队列、存储、应用服务器、github等软件、其他监控系统等多种类的探针。 Alertmanager :告警中心

Prometheus 是google力捧的监控方案,社区非常活跃,发展很是迅速,功能在不断的飞速补充和完善。一个监控范围覆盖容器、主机、存储、数据库、各种中间件,同时还具体完善的时序数据存储、告警中心等能力,发展又很迅速,相信Prometheus会越来越火热。

六、总结

系统监控的方案有很多,甚至优秀的开源兼容软件也有很多,如果需求不高,也许zabbix就很合适,如果想要带上容器监控,那么Prometheus也许是个较好的方案。总之,适合自己的才是最好的。

建设DevOps统一运维监控平台

我们的统一监控平台,在系统监控上,采用了cAdvisor+Heapster+Influxdb的方案。架构如下:为什么采用这种方案呢?先来了解下这三个工具。cAdvisor是谷歌公司用来分析运行中的Docker容器的资源占用以及性能特性的工具,cAdvisor部署为一个运行中的daemon,它会收集、聚集、处理并导出运行中
推荐度:
点击下载文档文档为doc格式
4wqbx4vfel5uqa87qzsz8c83h0epna0168v
领取福利

微信扫码领取福利

微信扫码分享