Kubernetes 监控与日志管理全解析
1. 监控基础设施
在考虑监控时,基础设施的范围较为广泛,但核心是监控应用程序的运行环境及与其他组件和用户的交互。主要监控对象包括应用程序主机和连接网络。
- 主机监控 :通常由监控框架提供的代理执行,代理会提取并发送主机的综合指标,如负载、磁盘、连接或其他进程统计信息,以帮助判断主机的健康状况。
- 网络监控 :涉及同一主机上的 Web 服务器软件和网络接口,可能还包括负载均衡器,甚至像 Istio 这样的平台。一般要测量的指标有流量、延迟和错误。
2. 监控外部依赖
除了上述两个组件,还需检查依赖组件的状态,如外部存储的利用率或队列的消费率。以订阅队列作为输入并执行任务的应用程序为例,需要考虑队列长度和消费率等指标。若消费率低且队列长度持续增长,应用程序可能会出现问题。
对于 Kubernetes 上的容器,虽然在主机上运行容器类似于运行进程,但由于 Kubernetes 容器和传统主机在资源利用方式上存在细微差别,需要调整监控策略。不能仅以主机为中心进行监控,还应在监控栈中添加容器层,同时也要考虑 Kubernetes 这一基础设施。
3. 监控容器
容器是程序和依赖运行时库的轻量级封装,容器级收集的指标与容器主机的指标相似,特别是在系统资源使用方面。从容器和主机收集这些指标看似冗余,但能解决监控移动容器的问题。具体做法是为指标附加逻辑信息,如 Pod 标签或控制器名称,这样来自不同主机的容器指标就能有意义地分组。
此外,与 CPU 节流相关的指标仅
超级会员免费看
订阅专栏 解锁全文
1036

被折叠的 条评论
为什么被折叠?



