python3 钉钉 加签名 钉钉群机器人巡检告警 脚本

2023-05-16

本文接上文

python3 钉钉 加签名 钉钉群机器人告警 脚本

https://blog.csdn.net/frdevolcqzyxynjds/article/details/128455191


cat dd-os-t1.py

#!/usr/bin/env python3
# encoding=utf-8
import json
import sys
from hdfs import *
import json
import hashlib
import base64
import hmac
import time
import requests
from urllib.parse import quote_plus
from datetime import datetime
from subprocess import call
import subprocess

timestamp = str(round(time.time() * 1000))
url = 'https://oapi.dingtalk.com/robot/send?access_token=你的webhook'
secret = '你的签名'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = quote_plus(base64.b64encode(hmac_code))

class Send_Message:
    def __init__(self, text):
        self.text = text

    def send_message(self):
        headers = {'Content-Type': 'application/json'}
        webhook = url + '&timestamp=' + timestamp + '&sign=' + sign
        data = {
            "msgtype": "text",
            "text": {
                "content": "%s" % (self.text)
            }
        }
        value = json.dumps(data)
        r = requests.post(webhook, value, headers=headers)
        return r.text

if __name__ == "__main__":

    py_path = sys.executable
    
    cmd = """echo '----';
             date +%F-%H:%M:%S;
             echo '';
             echo 'node info: ';hostname -f;
             echo '';
             echo 'kernel info: ';uname -a;
             echo '';
             echo 'os info: ';cat /etc/system-release;
             echo '';
             echo 'arch: ';hostnamectl;
             echo '';
             echo 'cpu info: ';lscpu;
             echo '';
             echo 'mem info: ';free -h;
             echo '';
             echo 'disk info: ';lsblk;echo;df -hT;
             echo '';
             echo 'ip info: ';hostname -I;
             echo '';
             date +%F-%H:%M:%S;
             echo '----';
          """.format(py_path, py_path)

    # statusoutput = subprocess.getstatusoutput(cmd)
    result = subprocess.getoutput(cmd)

    s = Send_Message(result + "\n\n巡检成功!" + "\n\n通知时间:{}".format(datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
    s.send_message()
    sys.exit(0)

打完收工!
我们下期见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 钉钉 加签名 钉钉群机器人巡检告警 脚本 的相关文章

  • Returned error: invalid argument 0: json: cannot unmarshal non-string into Go value of type common.H

    区块链使用web3 js与geth以太坊节点进行通讯时 xff0c 有时候节点会响应Returned error invalid argument 0 json cannot unmarshal non string into Go val
  • web3.js 提交事务 Error: Returned error: invalid sender

    初学使用web3 js提交事务到以太坊时 xff0c 会遇到 xff1a Error Returned error invalid sender 以太坊返回提示 xff1a 发送者无效 产生此问题的根本原因是事务提交操作的链信息没有指定 x
  • hadoop2.7.2 window win7 基础环境搭建

    hadoop环境搭建相对麻烦 xff0c 需要安装虚拟机过着cygwin什么的 xff0c 所以通过查资料和摸索 xff0c 在window上搭建了一个 xff0c 不需要虚拟机和cygwin依赖 xff0c 相对简便很多 下面运行步骤除了
  • Spring4.3.3 WebSocket-STOMP协议集成 (2.1)-WebSocket-stomp子协议通讯小栗子

    上一篇中说到 xff1a stomp jsp之间的通讯 xff0c 是通过stomp xff0c socket js stomp js实现的通讯 如果觉得写jsp或者js麻烦 xff0c 或者不怎么会js 不是太懂 xff0c 可以用web
  • Spring-Boot (二) application.properties配置文件内容

    Spring Boot官方开发指导文档 默认创建spring boot项目后 xff0c 会在resources目录下生成一个空的application properties配置文件 xff0c springboot启动时加载该配置文件 a
  • Nginx 基本配置例子

    个人的小笔记 xff0c 不好不好 user root worker processes 8 error log var log nginx error log error pid var run nginx pid load module
  • CKPlayer播放M3U8文件 (加载失败)问题

    官网下载 ckplayer csdn下载 csdn 下载本地以后 解压ckplayer zip 里面有示例文件 index html flashplayer html等 index html中基本包含所有功能 flashplayer htm
  • 超市购物小票案例

    超市购物小票案例 1 1超市购物小票需求分析 模拟真实购物逻辑 xff0c 以上述图片为需求原型 xff0c 根据不同购买物品 xff0c 完成购物小票内容打印到控制台 简化项目逻辑 xff0c 票脚部分只完成数据统计 数据 xff1a 将
  • 【4】三剑客:sed

    文章目录 一 基础1 1 语法格式1 2 工作原理 二 功能2 1 增2 2 删2 3 改2 4 查2 5 通用2 6 高级用法 一 基础 1 1 语法格式 span class token function sed span span c
  • libgtk2.0-dev安装

    安装libgtk 2 0 dev报错 xff1a sudo apt get install libgtk2 0 dev 正在读取软件包列表 完成 正在分析软件包的依赖关系树 正在读取状态信息 完成 有一些软件包无法被安装 如果您用的是 un
  • 第3章 vmware虚拟机的三种网络设置

    在vmware虚拟机的设置中 xff0c 共有四种网络模式可以选择 xff1a 桥接模式 NAT模式 仅主机模式和自定义模式 本文重点讲解前三种网络模式的设置 下图是我的宿主机的IP信息 xff0c 在某些场景下需要将虚拟机中的centos
  • 无法安装64位版本的office,因为在您的PC上找到以下32位程序

    无法安装64位版本的office 因为在您的PC上找到以下32位程序 请卸载所有32位office程序 xff0c 然后重试安装64位office 如果想要安装32位office xff0c 请运行32位安装程序 那为什么会出现这种情况呢
  • idea调试rt.jar下sun.misc.*的源码

    1 进入设置页面 xff1a Settings gt Debugger gt Stepping 2 在 34 Do not step into these classes 34 列表中 xff0c 去掉 34 sun 34 前面的勾就可以了
  • iOS UILabel的lineBreakMode省略模式设置

    iOS UILabel的lineBreakMode省略模式设置
  • 将网页分享到微信JS

    1 导入微信的js lt script type 61 34 text javascript 34 src 61 34 http res wx qq com open js jweixin 1 0 0 js 34 gt lt script
  • 利用XML文件的一个写日志的类!!!!!

    对于程序执行期间的错误跟踪 xff01 相信大家都有自己的一套办法 xff01 xff01 xff01 但都是利用文件文件 xff0c 我这次利用的是XML amp XSL xff0c 可产生报表格式的日志 轻松生成报表 xff01 xff
  • 解决golang获取时间默认使用UTC

    在Go语言上 xff0c go语言的time Now 返回的是当地时区时间 xff0c 直接用 xff1a time Now Format 2006 01 02 15 04 05 输出的是当地时区时间 但是部署之后 xff0c 有的服务器会
  • Android 系统 Settings 启动流程详解

    Settings简介 Settings 是 Android 系统自带的一个很重要的应用 xff0c 给用户提供了操作 Android 系统功能的界面 它里面包含了 Wireless amp network xff0c device xff0
  • Lucene学习总结之一:全文检索的基本原理

    一 总论 根据http lucene apache org java docs index html 定义 xff1a Lucene 是一个高效的 xff0c 基于Java 的全文检索库 所以在了解Lucene之前要费一番工夫了解一下全文检
  • Java发送http请求,参数形式为json

    Java发送http请求 xff0c 参数形式为json 不介绍知识 xff0c 哪不懂自己搜 只记录平时用到的 xff0c 可以给其他人做参考 需要传递的参数为json形式 xff0c 比如手机号 phone xff1a 123456 s

随机推荐

  • maven idea设置查找依赖优先从指定的本地仓库获取

    maven idea设置查找依赖优先从指定的本地仓库获取 选择Setting gt Build Execution Deployment gt Build Tools gt Maven gt Runner xff0c 设置Maven启动虚拟
  • eslint规则总结

    span class token string 34 off 34 span or span class token number 0 span span class token operator span 关闭规则 span class
  • 第4章 系统“后悔药”--vmware的快照功能

    通过前面几章的学习 xff0c 相信大家对centos有了一定的认识了吧 xff1f 我们的centos8 5是安装在vmware虚拟机上的 xff0c vmware虚拟机有一个非常实用的功能那就是快照功能 快照是个什么东西呢 xff1f
  • JDK 的 ORACLE 官网下载步骤

    下面以下载 jdk 8u181 linux x64 tar gz 为例 xff0c 说明下在 ORACLE官网下载的具体步骤 1 进入oracle官网 gt Resource gt Software Downloads xff0c 如下截图
  • 漫谈程序员系列:程序员的生活就这样吗

    我当了快十年程序员了 xff0c 终于老得可以来谈谈程序员的生活是什么样子了 或许陈奕迅的 十年 中的一段歌词 xff0c 可以表示很多程序员和软件开发之间的感情纠葛 xff1a 十年之前 我不认识你 你不属于我 我们还是一样 陪在一个陌生
  • 程序员转行为什么这么难

    尽管我在 大龄程序员的未来在何方 这篇文章里比较乐观地介绍了程序员保持竞争力的几个方向 xff0c 但现实依然是残酷的 xff1a 很多人将不得不离开软件开发工作 xff0c 转型去从事其他职业 当你要这么做时 xff0c 就会感慨 xff
  • Activity的onNewIntent()步骤何时会被调用及activity四种启动模式

    Activity的onNewIntent 方法何时会被调用 OnNewIntent被调用的前提是 ActivityA已经启动过 处于当前应用的Activity堆栈中 当ActivityA的LaunchMode为SingleTop时 xff0
  • php base64保存为图片

    前端传来的格式如下 xff1a POST 39 goodImage 39 61 data image png base64 iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAABFWlDQ1BpY2
  • linux中用crontab定时任务启动jar无效的问题

    修改前脚本内容如下 xff1a nohup java Xms512m Xmx512m jar mnt jar xx 0 0 1 SNAPSHOT jar amp 检查了权限等各方面可能 xff0c 一直都是脚本能执行 xff0c 但是不产生
  • 关于ubuntu安装过程中,分盘出现EFI分区错误问题解决方法

    步骤 Universal USB exe工具制作Ubuntu16 04 iso镜像安装 重启系统并按F12进入快捷启动界面 在启动过程中不选择UEFI启动项 xff0c 选择另一种启动方式即可
  • Ubuntu 设置 SSH 通过密钥登录

    Ubuntu 设置 SSH 通过密钥登录 我们一般使用 VSCode MobaXterm PuTTY等 SSH 客户端来远程管理 Linux 服务器 但是 xff0c 一般的密码方式登录 xff0c 容易有密码被暴力破解的问题 所以 xff
  • Windows_MySQL_8.0 _安装与卸载(压缩包)

    1 把 my ini 文件放到D Users admin Downloads MySQL mysql 8 0 31 winx64 my ini span class token punctuation span client span cl
  • 使用命令行启动 VirtualBox 虚拟机

    查看所有虚拟机 34 D Program Files Oracle VirtualBox VBoxManage exe 34 list vms 查看正在运行的虚拟机 34 D Program Files Oracle VirtualBox
  • centos8.5.2111更换阿里yum源

    本来不想写关于更换yum源的博客的 xff0c 可是最近再更换阿里yum源时出现了些问题 xff0c 网上的几篇博客又有误导新手之嫌疑 xff0c 所以就有了下面的这篇博客 1 使用root用户 xff0c 进入 etc yum repos
  • Android以太网网口注册流程

    一 引言 在上一篇文章 xff0c 我们从上层APP出发 xff0c 通过以太网的使能来分析了以太网框架中 xff0c 上层指令如何传递到底层 这篇文章 xff0c 我们将通过网口注册的流程来分析 xff0c 以太网框架中 xff0c 底层
  • 群晖Synology FileStation不显示Share文件夹的解决办法

    群晖Synology FileStation不显示Share文件夹的解决办法 症状 xff1a 群晖FileStation中不显示Share文件夹 xff0c 但是在控制面板 共享文件夹里却显示Share文件夹 解决办法 xff1a 如下图
  • 注解@PathVariable 的使用

    映射中传值 64 GetMapping 34 beacons currentPage pageSize 34 public ResultData findAllBeacon 64 PathVariable 34 pageSize 34 in
  • 【LeetCode.10 正则表达式匹配】

    LeetCode 10 正则表达式匹配 10 正则表达式匹配 给你一个字符串 s 和一个字符规律 p xff0c 请你来实现一个支持 39 39 和 39 39 的正则表达式匹配 39 39 匹配任意单个字符 39 39 匹配零个或多个前面
  • The following packages have been kept back:

    因为有部份packages的安装版比release版新而出现 The following packages have been kept back 这个问题 xff0c 解决方法是使用apt get u dist upgrade 统一更新到
  • python3 钉钉 加签名 钉钉群机器人巡检告警 脚本

    本文接上文 python3 钉钉 加签名 钉钉群机器人告警 脚本 https blog csdn net frdevolcqzyxynjds article details 128455191 cat dd os t1 py span cl