华为云 WeLink 是华为推出的全场景数字化协同办公平台,旨在帮助企业实现高效、安全的在线协作。观测云则是专为 IT 工程师打造的全链路可观测性平台,具备完善的异常监测体系,能够对基础设施、应用程序及日志等各类数据进行实时监控,并在发现异常时自动触发告警。本文主要介绍如何将观测云的告警信息推送至 WeLink 的实现方式。
前置条件
配置 Webhook 机器人
点击群右上角的齿轮图表,弹出讨论组,在“讨论组管理”下面点击“群助手”。

点击“添加群助手”,再点击“创建”。

点击“去创建”。

输入名称后,点击“添加”。

保存 Webhook 后,点击“保存。

配置 Func
编写脚本
登录 Func,点击“开发”->“脚本库”->“新建脚本集”,输入 “webhook”,鼠标移到 webhook 上,点击“新建脚本”,输入“welink_prod”,编辑脚本,输入如下内容,最后点击“发布”。
import requests
import json
import time
import uuid
@DFF.API('自定义发送 weLink')
def send_welink(**kwargs):
token = _DFF_HTTP_REQUEST.get('query').get('token')
title = kwargs.get('df_title','事件告警')
messageJson = [kwargs.get('df_message','告警')]
status = kwargs.get('df_status','info')
msgStr = messageJson[0]
url = kwargs.get('df_event_link')
jumpHtml = url
webhook_url = "https://open.welink.huaweicloud.com/api/werobot/v1/webhook/send"
params = {
"token": token,
"channel": "standard"
}
# 请求头(Headers)
headers = {
"Content-Type": "application/json", # 必须指定 JSON 格式
"Accept": "application/json"
}
# 请求体(Body),发送的消息内容
payload = {
"messageType": "text",
"content": {
"text": msgStr + "\n\n" + jumpHtml # 消息内容
},
"timeStamp": int(time.time() * 1000), # 毫秒时间戳
"uuid": uuid.uuid4().hex # 32 位十六进制字符串
}
# 发送 POST 请求
response = requests.post(
webhook_url,
params=params, # URL 参数(token 和 channel)
headers=headers,
data=json.dumps(payload) # 将字典转为 JSON 字符串
)
# 打印响应
print("Status Code:", response.status_code)
print("Response:", response.json())
配置截图

配置函数
依次进入 Func 界面的“管理”->“函数 API”,点击“新建”,运行函数选择上步编写的脚本,点击“保存”。

在函数 API 界面,刚创建的函数行后面有个“示例”,点击后,复制“POST简化形式(JSON)”里面的 url。

创建监控器
新建通知对象
登录观测云,进入“监控”->“通知对象管理”->“新建通知对象”,选择“webhook”,Webhook地址中粘贴上步复制的 url,最后点击“确认”。

新建告警策略管理
进入“监控”->“告警策略管理”->“新建告警策略”,通知配置中按下图配置,最后点击“保存”。

进入“监控”->“监控器”->“从模版新建”,选择一个监控器,在告警配置中选择上步创建的告警策略。

效果展示
当监控器达到触发条件后,WeLink 收到告警。

总结
观测云借助 Func 功能,能够将告警信息实时推送至 WeLink,帮助用户第一时间掌握系统运行状态。该功能有效避免了因系统故障未能及时发现而可能引发的更大损失,进一步提升了运维效率与系统可靠性。
914

被折叠的 条评论
为什么被折叠?



