跳转到主要内容

在 Flashduty On-call


您可通过以下2种方式,获取一个集成推送地址,任选其一即可。

使用专属集成

当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
  1. 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
  2. 选择 集成数据 tab,点击 添加一个集成,进入添加集成页面
  3. 选择 Zabbix 集成,点击 保存,生成卡片。
  4. 点击生成的卡片,可以查看到 推送地址,复制备用,完成。

使用共享集成

当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
  1. 进入 Flashduty 控制台,选择 集成中心=>告警事件,进入集成选择页面。
  2. 选择 Zabbix 集成:
    • 集成名称:为当前集成定义一个名称。
  3. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 路由 进行更多路由规则的配置)。
  4. 点击 保存 后,复制当前页面的新生成的 推送地址 备用。
  5. 完成。

在 Zabbix


一、Zabbix 配置

7.x 版本

步骤 1:定义快猫星云 media type

  1. media type 是 Zabbix 中用于发送通知和告警的传输通道。进入终端,通过以下命令,下载完整配置
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v7.yml

  1. 登录 Zabbix 控制台,选择 Alert > Media Types,点击右上角 Import 按钮,进入编辑页面,选择上边下载的配置文件,点击 Import 按钮完成导入
  2. 回到 Media Types 页面,可以看到已经导入的 media type。点击名称,进入编辑页面,补全 URL、zabbix_url 以及 HTTPProxy 等内容:
    • URL:webhook 推送请求地址,复制集成的推送地址即可
    • zabbix_url:Zabbix 控制台地址,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),系统会在路径后拼接 trigger_id 等参数来生成告警详情页面连接
    • HTTPProxy:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址
    drawing
  3. 点击 Update,保存配置

步骤 2:关联 media type 至 user

media type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:
  1. 登录 Zabbix 控制台,选择 Users > Users,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:
  • Type: 选择以上创建的快猫星云 media type
  • Send To:填写 Flashduty
  • 其他配置使用默认配置,保持不变
drawing
  1. 点击 Add 按钮,退出添加 media 窗口
  2. 点击 Update 按钮,退出编辑 user 页面

步骤 3:创建 action

发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 Alerts > Actions > Trigger actions,然后:
  1. 点击 Create action,进入 action 编辑页面
  • Name:填写为“Send To Flashduty”
  1. 选择 Operations,分别添加三种场景的通知发送配置:
  • 在 Operations 配置项,点击 Add 按钮,进入配置窗口
  • Send to users:选择以上新建或配置的 user
  • Send only to:选择快猫星云 media type
  • 其他配置保持默认
  • 点击 Add 按钮,完成该配置项配置
  • 重复以上步骤,完成对 Recovery operationsUpdate operations 的配置 drawing drawing

步骤 4:发送事件到快猫星云

登录 Zabbix 控制台,选择 Monitoring > Problems,查看最新的告警列表。
  1. 点击 Actions,弹窗内可以看到消息通知结果
  2. 找到快猫星云对应日志,如果 Status 为 Sent,代表通知成功。否则根据提示排查原因
drawing
  1. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件
  2. 完成

5.x~6.x 版本

步骤 1:定义快猫星云 media type

  1. media type 是 Zabbix 中用于发送通知和告警的传输通道。进入终端,通过以下命令,下载完整配置
// 5.x版本 XML配置:
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v5.xml

// 6.x 版本 YAML 配置:
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/zbx_mediatype_flashcat_v6.yml
  1. 登录 Zabbix 控制台,选择 Administration > Media Types,点击右上角 Import 按钮,进入编辑页面,选择上边下载的配置文件,点击 Import 按钮完成导入
  2. 回到 Media Types 页面,可以看到已经导入的 media type。点击名称,进入编辑页面,补全 URL、zabbix_url 以及 HTTPProxy 等内容:
    • URL:webhook 推送请求地址,复制集成的推送地址即可
    • zabbix_url:Zabbix 控制台地址,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),系统会在路径后拼接 trigger_id 等参数来生成告警详情页面连接
    • HTTPProxy:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址
    drawing
  3. 点击 Update,保存配置

步骤 2:关联 media type 至 user

media type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:
  1. 登录 Zabbix 控制台,选择 Administration > Users,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:
  • Type: 选择以上创建的快猫星云 media type
  • Send To:填写 N/A
  • 其他配置使用默认配置,保持不变 drawing
  1. 点击 Add 按钮,退出添加 media 窗口
  2. 点击 Update 按钮,退出编辑 user 页面

步骤 3:创建 action

发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 Configuration > Actions,然后:
  1. 点击 Create action,进入 action 编辑页面
  • Name:填写为“Send To Flashduty”
  1. 选择 Operations,分别添加三种场景的通知发送配置:
  • 在 Operations 配置项,点击 Add 按钮,进入配置窗口
  • Send to users:选择以上新建或配置的 user
  • Send only to:选择快猫星云 media type
  • 其他配置保持默认
  • 点击 Add 按钮,完成该配置项配置
  • 重复以上步骤,完成对 Recovery operationsUpdate operations 的配置 drawing drawing

步骤 4:发送事件到快猫星云

