快猫导读:
Rancher 是一个开源的企业级Kubernetes管理平台,本文由 SUSE Rancher 大中华区研发总监张智博分享 Rancher 与夜莺的集成实践,具体讲解如何通过 Rancher 部署 RKE 集群,并将夜莺的 Helm Chart 通过 Rancher UI 安装到该集群中,打造开箱即用的一站式监控告警平台。
核心摘要
- 本文以 Rancher 与夜莺监控的集成为主线,演示通过 Rancher Explorer UI 安装 Nightingale Helm Chart。
- 实践环境包括 Rancher v2.6.4、RKE Kubernetes 1.22.9、Nightingale Helm Chart v0.1.0 和 Local Path Provisioner v0.0.22。
- 夜莺安装依赖 PVC,示例中使用 Rancher 的 Local Path Provisioner 作为轻量持久化方案。
- 为了快速体验,本文使用 NodePort 暴露夜莺 Dashboard,并通过默认超管用户登录。
- Helm Chart 会以 DaemonSet 形式部署 telegraf 采集器,节点主机监控指标可以进入夜莺后通过内置 Dashboard 和 Alert Rule 使用。
实践目标和版本边界
本文不是对 Rancher、Kubernetes 或夜莺所有部署方式的完整说明,而是一次快速集成实践:在 Rancher 管理的 RKE 集群中,通过 UI 安装夜莺 Helm Chart,验证监控页面、采集器、Dashboard 和告警规则能否跑起来。
文中的版本、截图和默认端口来自原实践环境。读者在新版本 Rancher、夜莺或 Kubernetes 中操作时,界面名称、Chart 参数和默认配置可能会不同,但整体路径仍然可以作为参考:准备集群、准备存储、添加 Chart Repo、安装夜莺、暴露访问入口、导入 Dashboard 和告警规则。
通常提到在 Kubernetes 集群中搭建监控告警平台,普遍的选择都是 Prometheus,这源于 Prometheus 早期与 Kubernetes 的不断演进以及后续良好发展的生态。实际上,我们有很多不错的选择,尤其是一些国内优秀团队的作品。本文以 Rancher 与夜莺的整合为视角,为社区用户提供一些新的线索,这是打造一站式监控告警的另一个选择。
夜莺监控 (Nightingale) (github.com/ccfos/nightingale),是一款开源云原生监控分析系统,采用 All-In-One 的设计,集数据采集、可视化、监控告警、数据分析于一体,与云原生生态紧密集成,提供开箱即用的企业级监控分析能力。2022 年 5 月 11 日,夜莺监控项目赠予了中国计算机学会开源发展委员会(CCF ODC),成为该组织成立后接受捐赠的首个开源项目。
本文的集成实践遵循快速上手体验原则,通过 Rancher 部署 RKE 集群,并将夜莺的 Helm Chart 通过 Rancher UI 安装到该集群中。版本信息如下:
| 组件 | 版本 |
|---|---|
| Rancher | v2.6.4 |
| Nightingale Helm Chart | v0.1.0 https://github.com/flashcatcloud/n9e-helm |
| RKE | Kubernetes 1.22.9 |
| Local Path Provisioner | v0.0.22 https://github.com/rancher/local-path-provisioner |
集成步骤
1. 在 Rancher 中添加 Nightingale Helm Chart
Rancher 具备非常开放的整合能力,夜莺的 Helm Chart 可以非常方便地通过 Rancher Explorer UI 进行管理。安装 Rancher 并使用 RKE 引擎部署下游集群,在 Explorer UI 中切换到该集群,在 App&Marketplace 添加夜莺 Helm Chart Repo,刷新后可在 Charts 中找到 Nightingale:

2. 准备 PVC 所需的存储能力
夜莺的安装需要有 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
3. 使用 NodePort 暴露夜莺 Dashboard
夜莺的 Dashboard 支持多种访问方式,考虑到快速上手原则,这里使用 NodePort 暴露方式,在安装的 yaml 中,修改 expose.type: nodePort。

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

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

4. 导入 Dashboard 和 Alert Rule
由于夜莺 Helm Chart 会以 DaemonSet 的形式,在 Kubernetes 每个节点上启动 telegraf 采集器,因此节点主机相关的监控指标默认会被收集到夜莺系统中。只需要在夜莺 Web UI 导入内置的 Dashboard 和 Alert Rule,就可以得到一套开箱即用的一站式监控告警平台。
导入内置 Dashboard:


导入内置的 Alert Rule:

在弹出的选择框中,选择导入 linux_by_telegraf,即可看到 Linux 主机相关的告警策略已经成功导入并且生效了。
夜莺监控的商业化支持目前由独立公司快猫星云(flashcat.cloud)负责。快猫星云秉承让监控分析变简单的初心和使命,依托其先进云原生监控分析平台,贯通监控数据要素,集数据采集、可视化、监控告警、数据分析于一体,为企业提供开箱即用的云原生监控分析能力。
结论
这次实践说明,Rancher 和夜莺的集成路径比较直接:Rancher 负责 Kubernetes 集群管理和 Helm Chart 安装入口,夜莺负责监控、可视化和告警能力,Local Path Provisioner 解决快速体验环境里的 PVC 需求。
对希望在 Kubernetes 集群中快速验证国产开源监控告警平台的团队来说,这种方式的价值在于低门槛:不需要从零手写大量 YAML,也不需要先搭完整的外部存储体系,就能先看到节点指标、Dashboard 和告警规则。
FAQ
Q1:本文是否要求必须使用 RKE? A:本文实践环境使用的是 RKE Kubernetes 1.22.9。核心思路是通过 Rancher 管理的 Kubernetes 集群安装 Nightingale Helm Chart,其他集群类型需要结合实际 Chart 参数和存储配置调整。
Q2:为什么要安装 Local Path Provisioner? A:夜莺安装需要 PVC 支持持久化数据。示例环境为了快速上手,使用 Rancher 的 Local Path Provisioner 提供轻量存储能力。
Q3:NodePort 是生产推荐方式吗? A:本文使用 NodePort 是为了快速体验和验证访问。生产环境应结合企业网络、安全策略和集群入口规范选择合适的暴露方式。
Q4:安装后为什么能看到节点监控? A:原文环境中,夜莺 Helm Chart 会以 DaemonSet 形式在每个 Kubernetes 节点启动 telegraf 采集器,节点主机指标会进入夜莺,再配合内置 Dashboard 和 Alert Rule 使用。
About SUSE Rancher
Rancher是一个开源的企业级 Kubernetes 管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为“2020年多云容器开发平台领导厂商”以及“2018年全球容器管理平台领导厂商”,被Gartner评为“2017年全球最酷的云基础设施供应商”。
关于夜莺监控
- Github:github.com/ccfos/nightingale
- Proposal & Issues: github.com/ccfos/nightingale/issues
- Docs: n9e.github.io
欢迎Star 和提交 Proposal,也欢迎扫码入群与5000+运维监控从业者交流、共创。
关于快猫星云
快猫星云,一家云原生智能运维科技公司,秉承着让监控分析变简单的初心和使命,致力于打造先进的云原生监控分析平台,结合人工智能技术,提升云原生时代数字化服务的稳定性保障能力。
