求个 mdadm 非邮件方式发送告警的办法

2022-01-03 15:30:25 +08:00
 yaleyu

mdadm -m foo@bar.com 可以发送邮件告警,但是现在看邮件越来越少了,不知道有没有办法调用其他方式发送告警,比如调用 python 脚本通过企业微信发送?

1564 次点击
所在节点    Linux
4 条回复
levin1001
2022-01-03 17:41:25 +08:00
根据文档可以用 mdadm --program
yaleyu
2022-01-03 18:19:33 +08:00
@levin1001 谢谢提醒。

看了一些脚本,基本上是 cron 定时运行 mdadm --detail /dev/md...,然后里面如果有 error/warning 就发送告警。

但是没找到 mdadm --monitor --program 参数主动发送的例子。

如果是 python 通过企业微信发送,是类似于下面这样的调用,其中 text 参数是收到的内容
···
send_msg_url = f'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}'
data = {
'touser': wecom_touid,
'agentid': wecom_aid,
'msgtype': 'text',
'text': {'content': text},
'duplicate_check_interval': 600
}
requests.post(send_msg_url, data=json.dumps(data))
···
主要问题是这个 text 从哪里得到?
heguangyu5
2022-01-04 09:03:39 +08:00
man mdadm

...

MONITOR MODE

...

When passing events to a program, the program is run once for each event, and is given 2 or 3 command-line
arguments: the first is the name of the event (see below), the second is the name of the md device which is
affected, and the third is the name of a related device if relevant (such as a component device that has
failed).
yaleyu
2022-01-04 09:53:19 +08:00
@heguangyu5 哎呀,谢谢谢谢,应该仔细看 man page

‘and is given 2 or 3 command-line arguments’ 太有用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/825906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX