最快速体验

前置说明

为了快速体验,我们找一个干净的 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 成功发送了告警通知。