监控报警咱们分PaaS平台和业务应用两大类。
PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(好比主机CPU,内存,IO,磁盘空间,LeEngine各个服务进程等等),这一类使用公司统一的监控报警机制。
业务应用类,也就是跑在LeEngine上的各个业务线的监控和报警,须要由LeEngine进行对其进行监控和报警,触发报警后,会通知给各个 应用的负责人。咱们采用了heapster 来收集容器的监控信息和Kubernetes的各类事件。每一个Cell集群中都部署一个heapster,监控数据存放到influxdb中。设定了一个 应用全局对应一个Kubernetes的Namespace,所以咱们能很好的聚合出应用和单个容器的监控数据。
以下图 针对应用的网络流量监控:网络
容器 IP,运行时间和状态:spa
下图是针对应用下单个容器的监控:flux
如今heapster 无法收集容器的磁盘IO数据,后期咱们会增长对于磁盘IO的监控收集,同时咱们会丰富其余的监控数据(好比请求量等等)。关于报警,咱们后期准备使用 kapacitor 进行用户自助化报警,让用户自定义设定针对于应用cpu,内存,网络,IO,容器重启,删除等的报警阀值。触发报警后,会调用公司统一的告警平台(电话, 邮件,短信三种方式)对相关人员进行报警。默认报警人员为当前应用的Owner和Master角色的成员。此功能已经基本调研完成,计划3月底上线。进程