首页 > 其他分享 >一文搞定K8S监控告警平台选型

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

时间:2023-12-20 14:22:20浏览次数:40  
标签:搞定 k8s 夜莺 prometheus Grafana 选型 监控 告警 K8S

公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享

前言

最近在搞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完善,需要自己去配置相应的采集指标,不过好在官方文档有指引,文档地址:k8s 监控专栏
  2. 对 Grafana 支持性差点,虽然官方说,可以支持导入 Grafana 报表,但是在使用过程中,还是发现有些组件不兼容,目前还在逐步完善
  3. 夜莺的报表导出无法直接导入到Grafana中,这可能也是夜莺商业化的考虑一个点,要对用户有粘性
  4. 生态没有Prometheus+Grafana好,Prometheus有CNCF作为背书,Grafana已经是数据可视化默认选择,所以很多开源系统都是基于这套方案来实现

总结

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

标签:搞定,k8s,夜莺,prometheus,Grafana,选型,监控,告警,K8S
From: https://www.cnblogs.com/waldron/p/17916432.html

相关文章

  • 脚本 给kubeadm安装的k8s集群 进行证书的延期 从1年改成10年
    请谨慎使用先测试#!/bin/bashset-oerrexitset-opipefail#set-oxtracelog::err(){printf"[$(date+'%Y-%m-%dT%H:%M:%S.%N%z')]:\033[31mERROR:\033[0m$@\n"}log::info(){printf"[$(date+'%Y-%m-%dT%H:%M:%S.%N%z'......
  • 阿里云ECS自建K8S_IPV6重启后异常问题解决过程
    阿里云ECS自建K8S_IPV6重启后异常问题解决过程背景最近安装了一个单节点的K8S_IPV6昨天不知道何故突然宕机了.然后只能在阿里云的控制台后台重启了ECS启动之后看K8S的状态一开始是正常的.但是查看ing的时候,发现IP地址却变成了IPV4的地址,感觉比较奇怪.这里整理一下......
  • 实时湖仓技术选型,企业如何借实时湖仓赢在“数据驱动”时代
    在之前三期的实时湖仓系列文章中,我们从业务侧、产品侧、应用侧等几个方向,为大家介绍了实时湖仓方方面面的内容,包括实时湖仓对于企业数字化布局的重要性以及如何进行实时湖仓的落地实践等。本文将从纯技术的角度,为大家解析实时湖仓的存储原理以及生态选型,为企业建设实时湖仓给出技术......
  • 从物理机到K8S:应用系统部署方式的演进及其影响
    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。概述随着科技的进步,软件系统的部署架构也在不断演进,从以前传统的物理机到虚拟机、Docker和Kubernetes,我们经历了一系列变化。这些技术的引入给我们带来了更高的资源利用率、更快的部署速度和更强......
  • kubernetes(k8s)Gitlab CI Runner 的安装
    kubernetes(k8s)GitlabCIRunner的安装简介从Gitlab8.0开始,GitlabCI就已经集成在Gitlab中,只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成。在介绍GitlabCI之前,先看看一些GitlabCI的一些相关概念。流程逻辑如下:Jobs->Stages->Pipel......
  • 实时湖仓技术选型,企业如何借实时湖仓赢在“数据驱动”时代
    在之前三期的实时湖仓系列文章中,我们从业务侧、产品侧、应用侧等几个方向,为大家介绍了实时湖仓方方面面的内容,包括实时湖仓对于企业数字化布局的重要性以及如何进行实时湖仓的落地实践等。本文将从纯技术的角度,为大家解析实时湖仓的存储原理以及生态选型,为企业建设实时湖仓给出技......
  • 如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1
    本系列将分成三个部分,您将学习如何使用Helm在Kubernetes上集成Prometheus和Grafana,以及如何在Grafana上创建一个简单的控制面板。Prometheus和Grafana是Kubernetes最受欢迎的两种开源监控工具。学习如何使用Helm集成这两个工具,使您能够轻松监控Kubernetes集群并......
  • 深入 K8s 网络原理(一)- Flannel VXLAN 模式分析
    目录1.概述2.TL;DR3.Pod间通信问题的由来4.测试环境准备5.从veth设备聊起6.网桥cni06.1在Pod内看网卡信息6.2在host上看网卡信息7.VTEPflannel.18.最后看下Flannel的配置9.总结1.概述这周集中聊下K8s的集群网络原理,我初步考虑分成3个方向:Pod-to-Pod......
  • 制造行业什么样的CRM系统好用?制造业CRM选型指南
      当前,推动制造业数字化转型已成时代发展趋势。为了适应这一趋势,制造业使用CRM管理系统是非常重要的。那么,制造业CRM应该怎么选?1、全方位客户管理订单价值大,交货周期长,客户开发难。。。这一直是制造业的痛点。前二点是由于行业特性,第三点是制造业客户一般来自不同规模和行业......
  • k8s - error: 0/1 nodes are available: 1 node(s) had untolerated taint
     WarningFailedScheduling89sdefault-scheduler0/1nodesareavailable:1node(s)haduntoleratedtaint{node.cloudprovider.kubernetes.io││/uninitialized:true}.preemption:0/1nodesareavailable:1Preemptionisnothelpf......