夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

最快速体验

前置说明

为了快速体验,我们找一个干净的 Linux x86 的环境,安装 Docker 和 Docker compose,然后使用 Docker compose 来部署夜莺,对接您现有环境的时序库,比如您既有的 Prometheus、VictoriaMetrics、Thanos 等,告警使用 FlashDuty 发送,这样就可以快速体验夜莺的告警、看图能力了。

安装夜莺

具体参考:使用 Docker compose 的方式一键部署夜莺

对接时序库

假设您现网环境下有个 Prometheus,那就直接作为数据源配置到夜莺里即可:

20230821182935

然后就可以在即时查询里查到 Prometheus 的数据了。也可以直接查看 node-exporter 的仪表盘(Prometheus用户很可能用了 node-exporter 作为采集器):

20230821183101

测试告警

夜莺提供了很多内置告警规则,菜单位置:【告警管理】-【内置规则】,此时我们找到 Linux 这个分类,右侧下拉筛选框选择 linux_by_exporter,选中下面的所有告警规则,点击右上角的【批量克隆】,克隆到自己的业务组下:

20230821184528

为了尽快看到告警的效果,可以修改某个告警规则,调整阈值使其必然触发,稍等一下,就可以在【告警管理】-【活跃告警】下面看到新生成的告警事件了。

现在虽然产生告警了,但是没有通过短信、邮件等渠道通知到我们,下面我们来对接 FlashDuty。

对接 FlashDuty 告警

告警需要发短信、邮件、电话等通道,或者发送钉钉、飞书、企微,这些 IM 还好,关键是前面这些短信、邮件、电话通道不好搞,我们图省事,直接对接 FlashDuty。

FlashDuty 是夜莺核心开发者创业提供的一个 SaaS 产品,用于接收聚合各类监控系统的告警事件,比如 Zabbix、Prometheus、Nightingale、Open-Falcon、云监控、Grafana、PagerDuty、Influx、蓝鲸 等等,统一聚合降噪、排班、认领升级等,确保告警处理不遗漏,减少打扰,更好协同。

当前我们只是快速体验夜莺的告警功能,操作很简单:

  1. 去 FlashDuty https://console.flashcat.cloud/ 注册个账号。系统会自动引导您创建默认协作空间,并加入集成,此时您可以选中 Nightingale,如图:

20230821184135

  1. 自动创建了协作空间之后,可以在协作空间里配置数据集成,点击夜莺数据集成可以拿到推送地址(待会会用到这个推送地址URL),然后按照侧拉板里的文档提示,可以在夜莺里配置告警回调。

20230821185115

  1. 刚才咱们特意修改了一个告警规则,使之触发告警,现在咱们找到刚才那个告警规则,点击右侧的克隆按钮,克隆一个新的告警规则:

20230821185602

把名称改改,使之不重复,拉到最下面,找到回调地址,增加一个回调地址:

20230821185929

把刚才 FlashDuty 里的那个回调地址 URL 填过来,这样夜莺告警之后就会调用这个 URL 把告警推给 FlashDuty 了。保存策略,稍等一会就可以在 FlashDuty 的故障列表里看到新生成的告警了。而且也可以收到邮件、短信、电话通知。

之所以会收到通知,是因为 FlashDuty 自动创建了一个默认分派策略,现在您可以先不用关注。后面如果想用 FlashDuty 做告警降噪、认领、升级等相关逻辑的时候可以再深入研究。

总结

本节我们介绍了使用 docker compose 快速部署夜莺,然后把现网的 Prometheus 作为数据源接入,然后导入了内置的大盘和告警规则,并通过 webhook 把告警消息推给了 FlashDuty,利用 FlashDuty 成功发送了告警通知。

开源版
Flashcat
Flashduty