一文搞定K8S监控告警平台选型
公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享
前言
最近在搞K8S的监控告警平台选型,对比了目前比较流行两款开源平台kube-prometheus、夜莺,也踩了一些坑分享一下
kube-prometheus
项目地址:https://github.com/prometheus-operator/kube-prometheus

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


优点
- 生态好,基于 prometheus,相关开源组件较多,比如mysql-exporter、redis-exporter
- 对 k8s相关组件监控比较完善
- 用户基数大
缺点
部署包部分镜像地址要修改,否则在国内下载不下来
prometheus数据要通过PVC挂载,否则重启数据会丢失
Grafana的时间要进行修改,默认是 UTC 时间
监控指标很方便,但是告警配置比较弱,模板这些都要自己实现,同时告警通知没有与飞书、钉钉、微信这些打通,不过好在有第三方实现:PrometheusAlert
监控第三方中间件,比较繁琐,没有一个大一统的方案,比如要监控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


优点
开箱即用,支持 Docker、Helm Chart、云服务等多种部署方式;集数据采集、监控告警、可视化为一体;
大一统的监控数据采集,夜莺的采集端为Categraf,覆盖支持上百种采集对象,比如K8s、中间件、服务器、交换机等,只需要配置下地址即可采集


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


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

缺点
- 对 k8s 监控相对弱一点,没有kube-prometheus完善,需要自己去配置相应的采集指标,不过好在官方文档有指引,文档地址:k8s 监控专栏
- 对 Grafana 支持性差点,虽然官方说,可以支持导入 Grafana 报表,但是在使用过程中,还是发现有些组件不兼容,目前还在逐步完善
- 夜莺的报表导出无法直接导入到Grafana中,这可能也是夜莺商业化的考虑一个点,要对用户有粘性
- 生态没有Prometheus+Grafana好,Prometheus有CNCF作为背书,Grafana已经是数据可视化默认选择,所以很多开源系统都是基于这套方案来实现
总结
以上我们对比了两种监控告警平台,都有优缺点,可以根据自身需求选择其一进行使用,如果既想要完善的告警管理,有想要Grafana和完善 K8S指标监控,可以把两者结合起来使用,目前有不少公司是这样做的。
一文搞定K8S监控告警平台选型的更多相关文章
- 一文搞定 SonarQube 接入 C#(.NET) 代码质量分析
1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQub ...
- 最强绘图AI:一文搞定Midjourney(附送咒语)
最强绘图AI:一文搞定Midjourney(附送咒语) Midjourney官网:https://www.midjourney.com 简介 Midjourney是目前效果最棒的AI绘图工具.访问Mi ...
- k8s实战之部署Prometheus+Grafana可视化监控告警平台
写在前面 之前部署web网站的时候,架构图中有一环节是监控部分,并且搭建一套有效的监控平台对于运维来说非常之重要,只有这样才能更有效率的保证我们的服务器和服务的稳定运行,常见的开源监控软件有好几种,如 ...
- 一文搞定scrapy爬取众多知名技术博客文章保存到本地数据库,包含:cnblog、csdn、51cto、itpub、jobbole、oschina等
本文旨在通过爬取一系列博客网站技术文章的实践,介绍一下scrapy这个python语言中强大的整站爬虫框架的使用.各位童鞋可不要用来干坏事哦,这些技术博客平台也是为了让我们大家更方便的交流.学习.提高 ...
- 分布式监控告警平台Centreon快速使用
一. Centreon概述 Centreon是一款功能强大的分布式IT监控系统,它通过第三方组件可以实现对网络.操作系统和应用程序的监控:首先,它是开源的,我们可以免费使用它:其次,它的底层采用nag ...
- 一文搞定Spring Boot + Vue 项目在Linux Mysql环境的部署(强烈建议收藏)
本文介绍Spring Boot.Vue .Vue Element编写的项目,在Linux下的部署,系统采用Mysql数据库.按照本文进行项目部署,不迷路. 1. 前言 典型的软件开发,经过" ...
- 一文搞定MySQL的事务和隔离级别
一.事务简介 事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 一个数据库事务通常包含了一个序列的对数据库的读/写操作.它的存在包含有以下两个目的: 为数据库操作序列提供 ...
- 21.SpringCloud实战项目-后台题目类型功能(网关、跨域、路由问题一文搞定)
SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...
- 一文搞定Python正则表达式
本文对正则表达式和 Python 中的 re 模块进行详细讲解 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知 ...
- 一文搞定FastDFS分布式文件系统配置与部署
Ubuntu下FastDFS分布式文件系统配置与部署 白宁超 2017年4月15日09:11:52 摘要: FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储.文件同步.文件访问(文件 ...
随机推荐
- Codeforces 1463D Pairs
题意 对于数字\(1\)~\(2n\),可以构造出\(n\)个二元组,对于\(n\)个二元组,选择一个数组\(x\),留下\(x\)个二元组的最小值,留下\(n-x\)个二元组的最大值,其构成了一个集 ...
- (洛谷P4213)杜教筛
https://www.cnblogs.com/Mychael/p/8744633.html #pragma GCC optimize(3, "Ofast", "inli ...
- 火山引擎DataLeap的数据血缘用例与设计概述
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数据血缘描述了数据的来源和去向,以及数据在多个处理过程中的转换.数据血缘是组织内使数据发挥价值的重要基础能力. ...
- 为不断增长的Go生态系统扩展gopls
原文在这里. 由 Robert Findley and Alan Donovan 发布于 2023年9月8日 今年夏天初,Go团队发布了gopls的v0.12版本,这是Go语言的语言服务器,它进行了核 ...
- ElasticSearch系列——文档操作
文章目录 Elasticsearch的增删查改(CURD) 一 CURD之Create 二 CURD之Update 三 CURD之Delete 四 CURD之Retrieve Elasticsearc ...
- MongoDB数据的导出导入及日志分析
一.远程连接导出报错超时 mongodump -h 10.110.63.150:27017 -u'admin' -p'passwd!' --authenticationDatabase flowtes ...
- 在 Rust 中实现 Repository 仓储模式
前言 单位上有个 Rust 项目,orm 选型很长时间都没定下来,故先设计了抽象的仓储层方便写业务逻辑. 设计抽象接口 抽象只读接口,仅读取使用,目前需求仅用查询 id.查询全部和按名称搜索,当然理应 ...
- linux shell -- sed命令
什么是sed sed 是 stream editor 的缩写,中文称之为"流编辑器". sed 命令是一个面向行处理的工具,它以"行"为处理单位,针对每一行进行 ...
- 分布式应用开发的核心技术系列之——基于TCP/IP的原始消息设计
本文由葡萄城技术团队原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 本文的内容主要围绕以下几个部分: TCP/IP的简单介绍. 消息的介绍 ...
- dfs 序 O(nlogn)-O(1) 求 LCA
学点分树,发现不会询问复杂度 \(O(1)\) 的 LCA.于是被迫递归式学习. 我们设 \(dfn_i\) 表示点 \(i\) 在 dfs 过程中第几个被访问到,把点按访问到的顺序排序得到的序列叫 ...