自动化运维 python 批量监控服务器_1、python自动化运维——监测服务器状态
監測服務器狀態
獲取系統性能信息
1、CPU信息:
Linux操作系統的CPU利用的幾個部分:
User Time;SystemTime;Wait IO;Idle
psutil.cpu_times()
psutil.cpu_times().user
psutil.cpu_count()
2、內存信息
psutil.virtual_memory() #查看內存完整信息
psutil.swap_memory() #查看swap分區信息
3、磁盤信息
psutil.disk_io_counters() #獲取硬盤IO總數
psutil.disk_usage(‘/’) #獲取分區的使用情況
psutil.disk_io_counters(perdisk=True)#獲取單個分區的IO個數
4、網絡信息
psutil.net_io_counters #查看網絡總的IO數
5、其他信息
psutil.users() #查看當前使用用戶
psutil.boot_time() #查看當前開機時間
datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d%H:%M:%S") #使用datetime模塊格式時間戳
系統進程管理方法:
1、進程信息
p = psutil.Process(進程ID) #實例化一個Process對象,
p.name() #進程名
p.exe() #進程bin路徑
p.cwd() #進程目錄的絕對路徑
p.status() #進程狀態
p.create_time() #進程創建時間
p.uids() #進程uid信息
p.gids() #進程gid信息
2、地址處理模塊IPy
通過version()方法區分IP地址是IP4或者IP6類型
例:IP(‘8.8.8.8’).version()
輸出該網段的所有IP地址:
ip=IP(‘192.168.118.0/24’)
for x in ip:
print(x)
定制不同輸出類型的網段,輸出類型為string
ip=IP(‘192.168.118.0/24’)
ip.strNormal(0)無返回,如192.168.118.0
ip.strNormal(1)prefix格式,如192.168.118.0/24;
ip.strNormal(2),decimalnetmaskt格式,如192.168.118.0/255.255.255.0
ip.strNormal(3),lastIP格式,如192.168.1.0-192.168.118.255
網絡信息檢測方法:
判斷輸入的IP或子網返回網絡、掩碼、廣播、反響解析、子網數和IP類型等信息#!/bin/env python
from IPy import IP
ips=input('please input you IP address\n')
ip=IP(ips)
if(ip.len()>1):
print('net: %s' % ip.net());
print('netmask: %s' % ip.netmask())
print('broadcast: %s'% ip.broadcast())
print('reverse address %s' % ip.reverseNames()[0])
print('subnet: %s' % ip.len())
else:
print('reverse address %s' % ip.reverseNames());
print('heaxdemical: %s' % ip.strHex());
print('binary ip: %s ' % ip.strBin());
print('iptype :%s' % ip.iptype());
dnspython模塊解析域名
A記錄#!/usr/bin/env python
from dns import resolver
domain=input('please input you domain name:\n') #請輸入域名地址
A=resolver.query(domain,'A') #指定類型為A記錄
for i in A.response.answer:
for j in i.items:
print(j.address)
MX記錄#!/usr/bin/env python
from dns import resolver
domain = input('please input domain name: ')
MX = resolver.query(domain,'MX')
for i in MX:
print('MX preference: ',i.preference,'mail exchange: ',i.exchange)
NS記錄#!/usr/bin/env python
from dns import resolver
domain = input('pelase input you domain name: ')
NS = resolver.query(domain,'NS')
for i in NS.response.answer:
for j in i.items:
print (j.to_text())
CNAME記錄#!/usr/bin/env python
from dns import resolver
domain = input('pelase input you domain name: ')
NS = resolver.query(domain,'NS')
for i in NS.response.answer:
for j in i.items:
print (j.to_text())
總結
以上是生活随笔為你收集整理的自动化运维 python 批量监控服务器_1、python自动化运维——监测服务器状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《纽约时报》禁止其新闻报道用于人工智能模
- 下一篇: 电影《灌篮高手》结束公映:累计票房 6.