• 贝温微信机器人是由贝温开发的第三方免费微信智能机器人,通过微信机器人,可以管理微信群及个人好友的相关事务,解放您的双手,就用贝温微信机器人!
              • 联系电话:

                400-6688-1193

              • 邮箱:

                Support@bewiner.cn

              Author:大叔@运维部

              0x00 关于运维

              1.何为运维?

              ? ? ? ?运维(Operation and maintenance)一般是指对大型组织已经建立好的网络软硬件的维护,其中传统的运维是指信息技术运维(IT运维)。所谓IT运维管理,是指单位 IT 部门采用相关的方法、手段、技术、制度、流程和文档 等,对IT 运行环境(如软硬件环境、网络环境等)、IT 业务系统和 IT 运维人员进行的综合管理。

              ? ? ? 以上是网上关于运维的一些概念。

              ? ? ? 个人的理解运维就是为了最求一种稳定的结果,稳定又成为运维一切开始的基石。运维的一切工作都是围绕着稳定为努力的。无论你是搞网络还是搞系统,搞服务器硬件还是搞各种软件的,我们都在追求一种持续性的,高性能,可用的状态,这是我心中的运维。

              运维者,高可用也。

              2.运维都做什么工作?

              ? ? ? ?运维的工作太多太多,做的了水晶头,装的了系统,扛得动服务器,正所谓文能调优写脚本,武能布网修机器。

              ? ? ? ?说实话,接触运维没有多久,不过比较幸运的是从一个IDC的基础建设最后跟到了云服务的上线,这段经历也让自己能够接触运维的方面更加全面。

              ? ? ? ?从时间的顺序来讲,运维最早的工作是在机房建设方面,这方面主要集中在物理层面包括机房的整体建设,综合部署网线与电线,ups设计等等?;拷ㄉ柚笫粲诓渴鸾锥?,这期间包括安装操作系统,数据库和各种软件,网络交换机,路由器的调试等等。部署结束之后就是管理期,管理一个复杂而且不断持续和迭代的过程。

              3. 如何成为一个好的运维?

              刘邦说:运筹帷幄之中,决胜千里之外。说的是张良子房。

              我要说:运行维护之中,稳定千年之外。说的是每个运维。

              ? ? ? ?随着科技的不断发展,对我们运维也提高了要求,从最早运维界提出的DevOps再到最近半年Google提出的SRE。

              ? ? ? ?随着云的落地和docker的迅猛崛起,批量部署等自动化运维成为了运维的主流方向。

              ? ? ? ?DevOps无论逼格多高,其实它归根结底就是一套工具链,它代表了开发、运维、测试等环节之间的协作。

              ? ? ? ?常用的工具有Docker(容器化)、Jenkins(持续集成)、Vagrant(虚拟化平台)、Zabbix、Nagios、cacti和小米开源的OpenFalcon(监控工具)、OneAPM (性能分析)、ELK(日志分析)等等

              ? ? ? ?如果把DevOps看成是一串项链,上面的工具是项链上的珍珠,那么自动化就是在这一串串珍珠串接起来的一根线。

              0x02 监控的自动化

              ? ? ? ?监控就想我们的眼睛,一个没有监控的运维就像一个身怀绝世武功的瞎子。功夫再高也怕飞刀。知己知彼不仅仅是运用在军事上,对于运维项目上也是需要知己知彼,才能立于不败之地。

              ? ? ? ?这是我工作中经常要用的一款监控工具,是一款态势感知的优秀平台。也是我日常工作中的得力助手。像大多数普通的监控一下该监控也支持邮件报警功能。但这个邮件报警功能还不是特智能。

              ? ? ? ?前段时间,看到了一篇有的文章,关于使用hubot和slack制作运维机器人的故事,突发奇想,搞个微信机器人来接受报警的系统是不是会更有意思?

              1. 通过邮件协议获取邮箱里的邮件。

              既然这样,说干就干。

              0x03 获取邮件内容

              ? ? ? ?根据邮件协议从邮件服务器上获取邮件可以通过pop3和imap两种方法实现,最开始用的是poplib这个???,不过后来发现imaplib这个??楣δ芨?。

              首先导入imaplib。

              import imaplib

              使用IMAP4协议和用户名密码登录邮箱。

              conn = imaplib.IMAP4(imapserver,143)

              conn.login(username, password)

              select选择邮箱INBOX是默认的收件箱。

              conn.select("INBOX")

              search搜索邮箱里的邮件 (None, ‘ALL’)表示全部。

              state, data = conn.search(None, 'ALL')

              设定两个变量分别获取state和data。

              state 是从邮箱中返回的状态吗OK,代表已经获取成功。

              data 返回的是一个数组,里面的数字对应着邮箱的邮件编号。

              通过split()函数将data转变成list。

              elist = data[0].split()

              通过fetch获取邮件的内容。RFC822表示邮件按照RFC822的格式。

              state,data=conn.fetch(elist[len(elist)-1],'(RFC822)')

              得到一封MIME标准的邮件,只要对python的email??槠浣薪馕鼍涂梢?。

              首先导入email???/p>

              import email

              然后通过email.message_from_string将邮件内容转化成message对象。

              msg=email.message_from_string(data[0][1])

              通过get_payload(decode=True)获取邮件的内容。

              msg_content=msg.get_payload(decode=True).decode('utf-8')

              打印一下内容。

              已经变成html格式啦。

              0x04 解析出邮件文本内容

              html获取文本主要有三种方式:

              1. 正则表达式

              2. Beautiful Soup 4

              3. HTMLParser???/span>

              分析html结构发现获取文本非常简单,使用python自带的HTMLParser??榧纯?。

              from HTMLParser import HTMLParser

              handle_starttag(tag, attrs) ,处理开始标签,比如

              handle_data(data) ,处理数据,标签之间的文本

              classMyHTMLParser(HTMLParser): ?

              def__init__(self):

              ????pass ?

              defhandle_starttag(self, tag, attrs):

              ????pass

              defhandle_data(self,data):

              ????pass

              通过分析前面的html代码发现,文本是从标签

              开始的一直到结尾,这样只要能够匹配到第一个文本前的
              欧美亚洲日本国产黑白配_特级高清牲交生活片_亚洲一本一道一区二区三区_小男生自慰gv网站_强玩乡下丰满少妇_中国极品美軳人人体bt