python 接入钉钉群告警

背景 


1 环境 python3.7

2 邮件控制服务(由于公司用了zabbix(服务器基础设施),elk(业务报警),promethues alertManager(主要是k8s上面使用),grafana(部分promethues收集的数据也由此处报,此处设置报警更为简单,但弊端在于当图形有变量的时候则无法进行报警,待后续版本的优化),报警不进行控制,一天产生的将会有近3k封,单独设置则会增加工作量,就直接写了个过滤器(也是python),后面有需求需要报警到钉钉)

3 邮件通过钉钉告警

钉钉告警的官方链接

https://ding-doc.dingtalk.com/doc#/serverapi3/iydd5h 钉钉自定义机器人开发平台

注意:

1 每个机器人每分钟最多发送20条。如果超过20条,会限流10分钟

一 、开通钉钉机器人

1 点击右上角群设置,智能群助手

           智能群助手

2 点击添加机器人

添加机器人

3 点击按钮+

添加按钮

4 点击自定义

自定义

5 单击添加。

添加

6 输入机器人名称,同时可以为机器人设置机器人头像。设置

7 完成安全设置(至少选择一种)。有关安全配置详细内容,请参见机器人开发的安全配置节点。安全配置

勾选我已阅读并同意《自定义机器人服务及免责条款》,并单击完成。

8 机器人创建成功后,您可以单击复制,复制其webhook地址;或单击设置说明,查看机器人设置、调试等说明文档。

机器人

9 节点输出

 调用成功的输出数据为钉钉API返回的数据,如下示例。具体钉钉API返回数据,请参见钉钉开发文档。

 {"errmsg": "ok","errcode": 0
}

 

大部分的代码都是可以通过钉钉的说明文档即可完整做出,但是为了方便还是记录一下。

#_*_coding:utf-8_*_
# Author: yehuai
# Creation time: 2020/1/15 14:40
import base64
import hashlib
import hmac
import time
import urllibimport requests
import jsonTOKEN = "通过钉钉群,添加群机器人,然后在里面的"
SECRET = "钉钉机器人中可以获取到"
headers = {'Content-Type': 'application/json;charset=utf-8'}
atmobile_list = ["#手机号,每次邮件会艾特此人",""],def get_url():# 按官方的要求进行加密,并且生成完成的链接,官方是py2,此处是py3# 钉钉官方要求,请求的url中必须携带三个参数,access_token, timestamp,sign(签名是由secret加密而来)timestamp = round(time.time() * 1000)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 = urllib.parse.quote_plus(base64.b64encode(hmac_code))# 完整的urlapi_url = "https://oapi.dingtalk.com/robot/send?access_token={}&timestamp={}&sign={}".format(TOKEN, timestamp, sign)return api_urldef ddmsgsend(text):api_url = get_url()# 传输方式为文本json_text = {"msgtype": "text",# 艾特人的方式"at": {# 艾特人按手机艾特"atMobiles": atmobile_list, "isAtAll": False},# 发送文本"text": {"content": text}}# 请求urlreturn requests.post(api_url, json.dumps(json_text), headers=headers).content.decode("utf8")if __name__ == '__main__':text = "微服务报警(测试) \n"  \"告警时间:2020-01-15 14:00:55 \n" \"告警服务:数据同步服务微服务;\n" \"replicas:5个;\n" \"当前存活节点:1个;\n" \"存活节点 id:['data-sync-service-10-244-88-18-20200'] \n" \"事件等级:highest;\n" \"告警信息:data-sync-service replicas 与存活节点不一致,请及时处理"res = ddmsgsend(text)print(res)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/66594.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钉钉自定义机器人接入

用钉钉机器人,可以做一些通知,比如说程序的预警,风控啊。 官方描述 看官网描述,很强大,支持文本,链接,Markdown。 添加完机器人可以用curl工具随便发点什么试试: curl ‘https://oap…

钉钉企业内部应用 - 获取考勤打卡结果

本文是根据钉钉官方文档归纳所出,最后有 PHP 测试成功的 demo。 概述 钉钉登录是基于 OAuth2.0 协议标准构建的钉钉 OAuth2.0 授权登录系统。 在进行钉钉 OAuth2.0 授权登录接入之前,需要先创建一个应用,并获得相应的 AgentId 和 AppSecret。…

通过Webhook接入钉钉群自定义机器人

在钉钉群中添加Webhook自定义机器人, 复制Webhook地址保存: https://oapi.dingtalk.com/robot/send?access_tokenxxxxxx 安全设置:选择加签方式,复制加签保存 #!/usr/bin/python # -*- coding: utf-8 -*- import requests imp…

注册之谷歌验证码

验证码的使用 前言一、验证码jar包二、谷歌验证码Kaptcha的使用1.在web.xml文件中配置用于生成验证码的Serclet程序2.在表单中使用img标签显示并使用3.获取服务器验证码和客户端进行比较4.切换验证码 总结 前言 在许多项目中都会涉及到登陆注册,而我们日常的注册除…

网站注册登录等短信验证码

