python和shell之企业微信告警

这是python通知用户的脚本.话不多说,安排
#!/usr/bin/python
#coding:utf-8
import requests,json,sys,os
webhook='webhook 地址'
text = sys.argv[1]
data1 = {
    "msgtype": "markdown",
    "markdown": {
 "content": "#### <font>"+subject+"</font>"+"\n"+"\
>故障服务: <font color=red>"+service+"</font>"+"\n"+"\
>故障实例: <font color=olive>"+example+"</font>"+"\n"+"\
>故障主机: <font color=blue>**"+address+"**</font>"+"\n"+"\
>故障时间: <font color=green>"+daytime+"</font>"+"\n"+"\
>故障详情: <font color=brown>"+content+"</font>"
    ##     "mentioned_mobile_list":["用户id"]
    }
}
headers = {'Content-Type': 'application/json'}
requests.post(url=webhook, data=json.dumps(data1), headers=headers)
这是shell通知用户的脚本.
#!/bin/sh
link='webhook 地址'

curl -X POST $link \
   -H 'Content-Type: application/json' \
   -d '
   {
        "msgtype": "markdown",
        "markdown": {
        "content": "
        ### '$a'
        >故障服务: <font color=\"warning\">'$s'</font>\n
        >故障实例: <font color=\"comment\">'$c'</font>\n
        >故障主机: <font color=\"info\">**'$ip'**</font>\n
        >故障时间: <font color=\"comment\">'$b'</font>\n
        >故障详情: <font color=\"comment\">'$d'</font>"
        }
   }'
### 关于 DolphinScheduler 企业微信告警集成 DolphinScheduler 是一款分布式易扩展的可视化工作流任务调度平台,其功能强大且灵活可定制。为了实现 DolphinScheduler 企业微信之间的告警集成,可以通过以下方式完成配置。 #### 1. **启用告警模块** 在 DolphinScheduler 中,告警机制通过 `alert` 插件来实现。默认情况下,该插件可能未开启,因此需要手动激活并配置相关参数。具体操作如下: - 编辑 `application-alert.yml` 文件,路径通常位于 `${DOLPHINSCHEDULER_HOME}/conf/` 下。 - 找到 `wechat` 的部分,并将其设置为启用状态: ```yaml wechat: enabled: true corpId: your_corp_id_here agentId: your_agent_id_here secret: your_secret_key_here toUser: user_account_or_department_id ``` 上述字段解释如下: - `corpId`: 企业的 Corp ID,在企业微信管理后台获取[^2]。 - `agentId`: 应用程序的 Agent ID,同样可在企业微信应用管理页面找到。 - `secret`: 应用程序密钥 Secret Key。 - `toUser`: 接收消息的目标用户或部门 ID。 #### 2. **修改 Worker 资源分配策略** 如果希望告警能够更精准地反映资源使用情况,则可以调整 Worker 的资源配置。例如,通过编辑 `worker.properties` 来优化 CPU 或内存负载阈值: ```properties worker.max.cpuload.avg=8.0 # 设置 worker 最大允许的平均 CPU 使用率 worker.reserved.memory=0.5 # 预留至少 0.5GB 内存给其他进程运行 ``` 这些参数直接影响了 Worker 是否能接收新任务以及何时触发告警逻辑[^3]。 #### 3. **开发自定义告警脚本** 对于复杂场景下的需求(比如特定条件下的通知),建议编写 ShellPython 脚本来调用企业微信 API 发送消息。以下是基于 curl 工具的一个简单例子: ```bash #!/bin/bash CORP_ID="wxabcde12345" AGENT_ID="1000002" SECRET_KEY="your-secret-key-here" ACCESS_TOKEN=$(curl -s "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CORP_ID&corpsecret=$SECRET_KEY" | jq -r '.access_token') MESSAGE='{"touser":"@all","msgtype":"text","agentid":'$AGENT_ID',"text":{"content":"Task Failed"},"safe":0}' RESULT=$(curl -s -X POST --data-binary "$MESSAGE" "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$ACCESS_TOKEN") echo $RESULT ``` 此脚本会向所有成员发送一条纯文本形式的消息:“Task Failed”。可以根据实际业务需求进一步完善内容结构样式[^4]。 #### 4. **测试与验证** 最后一步非常重要——即确认整个流程是否正常运作。可以从以下几个方面入手进行检验: - 创建一个简单的失败任务链路; - 查看日志文件是否有对应的错误记录; - 检查目标用户的手机端是否收到预期的通知信息。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值