shell脚本实现告警消息推送钉钉机器人

本文介绍了如何在钉钉中创建自定义机器人,并通过webhook接入主机监控脚本。用户需设置关键字、IP地址和安全设置,然后在主机端编写shell脚本dingding.sh,利用curl发送消息到钉钉群。文章还提到可以通过调整脚本来监控CPU、内存、磁盘和流量等主机状态,并提供了相关脚本资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备钉钉机器人

        钉钉创建群聊

        

        群设置、智能群助手、添加机器人

        机器人类型选择自定义(通过webhook接入自定义服务)


        添加到刚才创建的群组、安全设置选择自定义关键字将关键词设置为告警二字,有用),配置IP地址加签!这里三选一即可

关键字:当发送的消息包含这里设置的关键字,机器人才会接收并推到群聊

IP地址:也就是发起告警消息的主机的互联网出口地址

加签:我没使用,有兴趣点击说明文档那几个字查看

 

         创建完成后,会自动生成一个webhook地址,这个token地址请复制保留不要公开,主机端需要配置这个地址,格式如下

二、主机端配置shell脚本,取名dingding.sh,脚本内容可直接复制,webhook地址请替换,如下:

#!/bin/bash

#推送消息到钉钉
#根据自己的机器人webhook值修改下面token
#设置要发送的消息为变量1,执行的时候格式为./dingding.sh 要发送的消息!

message=$1
curl https://oapi.dingtalk.com/robot/send?access_token=206eb370de730f286b2d662238697a2cd19f63dexxxxcb49ae780c08d278 -H 'Content-Type: application/json' -d "
  {
    'msgtype': 'text',
    'text': {
      'content': '$message'
    },
    'at': {
      'isAtAll': false
    }
  }"

三、手动执行脚本进行测试(需赋予脚本可执行权限)

        客户端需要能够访问互联网,先手动输入,执行

        ./dingding.sh "测试消息请忽略!"

        钉钉群收到消息

 

 四、监控项

        具体要监控主机哪些内容,cpu?内存?磁盘?流量?什么频率?可参考另一篇文章,另一篇文章有一个监控项的脚本,也可直接复制,使用的时候将本文章的脚本和另一篇文章的脚本放到同一个文件夹下即可!链接如下:shell脚本实现自动监测主机运行状态及告警_Doctor xu的博客-CSDN博客

        

### 回答1: 我可以为您提供一些建议: 1. 使用shell脚本调用钉钉API,将执行结果发送到钉钉群中。 2. 使用Python脚本模拟登录钉钉账号,将执行结果发送到钉钉群中。 3. 使用shell脚本执行结果,通过消息队列发送到钉钉群中。 4. 使用curl命令将shell脚本的执行结果发送到钉钉群中。 ### 回答2: 编写一个shell脚本,将执行结果推送到钉钉系统的消息群组中。实现这个目标,可以使用钉钉提供的开放API接口来发送消息。 首先,我们需要在钉钉开放平台上创建一个自定义机器人,并记录下钉钉提供的Webhook地址。 然后,在shell脚本中,我们可以使用curl命令来发送HTTP POST请求,将脚本的执行结果作为消息内容发送到钉钉群组。 以下是一个示例shell脚本,其中将"your_webhook"替换为自己创建的机器人Webhook地址: ```shell #!/bin/bash # 执行命令,并将结果保存到变量中 result=$(your_command) # 组装要发送的消息内容 message="执行结果:${result}" # 发送HTTP POST请求到钉钉机器人 curl -H "Content-Type: application/json" -X POST \ -d '{"msgtype": "text", "text": {"content": "'"${message}"'"}}' \ https://oapi.dingtalk.com/robot/send?access_token=your_webhook ``` 这个脚本首先执行一个命令,将其结果保存到变量中。然后,将这个结果作为消息内容,使用curl命令发送HTTP POST请求到钉钉机器人的Webhook地址。发送的消息类型为文本。 当脚本执行后,它将发送执行结果到指定的钉钉群组中。你可以将命令替换为你想要执行的任何命令,以及自定义发送的消息内容。 请确保在执行脚本之前,在你的机器人设置中验证了你的Webhook地址,并在脚本中替换“your_webhook”为你自己的Webhook地址。 ### 回答3: 推送钉钉脚本可以用于将shell脚本的执行结果发送到指定的钉钉群组或用户。下面是一个简单的脚本示例: ```shell #!/bin/bash # 设置钉钉机器人webhook地址 webhook="https://oapi.dingtalk.com/robot/send?access_token=your_access_token" # 获取shell脚本执行结果 result=$(command_to_execute) # 构建JSON数据 data="{\"msgtype\": \"text\", \"text\": {\"content\": \"$result\"}}" # 使用curl发送POST请求到钉钉机器人webhook地址 curl -H "Content-Type: application/json" -d "$data" $webhook ``` 在上面的示例中,首先需要设置钉钉机器人的webhook地址,将`your_access_token`替换为你的具体地址。然后,使用`command_to_execute`来替换为需要执行的shell命令,并将执行结果保存到`result`变量中。接下来,构建JSON数据,其中`content`字段为执行结果。最后,使用curl命令发送POST请求并将数据发送到钉钉机器人的webhook地址。 使用该脚本,你可以将shell脚本的执行结果推送到钉钉群组或用户中,方便实时查看执行情况和结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值