初识Python自动化运维

Posted 雾晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识Python自动化运维相关的知识,希望对你有一定的参考价值。

系统模块

系统模块主要是使用psutil库,后面会主要写这个介绍一下
psutil 是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括cpu 磁盘 网络等信息)

常用psutil监控指标

import psutil
print(psutil.cpu_count(logical=False)) # 返回cpu核心数 参数默认true 如果是false仅返回物理核心数
print(psutil.virtual_memory()) # 返回内存信息 元组(全部,已用,百分比,使用过,未使用过,)
li=psutil.virtual_memory().total # 拿到内存 拿到的是比特
print(int(li)/1024/1024/1024) # 转换成gb

print(psutil.disk_partitions()) # 查看磁盘信息
print(psutil.disk_usage("D:\\\\").percent)  #查看磁盘利用情况 当然后面也可以带一些其他参数,需要什么就带什么,具体可以看文档
print(psutil.disk_usage("F:\\\\"))

运行效果

使用psutil查看系统进程

import psutil
print(psutil.pids()) # 返回运行程序清单 list 里面是pid
print(psutil.Process(896))  #传入pid 可以拿到这个id对应的程序情况,并且返回一些信息 当然返回也是list
print(psutil.Process(896).exe()) # 返回程序所在位置
print(psutil.Process(896).connections()) # 返回程序连接信息 本地ip 远程ip 端口 状态等,可以使用它进行监控程序运行信息

运行效果

演示用popen获取用户进程信息

import psutil
p=psutil.Popen(["D:\\python\\python\\python.exe","-c","print('hello')"],stdout=PIPE)  # 运行一个程序
print(p.name())  # 返回程序由什么程序运行
print(p.username()) # 返回运行在那个用户下
print(p.cpu_times) #返回 占用cup的信息

运行效果




IP地址处理模块

主要是使用IPy这个包 ,使用这个库,可以处理绝大部分IPV6和IPV4的网络和地址

Dns模块

主要是使用dns工具包,可以查询动态更新ZONEx信息,所谓dns服务就是将域名转换为ip地址,

  • A记录 :将主机名转换成IP地址
  • MX记录 :邮件交换记录,定义邮件服务器的域名,
  • CNAME记录 ,指别名记录,实现域名间的映射
  • NS记录 标记区域的域名服务器及授权子域;
  • PTR记录 反向解析,与A记录相反,将IP转换成主机名
  • SOAj记录,SOA标记,一个起始授权区的定义

常见解析类型示例说明

常见的DNS解析类型包括 A、MX、NS、CNAME等利用dnspython的dnsresoler.
query方法可以简单实现这些DNS类型的查询,为后面要实现的功能提供数据来源。例如一个使用DNS轮询业务的域名进行可用性监控,需要得到当前的解析结果。

邮件发送模块

  1. 简单邮件发送
import smtplib

HOST="smtp.qq.com"
SUBJECT="CES"
FROM="1174115923@qq.com"
TO="1298391806@qq.com"
text="摘星"

BODY="\\n".join(
    ("来自:%s"%FROM,"目的地:%s"%TO,"项目:%s"%SUBJECT,"text: %s"%text)
).encode(encoding="utf-8") # 解决编码问题

server=smtplib.SMTP(HOST)
server.login("1174115923@qq.com","iyjohyjovxrsjbfa")
server.sendmail(FROM,[TO],BODY)
server.quit()```

以上是关于初识Python自动化运维的主要内容,如果未能解决你的问题,请参考以下文章

Linux云自动化运维第四课

python 运维自动化之路 Day2

运维管理工具Ansible初识

初识Python

Python开发(基础):初识Python

python初识