shell打开钉钉_运维利器:钉钉机器人脚本告警(Linux Shell 篇)

本文介绍了如何使用Linux Shell脚本配合钉钉机器人进行监控告警和自动化通知。通过创建钉钉群机器人,获取webhook,并编写Shell脚本发送ActionCard格式的消息,实现自定义告警内容。同时提到了在Zabbix中应用此方法的实际效果。
摘要由CSDN通过智能技术生成

写在前面的话

目前换了几家公司,且最近几家都是以钉钉作为公司 OA 聊天工具,总的来说还是很不错的。最近去了新公司,由于公司以前没有运维,所以监控,做自动化等方面都没有实施,恰逢这个机会把最近做的关于用到钉钉机器人的一些东西写出来,希望能够帮到和我有同样需求的兄弟,少走一些弯路!

目前个人钉钉机器用在了两个方面:

一是 Zabbix 监控告警,使用的是 Python编写的脚本,且目前也在写关于 Zabbix 的文档,有兴趣的小伙伴可以到我主页看看!

二是 Jenkins 自动发布,在构建后执行 Shell过程中加入一系列的钉钉机器人消息提醒!

添加钉钉机器人

目前个人已知的钉钉机器人只能存在于钉钉群,钉钉群的建群需求是至少 3 人,当然,你建群之后可以把其它人踢出去,我就是这样干的,谁让我们只有两个人呢 ...

【1】首先,我们进入一个钉钉群创建我们的机器人:

【2】目前钉钉已经存在了一些项目的机器人,你可以根据自己的选,当然,我们本次就用自定义的,添加一个名为 HELLO ROBOT 机器人:

【3】 机器人添加完成,会生成一个 webhook,这是你上传数据接口,同时这个接口也代表着该机器人的身份标识,相当重要!

【4】添加完成后,机器人会在群里发送一条消息,还有点阔爱:

发送消息脚本(Linux Shell)

对于消息在钉钉群中的显示格式以及更多的关于钉钉机器人的开发文档说明,可以查看官方给的开发者文档:

以下是 Linux Shell 脚本,个人选择的是钉钉消息的 ActionCard 格式:

#!/bin/bash

function SendMessageToDingding(){

Dingding_Url="这就是刚刚机器人的 webhook xxxxxxxx"

#发送钉钉消息

curl "${Dingding_Url}" -H 'Content-Type: application/json' -d "{

\"actionCard\": {

\"title\": \"$1\",

\"text\": \"$2\",

\"hideAvatar\": \"0\",

\"btnOrientation\": \"0\",

\"btns\": [

{

\"title\": \"$1\",

\"actionURL\": \"\"

}

]

},

\"msgtype\": \"actionCard\"

}"}

Subject="$1"Body="$2"SendMessageToDingding $Subject $Body

备注:我们这里传递了两个参数,当然,你也可以根据自己的需求选择消息类型,定制参数,都是 Shell 的基础知识,比较简单!

最后,我们可以放在机器上面测试一下,下面是我的效果:

注意,由于 Linux 多行的值赋值给一个变量的时候,换行符需要转义,还有就是 Zabbix 触发动作里面内容一定不定有空格,这都是 shell post json 的大坑!

Zabbix 监控告警的效果:

小结

使用 Shell 发送很简单,其实就是提交 JSON 数据,但是 Shell 提交 JSON 感觉有点恶心,后续我会把 Python 脚本脚本也发出来,希望能够帮到各位!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值