Metabase能够依据数据表快速制作出美观的图表,还能将这些图表拼装成更为高大上的大屏
,那么假如在大屏显现的基础上,加入对于图表上面的值做一些简略的阈值告警,比如说假如某个值大于多少,就发送音讯到企业微信上面告诉咱们,是不是挺好的呢。
Metabase由于OpenSource版别功用有限,所以只能做到最小间隔每小时的自动检测,它能够检查某个图表上面的某个数值,是否超出或许低于目标线(阈值),然后发邮件进行告警。这个比照专业的运维告警系统,如OpenFalcon等是远远不及的,不过假如只是作为简略运用也还是足够了。
本文就来了解一下Metabase的图表阈值告警功用。看看怎样把它的告警和企业微信联系到一起。
SMTP 组件
上面说过,Metabase的OpenSource版别只能经过邮件来进行告警,所以咱们能够假装成一个SMTP邮件服务器,接收到它的告警邮件,再将其转发成企业微信的告诉信息。
SMTP服务转发企业微信东西:github.com/SpeedPHP/sm…
这个东西是运用Node编写的,直接拉取源码后,npm装置依赖并pm2发动即可。
git clone https://github.com/SpeedPHP/smtp-alert.git
cd smtp-alert
npm i
pm2 start
根目录下面的package.json能够装备本机IP和端口,邮件里边图表链接前缀以及企业微信的认证信息(在企业微信后台获得)。
"ip": "192.168.0.2", // 本机IP,或许是自己的SMTP域名
"port": 3045, // 端口
"link_prefix": "http://192.168.0.2:3000", // 图表链接的前缀
"qyapi_gettoken_url": "https://qyapi.weixin.qq.com/cgi-bin/gettoken",
"qyapi_sendmsg_url": "https://qyapi.weixin.qq.com/cgi-bin/message/send",
"qyapi_corpid": "This_is_your_corpid", // 企业微信的corpid
"qyapi_corpsecret": "This_is_your_corpsecret", // 企业微信的corpsecret
"qyapi_agentid": "This_is_your_agentid" // 企业微信当前告警使用的agentid
装备好以上内容后,重启即可。
Metabase装备邮箱
进入Metabase的办理员装备里边,挑选邮箱
:
然后填入前面smtp-alert的装备信息:
保存即可。
企业微信装备
登录企业微信后台,进入使用办理
,创建新的使用:
如图,咱们建立了一个名为Metabase告诉
的使用。
获得这个使用的agentid,企业微信的corpid以及corpsecret,填入smtp-alert装备里边。
图表增加目标线(阈值)
咱们这儿演示仍是用默认Sample Dataset的Orders表。
当咱们按天来对Total字段设置图表的时分:
点击设置
,里边的显现
面板打开目标线
,并且设定目标值,这儿设定150。
那么图表上面同时也会呈现目标线的显现。之后保存图表。
告警装备
在上面装备好了目标线
的图表,右下角会呈现一个铃铛的标志(假如没有装备目标线是不会呈现的),点击它。
进入目标线告警的装备,这儿能够挑选高于
或许低于
目标值,也能够设定频次和时刻(最小是每小时),发送到Email。
之后,假如一个小时内,产生的数据超过了目标值,就会发送企业微信的告诉过来了。
以上,咱们了解了怎么运用smtp-alert东西来对接Metabase的SMTP告警,到达发送告警给企业微信的功用。这个功用不算是很好用的,由于Metabase约束了每小时检测一次,并且检测条件也很单调。其实也解开这个问题能够经过修正Metabase的源码来实现,笔者见过能够到达每分钟告警的,不过Metabase源码是Clojure,也又是另一个难题了。
Metabase 系列文章:图表篇,大屏篇,告警篇。
我正在参加技术社区创作者签约计划招募活动,点击链接报名投稿。