Venus 告警通知

Nebula内置4种类别的告警通知

  • 服务/资源的【可用性】告警
  • 服务节点的 心跳/打卡 告警
  • 基于 指标规则 的监控告警
  • 应用程序启动失败的异常日志告警



服务/资源的【可用性】告警

Venus会根据配置服务中定义的资源进行【可用性】探测,如果测试失败,就会发送告警(如下图)

xx

Venus对应的监控界面

xx

这些资源定义在配置服务的settings表中,由restype表示资源类型。 Venus支持的【可用性】探测 类型如下表

restype列值资源类别
1RabbitMQ
2Kafka
3Redis
4站点Url
10Website/PublicService/InternalService

除了资源,还包含在配置服务中维护的数据库连接,Venus支持的数据库类型如下:

dbType列值数据库类别
0SQLSERVER
1MySQL
2PostgreSQL
4MongoDB
6HBase
7InfluxDB



服务节点的 心跳/打卡 告警

xx

Venus会根据最近一次的心跳时间来检查应用程序有没有按时打卡。

xx

如果某个应用有多个节点,只要有一个按时打卡都认为是正常,反之则产生告警。



基于 指标规则 的监控告警

xx

根据指定的配置来产生的告警,可参考:Venus 指标监控 章节介绍。



应用程序启动失败的异常日志告警

xx

应用程序如果启动失败,会将完整的代码调用堆栈以文件形式发送出来。



本文不介绍这些告警是如何产生的,只介绍这些告警是如何发出来的。



告警配置

从以上截图可以看出,告警消息被发送到了一个【企业微信群】中。
要实现这个告警通知需要指定4个参数:

参数名称参数含意
ImApp.Auth.Config企业微信【登录参数】
Nebula.FatalError.ImChatId企业微信【群ID】
Nebula.Venus.UrlVenus地址
Nebula.MonitorOption监控频率(可选)

ImApp.Auth.Config 参数格式
ImType=WxWork;AgentId=xxxx;AppId=xxxxxxxx;AppSecret=xxxxxxxxx

说明:

  • 企业微信群ID: 这个群必须是使用 AgentId=xxxx 这个企业微信应用创建的。