现在随着时代的发展,许多网站的注册,或者登录都和手机号码关联在一起,这样也方便了我们记住账号,下面我就来说一下怎么用php发短信,这个是卸载(lavarel)框架的。 这里给大家介绍一个平台--云信…

输入手机号获取验证码的注册页面,说出测试过程

考察的点有两个,一个是对手机号格式和验证码格式的验证,一个是对验证码获取功能的验证。 基本原理:验证码1分钟内只能发一次,有效期10分钟。验证码是后台Java代码生成的,然后验证码生成时间和此验证码会保存在数据库的…

证券交易1-交易系统简介

证券交易过程,主要的过程是个人投资者或者机构投资者,按照股票的行情,报价下订单到交易所的,然后收到交易所回报的过程。本文主要介绍了这一交易过程中涉及到的系统。 证券交易业务流程图: 证券交易IT系统架构图&…

通达信交易系统接口是不是免费的?

通达信是一款第三方的交易系统,它可以跟我们常用的券商系统进行对接,所以通达信更像是一款接口型软件,但是为什么大家要做交易时,不直接使用券商交易系统,反而选择用通达信交易系统接口呢?这样难道不是还多…

“Safari 16.4 发布,简直是开发者的‘地狱’!”

以往 Safari 发布新版本,因其更新时间及更新内容的不确定性,时而都会给开发者带来一些问题,但都比不上这次 Safari 16.4 发布带来的麻烦大。 原文链接:https://www.construct.net/en/blogs/ashleys-blog-2/safari-releases-develo…

3 亿岗位或被取代?程序员躺枪,多个行业迎来新时代!

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 2023 年的流量密码,非 ChatGPT 莫属。 它的横空出世,不仅撼动着科技界,让国内外大厂纷纷躬身入局、抢占高地,也让打工人在 AI 新时代的到…

AutoGPT注册使用手册

Auto-GPT介绍 Auto-GPT是一个基于ChatGPT的工具,他能帮你自动完成各种任务,比如写代码、写报告、做调研等等。使用它时,你只需要告诉他要扮演的角色和要实现的目标,然后他就会利用ChatGPT和谷歌搜索等工具,不断“思考…

ChatGPT实战:运维之创建Dockerfile,部署SpringBoot

需求:创建Dockerfile 交互提示语: 为 SpringBoot应用程序创建 Dockerfile 或容器化策略 标准提示语(Prompt ):为 [语言或技术] 应用程序创建 Dockerfile 或容器化策略。 回答结果: 要为 SpringBoot 应用程序…

软件设计师---UML高频考点总结

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏 软件设计师高频考点合集 视频 2022软件设计师-提炼高频考点-个人学习过程的总结,仅供参考&…

Banner设计文字如何排版,如何设计字体

本文由:“学设计上兔课网”原创,图片素材来自网络,仅供学习分享 Banner设计文字如何排版,如何设计字体?随着网络的发展,如今,大家最常见的应该就是网页banner广告了。对于Banner设计,很多人认为不需要太多的设计思路就可以完成。其实设计banner可能并不难,但是设计一…

android设计常用字体,界面设计必备!全方位科普常用的字体规范

编者按:90后UI设计师的最新干货!应广大群众要求,今天Micu设计 同学不说高大上的教程,来点即学即用的干货,从界面中文字的使用规则到字体颜色的选择,都有具体细致的说明,非常适合基础不扎实的同学…

关于 LayOut 室内设计施工图填充的那些事儿

作者: 活力网Andrew 大家用LayOut画施工图的时候 最纠结的一个问题就是:如何填充…… 其实 对于LayOut施工图来说 填充 只是很小的一个知识点 这次我们就和大家聊一聊填充的问题 关于Layout填充的方法与技巧 大概一共有四种 1、“野路子”填充法 …

unity使用BMFont制作位图字体

介绍 在游戏中制作中,我们往往会遇到自定义字体的情况,但是unity自带的字体Arial,无法满足我们对字体的需求。虽然我们可以导入字体,但是并不一定符合我们的需要,这个时候就需要使用自定义字体来显示某些东西以达到某种视觉效果,例如: BmFont准备 http://www.angelc…

ASP.NET 界面外观设计与布局

4.1.1 什么是主题和外观 主题是指网页和控件外观属性设置的合集,通过使用主题能够定义页面和控件的样式,然后再Web 应用程序中应用页面和页面上的控件,可以简化样式控制。 主题包括一系列元素,这些元素主要有外观文件、样式表文件…

设计师常用的7款界面设计工具!

不同的界面设计工具都有其独特的优点和不足之处。本文为大家介绍设计师常用的7款界面设计工具:即时设计是一款在线UI界面设计工具,拥有中文界面和丰富的社区资源,适合初学者和专业设计师使用。Sketch具有直观的矢量编辑工具和可重复使用的符号…

小技巧 - Chrome 浏览器绕过“请在微信客户端打开链接”

微信和 QQ 内置浏览器 UA~ Tips:如果此方法失效了,可以底下找我~(已有最新方法)Tips:如果此方法失效了,可以底下找我~(已有最新方法)Tips:如果此方法失效了,可…