400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
Grafana 的报警(Alert)功能是在配置监控的基础上,检测对应监控指标是否符合设置的触发标准,用于通知并帮助及时发现和修复问题,保障你的集群安全且稳定。 本节描述了配置监控报警组件和管理使用的步骤。YMatrix 可为以下指标提供监控报警功能。
并为各个指标配置了四种报警方式,你可酌情选择,或组合使用。分别是:
为了使用报警功能,你需要首先部署启用监控,详细步骤请见:监控部署
部署后会得到下图界面:
在导入预定义的报警面板进行部署配置之前,你需要先把 alert.json 文件从服务器拷贝到本地。与 Grafana中导入 dashboard.json 和 database.json 文件类似,思路为:首先在服务器上找到该文件,然后进行复制操作,最后在本地导入上传。具体步骤如下 :
首先登陆服务器,切换至 mxadmin 用户,在图片所示路径处查找到 alert.json 文件。你可以使用 cd 命令,也可以使用 find 命令,或是其它任何你擅长使用的方法。
[mxadmin@mdw ~]$ cd /opt/ymatrix/matrixdb5/share/doc/postgresql/extension
##or
[mxadmin@mdw ~]$ find /opt/ymatrix/matrixdb5/share/doc/postgresql/extension -name alert.json
其次,使用 scp 命令将文件复制到本地,此处可能会涉及到权限问题,可以考虑先将文件复制到公用区域 /tmp/ ,再从 /tmp/ 将文件复制到本地。
注意!
将文件从 /tmp/ 复制到本地时要注意切换用户,以避免权限问题。
[mxadmin@mdw]$ scp mxadmin@< 服务器IP地址 >:/opt/ymatrix/matrixdb5/share/doc/postgresql/extension/"alert.json" mxadmin@< 服务器IP地址 >:/tmp/
~ scp waq@< 服务器IP地址 >:/tmp/"alert.json" /Users/akkepler/workplace/Grafana
最后直接点开本地文件夹,或者用命令行检查文件是否复制成功。成功后,需要在本地批量修改 alert.json 文件的变量 $host 为实际的全部主机名。意思即假如你现在拥有集群 master + 2 segment,名称分别叫做 mdw,sdw1,sdw2,那么你需要将你的 alert.json 文件中的所有 $host 均改为 'mdw','sdw1','sdw2' 。修改完毕在 Grafana 界面导入上传文件即可。
注意!
在部署你的 Grafana 界面时上穿的 dashboard.json 文件以及 database.json 文件也需要修改变量,且上传顺序必须在 alert.json 文件之前。dashboard.json 需要修改所有 ${cluster} 为 local ,且 $host 为实际的全部主机名。database.json 只需修改前者。
选择 alert.json 文件,该文件位于 /opt/ymatrix/matrixdb5/share/doc/postgresql/extension。
报警面板与监控面板使用方式一致,可以通过下拉列表互相切换。下拉列表位于各面板的右上角。
首先需要配置报警渠道(Notification Channels), 入口如下所示:
YMatrix 内置了基于阿里云短信服务的报警功能,建议使用。选择内置服务,若触发报警,会向你配置的手机号发送短信。支持批量发送。使用前需要申请并配置阿里云的短信服务,详细步骤请参考:
你也可以自行配置 Webhook 进行短信报警,需要编程实现 Webhook 的逻辑,具体方法请见 Grafana Alert 文档:Webhook Notifications
在 /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} 报警,请登陆网站查看详情,并及时处理。
如图所示:
Channel 名称建议遵守如下规则填写:
Aliyun Batch Short Message - For SuperAdministrators
其中 "SuperAdministrators" 是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,你需要另行配置规则。除此之外, “phoneNumbers” 参数大小写敏感,可以配置多个以实现批量发送,用英文逗号分开。
http://
: /api/alert/batch-sms?phoneNumbers=18311111111,13811111111
除短信报警功能外,YMatrix 同时内置了基于阿里云电话语音服务的报警功能,若触发报警,会向你配置的手机号拨打电话。同样支持批量拨打。使用前需要申请并配置阿里云的语音电话服务,详细步骤请见:阿里云文档:国内语音服务快速入门
你也可以自行配置webhook进行电话语音报警,不过需要编程来实现Webhook的逻辑。在此不详述,如果你感兴趣的话,具体方法请见 Grafana Alert 文档:Webhook Notifications
在 /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} 报警,请登陆网站查看详情,并及时处理。
Channel 名称建议遵守如下规则填写:
Aliyun Voice Message - For SuperAdministrators
其中 "SuperAdministrators" 是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,你需要另行配置规则。除此之外, “phoneNumbers” 参数大小写敏感,可以配置多个以实现批量发送,用英文逗号分开。
http://
: /api/alert/vms?phoneNumbers=18311111111,13811111111
Grafana 还内置了 Email 报警渠道,配置简单,使用方便。
因为是 Email 报警是 Grafana 的自带功能,所以配置 SMTP 服务器是在 Grafana 的配置文件内。Grafana 的配置文件可能因 Grafana 的部署情况而变,在 CentOS 7 上的默认路径是:
/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
如图所示:
Channel 名称建议遵守如下规则填写:
Email - For SuperAdministrators
其中 "SuperAdministrators" 是一组需要接收报警通知的人员。如需定义另一组需报警通知的人员,请另行配置规则。
注意!
如配置不成功,你可以根据 /var/log/grafana/grafana.log 文件查看原因。
YMatrix 提供了基于钉钉的告警功能,若触发告警,你提前设置好的告警机器人会在群中发送提示信息。为了充分地利用此功能,你需要提前做好钉钉软件内部以及 Grafana 界面的双重配置。
如图所示: 你需要创建一个钉钉群,并配置一个或多个钉钉告警机器人。
在“添加机器人”界面点击设置按钮,选择“自定义”,你可以自定义机器人名称,并添加告警推送关键字,最后保存告警推送地址即可。
首先,需要在 Grafana 界面创建推送规则,填写相关选项。
配置完成后,点击 “Test” 检查 Grafana 与钉钉是否连通,如果连通,可以在钉钉告警群内点击相关告警信息跳转到 Grafana 界面,如果网页加载失败,报错 “localhost 拒绝了我们的连接请求”,你可能是忘记了修改 localhost 为你的 IP 地址。
报警渠道配置完毕后,你需要为各个监控报警视图配置报警(Alert)参数。 参数配置以及其他信息请见:Grafana 官方文档: Alert
将鼠标悬停在具体报警模块名称上,你可以看到名称右方的下拉箭头。点击"Edit"进入编辑面板。
将 "Edit Panel" 下方的 “Query” 切换到 "Alert" 菜单下。请注意如果此时跳出一个窗口 "Notifier with invalid ID is detected",请不要点击 "Delete",否则你可能会将面板删除,前功尽弃。点击 "Cancel",然后关闭窗口即可。
下滑即可看到 "Notifications"。请用简洁的短语描述报警提示信息,建议四~六字,这个短语将会出现在 Email 中,并作为短信及语音模版中内置变量发送给管理员。短信及语音字数有限制,不要超过长度。同时,根据你的需要灵活选择发送(Sent to)选项,即你刚刚通过以上大量说明配置出的一种或多种报警渠道。
时序数据库聚合的是一段时间内的数据,可能由于时间的问题,聚合的时候没有获取到数据,例如 Grafana 时间比系统时间超前五分钟,聚合最近一分钟的数据,这种情况下就会出现没有数据。除此之外,数据采集有问题,没有正常写入库,也会造成 No Data 情况的出现。对“没有数据”(No Data)情形的处理是“Alerting”。
如图所示:
磁盘空间报警(Used Disk Space)的红色警戒线是报警设置的触发值,红色阴影部分已超出警戒线,是危险信号。我们给到 85% 的报警默认值,你也可以根据你的需要自定义 "IS ABOVE"。
磁盘 I/O 读写报警(Disk IO Reading、Disk IO Writing)默认值为不报警,给予你充分的自定阈值空间。
注意!
改动后需点击“save 键”,你的报警设置才会被应用。
source /opt/ymatrix/matrixdb5/greenplum_path.sh
supervisorctl stop mxui
supervisorctl start mxui