360容器平台:基于Prometheus的监控解决方案

0 下载量 120 浏览量 更新于2024-08-29 收藏 543KB PDF 举报
"360容器平台通过采用Prometheus监控工具,构建了一套适应于容器化环境的新监控系统,以解决原有基于Open-Falcon的Wonder系统无法有效监控动态服务的问题。该平台现涵盖5个k8s线上集群,分别位于北京、上海和深圳,并包含GPU集群。容器化带来了资源节约、效率提升、高可用性和减轻运维负担等优势。监控系统关注容器、Pod和应用三个层次,并支持自定义监控以满足不同业务需求。对于未使用Prometheus的老系统,可以通过sidecar模式添加监控功能。" 在容器化时代,360的监控策略发生了显著变化。原有的监控体系,基于小米开源项目Open-Falcon的Wonder系统,虽然适用于物理机和虚拟机的监控,但面对Kubernetes的动态服务扩展能力时显得力不从心。因此,360团队构建了一个全新的监控系统,该系统支持服务发现,适应了容器化的快速变化和弹性扩展。 这个新的监控平台建立在Prometheus之上,Prometheus是一款流行的时序数据库和监控系统,能够有效地处理动态服务实例。360的监控系统分为三个层次:容器、Pod和应用。容器是最基本的监控单位,Pod作为Kubernetes的基本部署单元,可以包含一个或多个容器,而应用则可能由多个Pod组成。这种多层次的监控设计确保了对整个容器生态系统全面的洞察。 容器化带来的好处包括资源的有效利用和效率提升。与传统的物理机和虚拟机相比,容器可以在同一台机器上部署更多的服务,从而极大地节省了硬件资源。同时,Kubernetes的自动化流程使得服务部署和扩容更加迅速,提高了运维效率。此外,容器平台的高可用性保证了服务始终能够达到预期的运行状态,降低了因故障导致的服务中断风险。 为了解决不同业务的个性化监控需求,360的容器平台提供了自定义监控功能。新开发的业务可以直接在代码中集成Prometheus的SDK,生成自定义的metrics,这些数据会被监控系统收集并分析。对于那些早期未设计监控功能的老系统,可以通过sidecar容器模式,即在同一Pod中添加额外的监控容器,实现对原有服务的监控增强。 360的容器平台借助Prometheus成功地构建了一个能够应对容器化挑战的监控解决方案,不仅优化了资源分配,提升了运维效率,还确保了服务的稳定性和可扩展性,同时支持灵活的业务定制,满足了不同团队的监控需求。