当前位置: 代码网 > 移动>阿里 > 服务器ssh实现钉钉机器人告警

服务器ssh实现钉钉机器人告警

2024年07月28日 阿里 我要评论
钉钉开放平台机器人可应用消息推送、监控报警等多种场景中,这篇文章主要介绍了服务器ssh实现钉钉机器人告警方法,需要的朋友可以参考下。一:本文目的 通过ssh到服务器并查看指定命令返回的结果,来判断

钉钉开放平台机器人可应用消息推送、监控报警等多种场景中,这篇文章主要介绍了服务器ssh实现钉钉机器人告警方法,需要的朋友可以参考下。

一:本文目的

      通过ssh到服务器并查看指定命令返回的结果,来判断是否发送告警。比如说:我们发版完后,通过查看gitlab的tag是否是选定的tag,来判断本地发版是否成功。

二:结果展示

三:过程概述

1.首先登陆服务器执行命令

2.根据返回的结果来判断,是否符合预期。

3.符合预期或不符合预期事,调用对应的python脚本来发送消息。

4.艾特钉钉群里相关的人员。

四:过程细节

1.在配置jks里配置脚本(涉及gitlab的tag判断和告警)

#!/bin/bash
#此执行shell用于检测发版的结果。
remote_ip="192.168.1.1"
kaihei_api01_gettag_linshi="ssh 172.16.10.201 'cd /data/wwwroot/ && git branch |grep from '"
#登录yunwei-tools服务器执行命令
kahiei_api01_tag=`ssh   root@$remote_ip  $kaihei_api01_gettag_linshi`
kahiei_api01_tag1=`echo $kahiei_api01_tag |awk '{print $nf}' |sed 's/)//g'`
echo "$kahiei_api01_tag1"
echo "业务服务器的tag:$kahiei_api01_tag1  "
echo "本次发版选的tag:$git_tag"
funcsendmsgtodingdingok()  {
  nowtime=`date "+%y-%m-%d %h:%m:%s"`
  #运维钉钉群
  #webhook='https://oapi.dingtalk.com/robot/send?access_token=xxx'
  curl $webhook -h 'content-type: application/json' -d " {
                   'msgtype': 'text',
                   'text': {
                      'content': '$1 : $2  $3  \n选择版本号:$4   \n服务器版本号:$5   \n时间:  $nowtime  '
                   },
                   'at': { 'atmobiles': [
                            "1593xxx",
                            "191xx"
                         ],
                         'isatall': false
                   },
  }"
}
funcsendmsgtodingdingerror()  {
  nodename=`hostname`
  nodeip=`hostname -i`
  time=`date '+%y-%m-%d-%h:%m:%s'`  
  url='https://oapi.dingtalk.com/robot/send?access_token=xxx'
  curl -s  $url \
   -h 'content-type: application/json' \
   -d '{
     "msgtype": "markdown",
     "markdown":
    {"title":"运维监控告警",
    "text":"![screenshot](https://images.cnblogs.com/cnblogs_com/blogs/718800/galleries/2294157/o_230330085502_1.png) \n  
**告警信息:** <font color=\"#ff0000\">'${1}-${2}' </font> \n
**报警时间**: <font color=\"#0000ff\">'${time}' </font>\n
**告警详情**: <font color=\"#0000ff\">'${nodename}-${nodeip}-${3}-${4}-${5}'  </font>\n
> 来自脚本的监控--'${0}'
"
         },
                   'at': { 'atmobiles': [
                            "18003xxx",
                            "18217xxx"
                         ],
                         'isatall': false
                   },
   }'
}
if [[ $git_tag == $kahiei_api01_tag1 ]];then
     echo " update-gittag is ok   $git_tag  $kahiei_api01_tag1 . "
     funcsendmsgtodingding 发版成功通知  ${job_name} kahiei_api01  ${git_tag}  ${kahiei_api01_tag1}
else
     echo " update-gittag is error   $git_tag  $kahiei_api01_tag1 ."
     funcsendmsgtodingdingerror 发版失败开始重试  ${job_name} kahiei_api01  ${git_tag}  ${kahiei_api01_tag1}
     curl   https://jks.cupli.com/buildbytoken/buildwithparameters?"job=$job_name&token=iamkeyforfaban&git_tag=$git_tag"  
fi 
echo "检查tag完毕 , `date`"
  • 构建 (选择发版时需要的tag并触发判断)

到此这篇关于服务器ssh实现钉钉机器人告警的文章就介绍到这了,更多相关ssh实现钉钉推送内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com