监控告警平台的国产化选择—Rancher 与夜莺的集成
作者简介
张智博,SUSE Rancher 大中华区研发总监,一直活跃在研发一线,经历了 OpenStack 到 Kubernetes 的技术变革,在底层操作系统 Linux、虚拟化 KVM 和 Docker 容器技术领域都有丰富的研发和实践经验。
通常提到在 Kubernetes 集群中搭建监控告警平台,普遍的选择都是 Prometheus,这源于 Prometheus 早期与 Kubernetes 的不断演进以及后续良好发展的生态。实际上,我们有很多不错的选择,尤其是一些国内优秀团队的作品。本文以 Rancher 与夜莺的整合为视角,为社区用户提供一些新的线索,这是打造一站式监控告警的另一个选择。
夜莺监控 (Nightingale) ,是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析能力。2022 年 5 月 11 日,夜莺监控项目赠予了中国计算机学会开源发展委员会(CCF ODC),成为该组织成立后接受捐赠的首个开源项目。
本文的集成实践遵循快速上手体验原则,通过 Rancher 部署 RKE 集群,并将夜莺的 Helm Chart 通过 Rancher UI 安装到该集群中。版本信息如下:
Rancher 具备非常开放的整合能力,夜莺的 Helm Chart 可以非常方便地通过 Rancher Explorer UI 进行管理。安装 Rancher 并使用 RKE 引擎部署下游集群,在 Explorer UI 中切换到该集群,在 App&Marketplace 添加夜莺 Helm Chart Repo,刷新后可在 Charts 中找到 Nightingale:
夜莺的安装需要有 PVC 支持持久化数据,这里使用 Rancher 开发的一个轻量的 Local Path Provisioner,直接在当前集群中执行 kubectl shell 进行快速安装即可。
夜莺的 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 主机相关的告警策略已经成功导入并且生效了。
夜莺的商业化支持目前由独立公司快猫星云负责。快猫星云秉承让监控分析变简单的初心和使命,依托其先进云原生监控分析平台,贯通监控数据要素,集数据采集、可视化、监控告警、数据分析于一体,为企业提供开箱即用的云原生监控分析能力。
版权声明: 本文为 InfoQ 作者【Rancher】的原创文章。
原文链接:【http://xie.infoq.cn/article/2914b9b53108c896dd7f46d7e】。文章转载请联系作者。
评论