• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python+微信接口实现运维报警

Python+微信接口实现运维报警

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python运维,老男孩python运维,python自动化运维,python自动化运维开发,python自动化运维 pdf等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

说到运维报警,我觉得都可以写个长篇历史来详细解释了报警的前世来生,比如最早报警都是用邮件,但邮件实时性不高,比如下班回家总不能人一直盯着邮箱吧,所以邮件这种报警方式不适合用来报紧急的故障,日常磁盘利用率监控什么的可以用它来报没问题,网站宕机不能访问这种故障,用它就明显不合适了,那对这种业务稳定性要求比较高的业务,后来就发展成了用短信,就是公司买个短信机,提供一个http接口,然后运维人员写脚本把收集到的异常数据写入文件,然后脚本实时检测如果这个文件不为空,就调用短信机接口把文件里的内容发送出去,这种短信的报警方式持续了几年,现在转眼到了移动端时代,随着微信的横空出世,这种短信的方式现在也在慢慢转变了,为啥呢?最简单的1条,因为这玩意有成本,用不是白用的,每月就要交短信费的,如果你说这短信费用能有多少,1条不就1毛吗,但你想想如果机器规模发展到上万台的公司,每台服务器按照按从底层硬件监控、系统层监控、应用层这三个维度去部署监控脚本,这里每项都又分为N个细小项,可想而知每天发的短信数会多么恐怖,当然了这惊人的数据里还有一部分是无效报警,但一样得付钱呀,每月领导批钱的时候都会被报警短信数量所震惊,然后感叹一下就回复了OK,所以说在没有更好的方法前,这种方式有成本但为了业务稳定也必须要投入,但现在微信来了,直接宣布利用我这个平台发消息免费,因为终端还是手机,及时性又没有降低,成本又没有,没有不用的道理,所以这篇咱们就来看看如何调微信接口来实现日常运维消息的报警。

首先,你要去注册一个微信企业号,地址是:https://qy.weixin.qq.com/cgi-bin/loginpage

注册过程如果是为企业使用要选择企业,然后上传企业的资质证明,如果是个人注册,选择团队,然后输入自己的身份证号即可完成注册,其它关键步骤在注册过程中已经提示的很清楚了,比如企业号的名字不能修改等。

注册完进入第二步,在应用中心新建一个应用,例如:运维报警,然后在设置–功能设置–权限管理中点击左边的运维报警应用,在右边会出现CorpID和Secret,这个要记好,脚本中会用到,然后“应用权限“”选择运维报警这个应用,“”通讯录权限“”选择可读,到这里企业号的在平台上的设置完毕,接下来进入代码步骤。

平台上都设置好了,怎么才能发信息呢,这就要使用python去调用发消息的接口了,要给微信企业号发消息,首先要获得一个token,这个是平台提供给的,获得了这个token后才能发消息,所以我们的脚本分2部分,第一要获取token,第二是发消息,代码如下:

#! /usr/bin/env python
 
import requests
import json
 
def get_token():
 
  url='https://qyapi.weixin.qq.com/cgi-bin/gettoken'
  values = {'corpid' : 'your corpid' ,
      'corpsecret':'your corpsecret',
       }
  req = requests.post(url, params=values)  
  data = json.loads(req.text)
  return data["access_token"]
 
def send_msg():
  url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+get_token()
  values = """{"touser" : "1" ,
      "toparty":"1",
      "msgtype":"text",
      "agentid":"1",
      "text":{
        "content": "%s"
      },
      "safe":"0"
      }""" %(str("10.1.1.8 is down"))
  
  data = json.loads(values) 
  req = requests.post(url, values)  
 
if __name__ == '__main__':
  send_msg()
</div>

脚本用到了第三方模块requests,  这个模块要比python标准模块urllib,urllib2,更为简洁,可以直接用get(), post(),put(), delete(), head() ,options(),方法对url操作,json模块就是来解析返回的json串,转成python可操作的数据类型,关于如何调用微信发消息这篇就写到这里,欢迎大家留言交流。

</div>

您可能想查找下面的文章:

  • Python实现脚本锁功能(同时只能执行一个脚本)
  • Python自动化运维和部署项目工具Fabric使用实例
  • Python自动化运维和部署项目工具Fabric使用实例
  • Python+微信接口实现运维报警
  • Python+微信接口实现运维报警

相关文章

  • Python命令启动Web服务器实例详解
  • Django的session中对于用户验证的支持
  • Python自动化部署工具Fabric的简单上手指南
  • 基于Python如何使用AIML搭建聊天机器人
  • Python线程中对join方法的运用的教程
  • Python基于动态规划算法计算单词距离
  • tensorflow实现测试时读取任意指定的check point的网络参数
  • python中异常报错处理方法汇总
  • python超简单解决约瑟夫环问题
  • 用Python实现web端用户登录和注册功能的教程

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 使用python获取CPU和内存信息的思路与实现(linux系统)
    • python中的__init__ 、__new__、__call__小结
    • python简单猜数游戏实例
    • Python程序中设置HTTP代理
    • python刷投票的脚本实现代码
    • Python编程判断这天是这一年第几天的方法示例
    • Python中使用tarfile压缩、解压tar归档文件示例
    • python简单获取本机计算机名和IP地址的方法
    • 更改Python命令行交互提示符的方法
    • 使用Python脚本来控制Windows Azure的简单教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有