在现有监控系统下,如何进行容器云应用监控实施?

在现有监控系统下,如何进行容器云应用监控实施?是否进行整体集成,容器云相关监控自成一体?还是对接现有监控系统,纳入整体监控平台?显示全部

在现有监控系统下,如何进行容器云应用监控实施?是否进行整体集成,容器云相关监控自成一体?还是对接现有监控系统,纳入整体监控平台?

收起
参与27

查看其它 8 个回答匿名用户的回答

匿名用户匿名用户

监控是运维体系中是非常重要的组成部分,通过监控可以实时掌握系统运行状态,对故障提前预警, 以及历史状态的回放,还可以通过监控数据为系统的容量规划提供辅助决策,为系统性能优化提供真实的用户行为和体验。为容器云提供良好的监控环境是保证容器服务的高可靠性、高可用性和高性能的重要部分,容器云监控的方案可以推荐几种:
(1)Zabbix
Zabbix是由Alexei Vladishev开源的分布式监控系统,支持多种采集方式和采集客户端,同时支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库中,然后对其进行分析整理,如果符合告警规则,则触发相应的告警。
Zabbix核心组件主要是Agent和Server,其中Agent主要负责采集数据并通过主动或者被动的方式采集数据发送到Server/Proxy,除此之外,为了扩展监控项,Agent还支持执行自定义脚本。Server主要负责接收Agent发送的监控信息,并进行汇总存储,触发告警等。

Zabbix Server将收集的监控数据存储到Zabbix Database中。Zabbix Database支持常用的关系型数据库, 如MySQL、PostgreSQL、Oracle等,默认是MySQL,并提供Zabbix Web页面(PHP编写)数据查询。

Zabbix由于使用了关系型数据存储时序数据,所以在监控大规模集群时常常在数据存储方面捉襟见肘。所以从Zabbix 4.2版本后开始支持TimescaleDB时序数据库,不过目前成熟度还不高。

(2)Nagios
Nagios原名为NetSaint,由Ethan Galstad开发并维护。Nagios是一个老牌监控工具,由C语言编写而成,主要针对主机监控(CPU、内存、磁盘等)和网络监控(SMTP、POP3、HTTP和NNTP等),当然也支持用户自定义的监控脚本。

它还支持一种更加通用和安全的采集方式NREP(Nagios Remote Plugin Executor),它首先在远端启动一个NREP守护进程,用于在远端主机上面运行检测命令,在Nagios服务端用check nrep的plugin插件通过SSL对接到NREP守护进程执行相应的监控行为。相比SSH远程执行命令的方式,这种方式更加安全。

(3)Prometheus
Prometheus是一个很受欢迎的开源监控和警报工具包,继Kubernetes之后成为第二个正式加入CNCF 基金会的项目,2017年底发布了基于全新存储层的2.0版本,能更好地与容器云平台配合。能实现docker status、cAdvisor的监控功能,并且Prometheus原生支持Kubernetes监控,具有Kubernetes对象服务发现能力,Kubernetes的核心组件也提供了Prometheus的采集接口。单个Prometheus可以每秒抓取10万的metrics,能满足一定规模下k8s集群的监控需求,并且具备良好的查询能力,提供数据查询语言PromQL, PromQL提供了大量的数据计算函数,大部分情况下用户都可以直接通过PromQL从Prometheus里查询到需要的聚合数据。

银行 · 2022-05-20
浏览1487

回答状态

  • 发布时间:2022-05-20
  • 关注会员:11 人
  • 回答浏览:1487
  • X社区推广