Venus 告警通知
Nebula内置4种类别的告警通知
- 服务/资源的【可用性】告警
- 服务节点的 心跳/打卡 告警
- 基于 指标规则 的监控告警
- 应用程序启动失败的异常日志告警
服务/资源的【可用性】告警
Venus会根据配置服务中定义的资源进行【可用性】探测,如果测试失败,就会发送告警(如下图)
Venus对应的监控界面
这些资源定义在配置服务的settings表中,由restype表示资源类型。
Venus支持的【可用性】探测 类型如下表
restype列值 | 资源类别 |
---|---|
1 | RabbitMQ |
2 | Kafka |
3 | Redis |
4 | 站点Url |
10 | Website/PublicService/InternalService |
除了资源,还包含在配置服务中维护的数据库连接,Venus支持的数据库类型如下:
dbType列值 | 数据库类别 |
---|---|
0 | SQLSERVER |
1 | MySQL |
2 | PostgreSQL |
4 | MongoDB |
6 | HBase |
7 | InfluxDB |
服务节点的 心跳/打卡 告警
Venus会根据最近一次的心跳时间来检查应用程序有没有按时打卡。
如果某个应用有多个节点,只要有一个按时打卡都认为是正常,反之则产生告警。
基于 指标规则 的监控告警
根据指定的配置来产生的告警,可参考:Venus 指标监控 章节介绍。
应用程序启动失败的异常日志告警
应用程序如果启动失败,会将完整的代码调用堆栈以文件形式发送出来。
本文不介绍这些告警是如何产生的,只介绍这些告警是如何发出来的。
告警配置
从以上截图可以看出,告警消息被发送到了一个【企业微信群】中。
要实现这个告警通知需要指定4个参数:
参数名称 | 参数含意 |
---|---|
ImApp.Auth.Config | 企业微信【登录参数】 |
Nebula.FatalError.ImChatId | 企业微信【群ID】 |
Nebula.Venus.Url | Venus地址 |
Nebula.MonitorOption | 监控频率(可选) |
ImApp.Auth.Config 参数格式
ImType=WxWork;AgentId=xxxx;AppId=xxxxxxxx;AppSecret=xxxxxxxxx
说明:
- 企业微信群ID: 这个群必须是使用 AgentId=xxxx 这个企业微信应用创建的。