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

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



