报警配置

Grafana的报警功能在配置监控的基础上,会检测对应监控指标是否符合设置的触发标准,通知用户,帮助用户及时发现和修复问题,保障集群安全稳定。 本文档描述了配置监控报警组件和管理使用的步骤。MatrixDB可为以下指标提供监控报警功能。

  • 数据库是否可以连接
  • 集群中是否有实例宕机
  • 数据目录空间使用率高于指定值
  • 磁盘读/写IO高于指定值

并为各个指标配置了三种报警方式,用户可酌情选择/组合。分别是:

  • 短信报警
  • 电话语音报警
  • Email报警

部署后的效果图如下: 缺省监控报警面板

注意: 图中的各个报警配置都处于暂停状态,用户可根据需要开启/暂停。开启后各个监控报警配置的状态都会清晰显示在Alert列表上。

1. 部署

为了使用报警功能,需要首先部署启用监控,详细步骤请参考:

监控部署

然后导入预定义的报警面板: 导入报警面板

报警面板与监控面板使用方式一致,并且可以通过下拉列表互相切换。下拉列表位于各面板的右上角。

2.配置说明

2.1 Alert Channel 篇

首先需要配置Alert Channel, 入口如下所示: 缺省监控报警面板-报警渠道

2.1.1 短信报警

MatrixDB内置了基于阿里云短信服务的报警功能,建议用户使用。选择内置服务,若触发报警,会向配置的手机号发送短信。支持批量发送。使用前需要申请并配置阿里云的短信服务,详细步骤请参考:

阿里云文档:国内短信快速入门

用户也可以自行配置webhook进行短信报警,需要编程实现Webhook的逻辑,具体方法请参考Grafana文档。

Grafana Alert 文档:Webhook Notifications

2.1.1.1 编写配置文件

在/etc/matrixdb/ 目录下, 创建alert.yaml文件

# aliyun service config
aliyun_service:
  access_key_id: "your access_key_id"
  access_key_secret: " access_key_secret"
  signature: "signature"
  sms_template_code: "SMS_123445678"

其中 access_key_id 和 access_key_secret 分别是开通阿里云服务后分发的 Access Key ID 和 Access Key Access. signature 是在阿里云短信服务控制面板里注册成功并审核通过的签名原文,sms_templatecode是以"SMS"开头的、在阿里云短信服务控制面板里注册成功并审核通过短信模版代码。模版原文在阿里云平台可以查看。其中承载具体报警信息的变量设置为 ${name}。 以下是一个示例:

尊敬的管理员您好,贵公司的数据库系统发生${name}报警,请登陆网站查看详情,并及时处理。

2.1.1.2 在grafana配置WebHook

如图所示: 报警渠道配置-阿里云短信

channel名称建议遵守如下规则填写:

Aliyun Batch Short Message - For SuperAdministrators

其中"SuperAdministrators"是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,请另行配置规则。

如图所示。其中phoneNumbers参数大小写敏感,可以配置多个以实现批量发送,用英文逗号分开。我们这里默认port是8240。

http://:/api/alert/batch-sms?phoneNumbers=18311111111,13811111111

2.1.2 电话语音报警

MatrixDB内置了基于阿里云电话语音服务的报警功能,建议用户使用。选择内置服务,若触发报警,会向配置的手机号拨打电话。支持批量拨打。使用前需要申请并配置阿里云的语音电话服务,详细步骤请参考:

阿里云文档:国内语音服务快速入门

用户也可以自行配置webhook进行电话语音报警,需要编程实现Webhook的逻辑,具体方法请参考Grafana文档。

Grafana Alert 文档:Webhook Notifications

2.1.2.1 编写配置文件

在/etc/matrixdb/ 目录下的alert.yaml文件添加tts_template_code, region_id两项内容。

# aliyun service config
aliyun_service:
  access_key_id: "your access_key_id"
  access_key_secret: " access_key_secret"
  signature: "signature"
  sms_template_code: "SMS_123445678"
  tts_template_code: "TTS_123456788"
  region_id: "cn-hangzhou"

其中 access_key_id 和 access_key_secret 与信息服务共用。 tts_templatecode是以"TTS"开头的、在阿里云TTS语音服务控制面板里注册成功并审核通过TTS语音模版代码。模版原文在阿里云平台可以查看。其中承载具体报警信息请的变量设置为 ${name}。 以下是一个示例:

尊敬的管理员您好,贵公司的数据库系统发生${name}报警,请登陆网站查看详情,并及时处理。

2.1.2.2 在grafana配置WebHook

报警渠道配置-阿里云语音 channel名称建议遵守如下规则填写:

Aliyun Voice Message - For SuperAdministrators

其中"SuperAdministrators"是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,请另行配置规则。

如图所示。其中phoneNumbers参数大小写敏感,可以配置多个以实现批量发送,用英文逗号分开。我们这里默认port是8240。

http://:/api/alert/vms?phoneNumbers=18311111111,13811111111

2.1.3 Email报警

grafana内置了Email报警渠道,配置简单,使用方便。

2.1.3.1 编写配置文件

因为是Email报警是grafana自带功能,所以配置SMTP服务器是在grafana的配置文件内。grafana的配置文件可能因grafana的部署情况而变,在CentOS 7上的默认路径是:

/usr/local/etc/grafana/grafana.ini

详情请见:grafana官方文档: Configuration

一个可能的配置如下:

#################################### SMTP / Emailing #####################
[smtp]
enabled = true
host = <your smtp host>
user = <your user>
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = <your password>
;cert_file =
;key_file =
skip_verify = true
from_address = <your email address>
from_name = Grafana
;ehlo_identity =
;startTLS_policy =

[emails]
welcome_email_on_sign_up = false
templates_pattern = emails/*.html

2.1.3.2 在grafana配置Email Alert Channel

如图所示: 报警渠道配置-Email channel名称建议遵守如下规则填写:

Email - For SuperAdministrators

其中"SuperAdministrators"是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,请另行配置规则。

2.2 Alert 篇

Alert Channel配置完毕后需要为各个监控报警视图配置报警,并且根据需求调整参数。

参数配置以及其他信息请详见:grafana官方文档: Alert

注意:

  • 请用简洁的短语描述message,建议四~六字,这个短语将会出现在Email中,并作为短信/语音模版中内置变量发送给管理员。因为短信/语音字数有限制,因此不宜长。
  • 可以根据用户需要灵活选择 Sent to 选项,选项即为配置的Alert Channel. 如下图所示,这里把我们刚刚配置的三个Alert Channel全部配置进去了。 Alert-Send-to

以下各项Alert功能均预置完毕。用户可以根据自身需求进行定制。

2.2.1 连接报警

注意:如用户需要定制,请点击并选择Edit长条状的"Connections Auxiliary"视图。这样设计是由grafana的特性决定的。

如图,需注意的是,对 No Data情形的处理是Alerting: 连接报警配置

2.2.2 实例状态报警

注意:如用户需要定制,请点击并选择Edit长条状的"Instances Auxiliary"视图。这样设计是由grafana的特性决定的。

如图: 实例报警配置

2.2.3 磁盘空间报警

如图,其中具体报警数值可以根据用户需要而定,视图中的红色警戒线和红色阴影可能有助于选择: 磁盘空间报警配置

2.2.4 磁盘IO读/写报警

如图,其中具体报警数值可以根据用户需要而定,视图中的红色警戒线和红色阴影可能有助于选择: 磁盘空间报警配置 磁盘空间报警配置

FAQ

  1. alert.yaml配置文件若有修改,请使用如下命令使之生效:
    sudo systemctl restart matrixdb.supervisor.service