脚本媒介

简介

脚本媒介可以通过调用脚本的方式发送消息内容。

创建脚本媒介

在“系统用户”菜单 – “通知媒介”菜单 – “媒介”页面点击“创建媒介”,然后可以选择使用脚本文件或者直接写入使用脚本代码。

方法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}三个环境变量分别代表通知的接收人标识、标题和内容。

添加接收人

脚本媒介的接收人可以自定义,比如是管理员的名称或代号。

添加接收人和绑定集群具体流程,请参考 通用设置