一文搞定K8S监控告警平台选型

云计算 云原生
监控第三方中间件,比较繁琐,没有一个大一统的方案,比如要监控MySQL,需要找 Mysql Helm 包下载在部署,Redis 同理,每个中间件配置部署都得走一遍,有点耗时。

前言

最近在搞K8S的监控告警平台选型,对比了目前比较流行两款开源平台kube-prometheus、夜莺,也踩了一些坑分享一下

kube-prometheus

项目地址:https://github.com/prometheus-operator/kube-prometheus

图片图片

目前使用最广泛的k8s 的开源监控告警平台,在Prometheus基础上,增加了对 k8s 的各种指标的监控,使用了Kubernetes Operator进行了封装,几乎可以一键部署,部署起来以后登录Grafana,就可以看到各种指标,如下图

图片图片

图片图片

优点

1. 生态好,基于Prometheus,相关开源组件较多,比如mysql-exporter、redis-exporter

2. 对 k8s相关组件监控比较完善

3. 用户基数大

缺点

1. 部署包部分镜像地址要修改,否则在国内下载不下来

2. Prometheus数据要通过PVC挂载,否则重启数据会丢失

3. Grafana的时间要进行修改,默认是 UTC 时间

4. 监控指标很方便,但是告警配置比较弱,模板这些都要自己实现,同时告警通知没有与飞书、钉钉、微信这些打通,不过好在有第三方实现:PrometheusAlert

5. 监控第三方中间件,比较繁琐,没有一个大一统的方案,比如要监控MySQL,需要找 Mysql Helm 包下载在部署,Redis 同理,每个中间件配置部署都得走一遍,有点耗时

夜莺

项目地址:https://github.com/ccfos/nightingale

图片图片

夜莺监控是一款开源云原生观测分析平台,采用 All-in-One 的设计理念,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析和告警能力。夜莺于 2020 年 3 月 20 日,在 github 上发布 v1 版本,目前最新版本是 V6 版本。

夜莺是Open-Falcon的团队基于云原生新开发的观测分析平台,可以说是总结之前的一些经验,搞的很不错,官方提供的基于Helm 的安装包,可以进行快速部署,地址:https://github.com/flashcatcloud/n9e-helm

图片图片

图片图片

优点

1. 开箱即用,支持 Docker、Helm Chart、云服务等多种部署方式;集数据采集、监控告警、可视化为一体;

2. 大一统的监控数据采集,夜莺的采集端为Categraf,覆盖支持上百种采集对象,比如K8s、中间件、服务器、交换机等,只需要配置下地址即可采集

图片图片

3. 完善的告警机制,这是夜莺相比其他平台最大的优势,它提供了简易图形化的配置、内置了常用组件的告警规则、支持国内各种通知媒介,比如:飞书、钉钉、企微、电话、邮箱、telegram等

图片图片

图片图片

4. 支持多数据源,支持Prometheus、Es、Loki、TDengine,也就是说可以与kube-prometheus项目进行整合使用。

图片图片

缺点

1. 对 k8s 监控相对弱一点,没有kube-prometheus完善,需要自己去配置相应的采集指标,不过好在官方文档有指引

2. 对 Grafana 支持性差点,虽然官方说,可以支持导入 Grafana 报表,但是在使用过程中,还是发现有些组件不兼容,目前还在逐步完善

3. 夜莺的报表导出无法直接导入到Grafana中,这可能也是夜莺商业化的考虑一个点,要对用户有粘性

4. 生态没有Prometheus+Grafana好,Prometheus有CNCF作为背书,Grafana已经是数据可视化默认选择,所以很多开源系统都是基于这套方案来实现

总结

以上我们对比了两种监控告警平台,都有优缺点,可以根据自身需求选择其一进行使用,如果既想要完善的告警管理,又想要Grafana和完善 K8S指标监控,可以把两者结合起来使用,目前有不少公司是这样做的

责任编辑:武晓燕 来源: 架构成长指南
相关推荐

2024-01-05 11:49:30

K8S监控告警

2022-04-15 08:03:41

SaaS应用管理市场

2023-10-27 23:10:17

K8s框架kubebuilde

2022-11-24 14:32:00

云原生K8S

2021-11-29 13:13:57

网络虚拟化容器

2023-05-25 21:38:30

2024-10-23 11:34:18

云计算KubernetesAkamai

2020-09-01 10:40:11

K8SDocker开源

2022-06-06 08:48:37

整体架构K8s

2024-01-09 08:24:47

JMM核心线程

2021-08-13 05:50:01

ContainerdDockerKubernetes

2021-03-28 18:40:02

LinuxWindowsJava

2021-10-25 16:01:01

Linux设备树字符串

2018-05-29 09:21:13

K8S系统架构

2023-10-26 08:25:39

KubernetesKubeadm

2021-09-18 16:10:48

Spring BootJava微服务

2019-09-23 10:51:14

JavaJava虚拟机Linux

2022-04-22 13:32:01

K8s容器引擎架构

2022-05-05 07:25:03

Supervisor监控Python

2024-04-09 08:00:00

Kubernetes管理系统云原生
点赞
收藏

51CTO技术栈公众号