• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 嘉6148 | 发布时间: 2025-8-16 08:11| 查看数: 99| 评论数: 0|帖子模式

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

    一:本文目的

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

    二:结果展示





    三:过程概述

    1.首先登陆服务器执行命令
    2.根据返回的结果来判断,是否符合预期。
    3.符合预期或不符合预期事,调用对应的python脚本来发送消息。
    4.艾特钉钉群里相关的人员。


    四:过程细节

    1.在配置jks里配置脚本(涉及gitlab的tag判断和告警)
    1. #!/bin/bash
    2. #此执行shell用于检测发版的结果。
    3. remote_ip="192.168.1.1"
    4. kaihei_api01_gettag_linshi="ssh 172.16.10.201 'cd /data/wwwroot/ && git branch |grep from '"
    5. #登录yunwei-tools服务器执行命令
    6. kahiei_api01_tag=`ssh   root@$remote_ip  $kaihei_api01_gettag_linshi`
    7. kahiei_api01_tag1=`echo $kahiei_api01_tag |awk '{print $NF}' |sed 's/)//g'`
    8. echo "$kahiei_api01_tag1"
    9. echo "业务服务器的tag:$kahiei_api01_tag1  "
    10. echo "本次发版选的Tag:$git_tag"
    11. funcSendMsgToDingdingOk()  {
    12.   NowTime=`date "+%Y-%m-%d %H:%M:%S"`
    13.   #运维钉钉群
    14.   #WebHook='https://oapi.dingtalk.com/robot/send?access_token=xxx'
    15.   curl $WebHook -H 'Content-Type: application/json' -d " {
    16.                    'msgtype': 'text',
    17.                    'text': {
    18.                       'content': '$1 : $2  $3  \n选择版本号:$4   \n服务器版本号:$5   \n时间:  $NowTime  '
    19.                    },
    20.                    'at': { 'atMobiles': [
    21.                             "1593xxx",
    22.                             "191xx"
    23.                          ],
    24.                          'isAtAll': false
    25.                    },
    26.   }"
    27. }
    28. funcSendMsgToDingdingError()  {
    29.   nodename=`hostname`
    30.   nodeip=`hostname -i`
    31.   time=`date '+%Y-%m-%d-%H:%M:%S'`  
    32.   url='https://oapi.dingtalk.com/robot/send?access_token=xxx'
    33.   curl -s  $url \
    34.    -H 'Content-Type: application/json' \
    35.    -d '{
    36.      "msgtype": "markdown",
    37.      "markdown":
    38.     {"title":"运维监控告警",
    39.     "text":"![screenshot](https://images.cnblogs.com/cnblogs_com/blogs/718800/galleries/2294157/o_230330085502_1.png) \n  
    40. **告警信息:** <font color="#FF0000">'${1}-${2}' </font> \n
    41. **报警时间**: <font color="#0000FF">'${time}' </font>\n
    42. **告警详情**: <font color="#0000FF">'${nodename}-${nodeip}-${3}-${4}-${5}'  </font>\n
    43. > 来自脚本的监控--'${0}'
    44. "
    45.          },
    46.                    'at': { 'atMobiles': [
    47.                             "18003xxx",
    48.                             "18217xxx"
    49.                          ],
    50.                          'isAtAll': false
    51.                    },
    52.    }'
    53. }
    54. if [[ $git_tag == $kahiei_api01_tag1 ]];then
    55.      echo " update-gitTag is ok   $git_tag  $kahiei_api01_tag1 . "
    56.      funcSendMsgToDingding 发版成功通知  ${JOB_NAME} kahiei_api01  ${git_tag}  ${kahiei_api01_tag1}
    57. else
    58.      echo " update-gitTag is error   $git_tag  $kahiei_api01_tag1 ."
    59.      funcSendMsgToDingdingError 发版失败开始重试  ${JOB_NAME} kahiei_api01  ${git_tag}  ${kahiei_api01_tag1}
    60.      curl   https://jks.cupli.com/buildByToken/buildWithParameters?"job=$JOB_NAME&token=iamkeyforfaban&git_tag=$git_tag"  
    61. fi
    62. echo "检查tag完毕 , `date`"
    复制代码

    • 构建 (选择发版时需要的tag并触发判断)

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

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表