登录 Zabbix 控制台,选择 Monitoring > Problems,查看最新的告警列表。
  1. 点击 Actions,弹窗内可以看到消息通知结果
  2. 找到快猫星云对应日志,如果 Status 为 Sent,代表通知成功。否则根据提示排查原因
drawing
  1. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件
  2. 完成

3.x~4.x 版本

步骤 1:定义快猫星云 media type

  1. 登录 Zabbix 控制台,选择 Administration > Media Types,点击右上角 Create media type 按钮,进入编辑页面
  2. 在编辑页面,Type 选择Script,Parameter 依次填写以下内容(不要调整顺序,没有值的也要留空,脚本按顺序获取参数值):
  • {ALERT.SUBJECT}:告警标题,保持在第一个参数
  • {ALERT.MESSAGE}:告警信息,保持在第二个参数
    • Flashduty webhook 推送请求地址,复制集成的推送地址即可,保持在第三个参数
    • Zabbix 控制台地址,直接复制即可(如果您的页面配置了 tomcat/nginx 转发路径,请同时携带),用于生成告警详情页面连接。如果没有空着即可,保持在第四个参数
    • HTTPProxy:如果您的 Zabbix Server 不能直接访问快猫星云服务,可以将该参数设置为一个代理地址。如果没有空着即可,保持在第五个参数
    drawing
  1. Script name 填写 send-to-flashduty.sh
  2. 点击 Update,保存配置
  3. 登录 Zabbix server 所在服务器,执行以下命令:

#1. 进入告警脚本加载目录(具体地址配置在 Zabbix Server 配置文件中 `AlertScriptsPath` 变量,一般为`/usr/lib/zabbix/alertscripts`)
cd /usr/lib/zabbix/alertscripts

#2. 下载脚本
wget --header="Referer: https://console.flashcat.cloud" https://download.flashcat.cloud/flashduty/integration/zabbix/send-to-flashduty.sh

#3. 更改脚本为可执行状态
chmod +x send-to-flashduty.sh

  1. 注意,脚本中使用了 curl 和 jq 命令,确保这个 Zabbix server 进程可以找到并执行这两个命令,如果没有您需要根据情况安装

步骤 2:关联 media type 至 user

media type 必须关联至某个 user 才能发送事件。user 至少拥有对 host 的 read 权限。建议直接关联到 Admin 用户。以 Admin 用户为例:
  1. 登录 Zabbix 控制台,选择 Administration > Users,选择 Admin 用户,选择 media,选择 Add,进入编辑窗口:
    • Type: 选择以上创建的快猫星云 media type
    • Send To:填写 N/A
    • 其他配置使用默认配置,保持不变 drawing
  2. 点击 Add 按钮,退出添加 media 窗口
  3. 点击 Update 按钮,退出编辑 user 页面

步骤 3:创建 action

发送通知是 Zabbix 中动作(actions)执行的操作之一。因此,为了建立一个通知,登录 Zabbix 控制台,选择 Configuration > Actions,然后:
  1. 点击Create action,进入 action 编辑页面
    • Name:填写为“Send To Flashduty”
  2. 选择 Operations,分别更新三种场景的通知用户配置:
    • 在 Operations 配置项,点击 Add 按钮,进入配置窗口
    • Send to users:选择以上新建或配置的 user
    • Send only to:选择快猫星云 media type
    • 其他配置保持默认
    • 点击 Add 按钮,完成该配置项配置
    • 重复以上步骤,完成对 Recovery operationsUpdate operations 的配置 drawing
  3. 选择 Operations,分别更新三种场景的通知内容配置:
    • 在 Default Message 配置项,完整复制以下内容,粘贴在默认内容之后,Flashduty 收到事件后将解析对应文字,找到告警属性信息:

-----Flashduty Required Starts-----event_severity={TRIGGER.SEVERITY}||event_name={TRIGGER.NAME}||event_id={EVENT.ID}||event_tags={EVENT.TAGS}||event_ack={EVENT.ACK.STATUS}||event_value={EVENT.VALUE}||trigger_id={TRIGGER.ID}||trigger_desc={TRIGGER.DESCRIPTION}||trigger_expr={TRIGGER.EXPRESSION}||host_group={TRIGGER.HOSTGROUP.NAME}||host_ip={HOST.IP}||host_name={HOST.NAME}||item_name={ITEM.NAME}||item_value={ITEM.VALUE}-----Flashduty Required Ends-----

  • 重复以上步骤,完成对 Recovery operationsUpdate operations 的配置 drawing

步骤 4:发送事件到快猫星云

登录 Zabbix 控制台,选择 Monitoring > Problems,查看最新的告警列表。
  1. 点击 Actions,弹窗内可以看到消息通知结果
  2. 找到快猫星云对应日志,如果 Status 为 Sent,代表通知成功。否则根据提示排查原因 drawing
  3. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件
  4. 完成

二、状态对照

Zabbix 到快猫星云告警等级映射关系:
Zabbix快猫星云状态
DisasterCritical严重
HighCritical严重
AverageWarning警告
WarningWarning警告
InformationInfo提醒
Not classifiedInfo提醒