zoukankan      html  css  js  c++  java
  • 运维利器:钉钉机器人脚本告警(Linux Python 篇)

    写在前面的话

    在前面的博客中已经具体提到了如何获取对的机器人的 Token 等操作,不清楚的可以参考之前写的 【运维利器:钉钉机器人脚本告警(Linux Shell 篇)】这篇博客的前部分。

    本文主要给出的 Python 脚本的实现,我记得网上很多脚本给的好像是 go 语言写的。

    虽然现在 go 超级火,运维 docker 和 k8s 以及性能的原因在自动化运维上可能即将取代 Python。

    但不可忽视,Python 写脚本还是挺不错的,且 Linux 自带 Python,可以省去很多麻烦!

    闲话少说,直接上代码:

    安装依赖

    我用的 CentOS 7,自带的是 Python 2.7, 不清楚的可以使用命令查看:

    python -V

    其中存在两个问题,一个是自带的 Python 没有 pip,需要安装,二是没有 requests 模块,安装方法如下:

    【1】安装 pip:

    curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
    python get-pip.py

    【2】安装 requests 模块:

    pip install requests

    发送脚本

    【1】脚本内容:我的脚本名称( SendDingMessage.py

    #!/usr/bin/python2
    # -*- coding: utf-8 -*-
    import requests
    import json
    import sys
    import os
    
    headers = {'Content-Type': 'application/json;charset=utf-8'}
    api_url = "xxxxxxxxxxxxxxxxxxxxxxx 这里是你的钉钉机器人 Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    
    def msg(text, subject):
        json_text= {
            "actionCard": {
                "title": subject,
                "text": text,
                "hideAvatar": "0",
                "btnOrientation": "0",
                "btns": [
                    {
                        "title": subject[:12],
                        "actionURL": ""
                    }
                ]
            },
            "msgtype": "actionCard"
        }
    
        print(requests.post(api_url,json.dumps(json_text),headers=headers).content)
    
    if __name__ == '__main__':
        text = sys.argv[1]
        text = text.replace("
    ", "
    ")
        subject = sys.argv[2]
        msg(text, subject)

    【2】测试发送:

    python SendDingMessage.py  'test' 'hahahahah'

    【3】效果图:

    【4】Zabbix 配置告警媒介:

    【5】告警效果:

    小结

    最近特别忙,快过年了,之前给自己定了很多小目标还没有实现呢,比如 VUE + DRF 学习,结果中途窜出来了 LayUI,Docker K8S 等等。

    Zabbix 系列也没时间更新,因为个人对于排版要求很严,注定没法高产。

    前段时间学了点 Bootstrap + JQuery,第一件事就是把这个博客园的主题自己重写了,然后现在在做自己的一个个人博客。

    现在线上是以前没学前端时候的版本,前端代码稀烂,正在重构中。感兴趣的可以关注一下。

    最后就是,博客园别忘了点个 推荐 再走,给点动力也行啊!

    最后的最后,又是右上角 QQ 扫码!

  • 相关阅读:
    vlc-ts
    es 模板
    zookeeper 启动脚本
    received shard failed for shard id
    gitlab runner 配置
    kafka 配置文件注释
    logstash 统计告警
    BigBao 的python开发到DevOps 之路
    logstash 自动重新加载配置
    rsyslog 传输日志
  • 原文地址:https://www.cnblogs.com/Dy1an/p/10287615.html
Copyright © 2011-2022 走看看