专栏名称: HULK一线技术杂谈
HULK是360的私有云平台,丰富的一线实战经验,为你带来最有料的技术分享
目录
相关文章推荐
唐诗三百首  ·  十首沧桑诗词:当时明月在,曾照彩云归 ·  5 小时前  
51好读  ›  专栏  ›  HULK一线技术杂谈

360容器平台监控实践

HULK一线技术杂谈  · 公众号  ·  · 2018-12-13 18:00

正文

请到「今天看啥」查看全文



  • 容器: 这是最小的粒度。

  • Pod: 一个 Pod 里面可以有多个容器。

  • 应用: 一个应用里可能会有多个 Pod。


除了这些技术指标监控,360 容器平台的监控系统还支持自定义监控。有些业务可能需要在自己的程序里打点,比如要调第三方接口,查看延时和调用的次数等。大平台上不同业务对数据的需求不同,为了达到业务需求,支持自定义监控还是很必要的。新开发的业务可以在自己的程序里引入 Prometheus 相关的 SDK 进行打点,360 的容器平台就会将这些 metrics 收集上来。


另外,没有使用 Prometheus 的老系统在开发时没有在程序里打点的功能,这时业务可以针对自己的需求以 sidecar 的方式在程序的边缘写 exporter 来采集该进程所有的监控数据,exporter 以 metrics 的形式报告给 Prometheus,Prometheus 进行抓取。


监控系统设计

360 容器平台监控系统架构图如下:

日志监控

360 容器平台监控系统的日志监控使用的是 ELK 技术栈,但是进行了二次开发。团队自己写了 Log controller 组件,该组件会实时地 watch Kubernetes API Server 的 Deployment 资源对象的状态变化。当业务在创建应用时,是以 Kubernetes deployment 的资源对象来创建的。Log controller 会感知到这个资源的创建,知道这个 deployment 下有多少 Pod 已经处于 Ready 状态。当 Log controller 感知到新创建的 Pod 已经处于 Ready 状态以后,会根据用户在创建 Pod 时指定的真实日志收集路径拼接成它在物理机上的绝对路径,然后将组装好的配置并推送到 360 自研的配置中心 QConf 中。


360 在 Kubernetes 集群的每个 Node 节点都会部署一个二次开发的 Logstash,该 Logstash 会定期(每隔十秒或者五秒,时间可配置)去配置中心 (Qconf) 拉取最新的配置。拉取完配置之后,Logstash 会根据最新的配置把相关的的日志收集到公司的 Qbus(对 Kafka 进行包装的产品)中,也就是数据已经进入到 Kafka 了。之后用户可以在 HULK 私有云平台 (内部的私有云平台) 开通 ES 服务,对日志进行检索分析或对其他日志指定数据进行监控。


数据面板

360 容器平台监控系统的数据面板使用的是 Grafana,并对其增加了 LDAP 用户认证。可以显示内存,访问量,SIO, GPU 等监控数据指标。


应用级别基础监控指标:







请到「今天看啥」查看全文