监控告警平台的国产化选择—Rancher与夜莺的集成

原创
05/26 11:56
阅读数 2.2K

作者简介
张智博,SUSE Rancher 大中华区研发总监,一直活跃在研发一线,经历了 OpenStack 到 Kubernetes 的技术变革,在底层操作系统 Linux、虚拟化 KVM 和 Docker 容器技术领域都有丰富的研发和实践经验。

通常提到在 Kubernetes 集群中搭建监控告警平台,普遍的选择都是 Prometheus,这源于 Prometheus 早期与 Kubernetes 的不断演进以及后续良好发展的生态。实际上,我们有很多不错的选择,尤其是一些国内优秀团队的作品。本文以 Rancher 与夜莺的整合为视角,为社区用户提供一些新的线索,这是打造一站式监控告警的另一个选择。

夜莺监控 (Nightingale) (https://github.com/ccfos/nightingale),是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析能力。2022 年 5 月 11 日,夜莺监控项目赠予了中国计算机学会开源发展委员会(CCF ODC),成为该组织成立后接受捐赠的首个开源项目。

本文的集成实践遵循快速上手体验原则,通过 Rancher 部署 RKE 集群,并将夜莺的 Helm Chart 通过 Rancher UI 安装到该集群中。版本信息如下:

Rancher v2.6.4
Nightingale Chart v0.1.0
RKE Kubernetes 1.22.9
Local Path Provisioner v0.0.22

Rancher 具备非常开放的整合能力,夜莺的 Helm Chart 可以非常方便地通过 Rancher Explorer UI 进行管理。安装 Rancher 并使用 RKE 引擎部署下游集群,在 Explorer UI 中切换到该集群,在 App&Marketplace 添加夜莺 Helm Chart Repo,刷新后可在 Charts 中找到 Nightingale:

夜莺的安装需要有 PVC 支持持久化数据,这里使用 Rancher 开发的一个轻量的 Local Path Provisioner,直接在当前集群中执行 kubectl shell 进行快速安装即可。

kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.22/deploy/local-path-storage.yaml

夜莺的 Dashboard 支持多种访问方式,考虑到快速上手原则,这里使用 NodePort 暴露方式,在安装的 yaml 中,修改expose.type: nodePort

等提示安装完成后,进入 Explorer UI 的 Service Discovery,使用 nightingale 过滤 Service,可以看到暴露的 NodePort 端口为 30007:

访问该 NodePort 端口,使用默认的超管用户(root/root.2020)即可登录到夜莺的 Dashboard:

由于夜莺 Helm Chart 会以 Daemonset 的形式,在 k8s 每个节点上启动了 telegraf 采集器,因此节点主机相关的监控指标,默认会自动被收集到夜莺系统中,只需要在夜莺 Web UI 导入内置的 Dashboard 和 Alert Rule,就可以很顺利的拿到可替代社区 Prometheus 的一站式监控告警平台。

导入内置 Dashboard:

导入内置的 Alert Rule:

在弹出的选择框中,选择导入 linux_by_telegraf,即可看到 Linux 主机相关的告警策略已经成功导入并且生效了。

夜莺的商业化支持目前由独立公司快猫星云(https://flashcat.cloud)负责。快猫星云秉承让监控分析变简单的初心和使命,依托其先进云原生监控分析平台,贯通监控数据要素,集数据采集、可视化、监控告警、数据分析于一体,为企业提供开箱即用的云原生监控分析能力。

展开阅读全文
加载中

作者的其它热门文章

打赏
1
1 收藏
分享
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部
返回顶部
顶部