脚本媒介
简介
脚本媒介可以通过调用脚本的方式发送消息内容。
创建脚本媒介
在“系统用户”菜单 – “通知媒介”菜单 – “媒介”页面点击“创建媒介”,然后可以选择使用脚本文件或者直接写入使用脚本代码。
方法1:使用脚本文件
这里的脚本文件支持一个Shell脚本或者一个可执行文件,假如我们已经写好一个脚本文件,并已放到API节点所在服务器上(默认是和管理系统在同一台服务器上),比如完整路径为 /opt/notify.sh
,就可以直接填入:
其中:
媒介类型
- 选择为“脚本”脚本文件
- 填写为我们的脚本完整路径(绝对路径)/opt/notify.sh
注意事项:
- 脚本需要放到API节点所在服务器上(默认是和管理系统在同一台服务器上)
- 启动API节点的用户需要对脚本有执行权限
- 如果是Shell脚本,请不要忘记在头部添加
#!脚本解释工具
,比如#!/bin/bash
,执行此脚本时,在脚本中可以使用${MessageUser}
、${MessageSubject}
和${MessageBody}
三个环境变量分别代表通知的接收人标识、标题和内容,比如
这个示例中我们演示了如何把消息通知输出到了一个临时文件#!/bin/bash echo "User: ${MessageUser} Subject: ${MessageSubject} Body: ${MessageBody}" > /tmp/message.log
/tmp/message.log
中。 - 脚本文件也可以是一个可执行命令,比如使用C、Rust、Go编译的可执行命令,都可以执行且可以通过获取环境变量的方式获取消息通知的接收人、标题和内容
方法2:使用脚本代码
可以直接在媒介中使用脚本代码:
其中:
媒介类型
- 选择为“脚本”脚本代码
- 填写为我们要执行的脚本代码
其中的示例代码为:
#!/usr/bin/env bash
echo "User: ${MessageUser} Subject: ${MessageSubject} Body: ${MessageBody}" > /tmp/message.log
这个示例中我们演示了如何把消息通知输出到了一个临时文件 /tmp/message.log
中。
请不要忘记在头部添加 #!
脚本解释工具,比如 #!/bin/bash
。执行此脚本时,在脚本中可以使用${MessageUser}
、${MessageSubject}
和${MessageBody}
三个环境变量分别代表通知的接收人标识、标题和内容。
添加接收人
脚本媒介的接收人可以自定义,比如是管理员的名称或代号。
添加接收人和绑定集群具体流程,请参考 通用设置。