如何在Kubernetes集群中监控应用的状态?

##Kubernetes应用监控 Kubernetes应用监控是用于监控Kubernetes集群中应用状态,解决对集群运维管理的问题,让快速迭代开发的应用得到有效地监控,及时发现问题、实现可视化的工具。

Kubernetes应用监控一般由监控容器、实例和API这三个部分组成。

##监控容器 Kubernetes容器监控是指对Kubernetes集群中容器进行监控,可以将容器化应用和服务进行实时监控,负责检查应用的正常工作情况,有助于快速发现异常情况,并及时处理它们,使系统稳定运行。

容器监控的主要内容有: 

包括CPU使用率、内存使用率;

响应时间和资源消耗;

我们可以采用开源的Prometheus监控Kubernetes上的容器,它用行动收集Kubernetes资源,并使用Prometheus存储库来存储它们,还可以通过Kubernetes集群常用的可视化工具来形象化展现监控结果。被监控的资源可以包括容器、pod、终端及其他Kubernetes资源。Prometheus可以通过监控各个Kubernetes资源的容器CPU使用率指标来实时掌控动态容器的负载情况,实现容器自动伸缩、弹性伸缩等。

##实例监控 Kubernetes集群实例监控可以实时监控和追踪实例,包括空闲和活动实例、异常实例、运行实例和已删除实例等。

实例监控的主要内容有:

包括CPU、内存、硬盘状态等;

包括端口连接状态、bandwidth使用情况等;

包括执行状态、性能指标等等。

实例的监控可以采用Prometheus,Prometheus采集监控数据时提供了例如cAdvisor、Node Exporter、Kube-State-Metrics等Exporter。

Kubernetes API监控指的是对Kubernetes API的监控,包括对Kubernetes API的请求和响应的返回值的监控。

API监控的主要内容有:

包括API调用次数、API传输时间等;

指定某种API请求是否被执行成功;

记录各个API调用记录,保存API请求及响应结果;

对错误请求进行记录,如HTTP状态码非200,及时发现问题。

凡事都有一定的风险,系统的健康情况可以通过API监控、监控量度以提高系统的可靠性和安全性。可以采用Prometheus来监控Kubernetes的API,比如可以采取Kube-state-metrics作为Kubernetes API监控的组件。

随机文章