自动化运维 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())

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

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

相关文章

计算机应用基础模拟三答案,《计算机应用基础》模拟试卷三答案

计算机应用基础计算机应用基础 模拟试卷三模拟试卷三 答案答案 得分评卷人 一一 填空题填空题 1 HTTP 2 采样频率 3 机械 光电 光学 4 文件夹 5 TCP IP 6 网卡 7 网络地址 8 光纤 9 应用 10 左下角 标签颜色为白色 11 第一步 打开 页面设置 在 页边距 选项卡中选择横向 然后在 …

C/C++程序员的编程修养

点击蓝字关注我们什么是好的C/C程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快&am…

ginkgo spi 错误_开发SPI时不要犯这个错误

ginkgo spi 错误您的大多数代码都是私有的,内部的,专有的,并且永远不会公开。 在这种情况下,您可以放轻松–您可以重构所有错误,包括那些可能导致API更改中断的错误。 但是,如果要维护公共API,…

python账号密码一一对应_python模拟用户登录系统,如何两个用户输入各自的密码才能登入?...

展开全部 #我可以把我自己2113的成果送你,你来研究5261研究 import json #用来存储数据4102的模块 import os #用来进行文件操作1653 import sys #获取脚本所在目录用 import re #用来进行字符串操作 script_path os.path.realpath(__file__) PATH os.path.dirnam…

计算机课实验三,成都信息工程学院计算机网络课程实验三

成都信息工程学院计算机网络课程实验三 本文关键词:成都,计算机网络,信息工程学院,课程,实验成都信息工程学院计算机网络课程实验三 本文简介:计算机网络实验报告实验三:编写客户服务器程序班级…

C语言#define与typedef的区别

点击蓝字关注我们在C语言编程中,typedef 和 #define是最常用语句,可能很多工作过几年的工程师都没有去深究过它们的一些用法和区别。typedef的用法在C/C语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部…

netflix_Netflix Archaius用于物业管理–基础知识

netflixNetflix Archaius提供了一组精巧的功能,可将动态属性加载到应用程序中。 这篇博客文章只是我所了解的Archaius范围的文档,比我在这里所记录的内容要多得多,但这应该提供一个很好的开始: 默认行为 考虑一个简单的属性文件…

python安装pygame模块_windows下 python 如何安装pygame模块

本机系统:win7,Pyhon版本: 3.6.0 1. 安装下载python 官网 https://www.python.org/ 下载地址 https://www.python.org/downloads/windows/ 下载后运行并安装。注意: 官网明确表示,3.5及以上版本不支持xp操作系统。要兼…

html文字添加波浪线,利用css渐变给文字下方加波浪线

具体代码如下.wavy-line-decoration {position: relative;line-height: 1.5em;}.wavy-line-decoration::before {content: ;position: absolute;bottom: -3px;width: 100%;height: 0.25em;background: // 可以给同一个元素同时添加多个背景渐变图层,用逗号隔开&…

新旧C++生成随机浮点数方法,你喜欢哪个?

点击蓝字关注我们一、在C11之前,我们通常采用rand函数来生成随机数。有时我们想用rand生成一组随机数,即使我们调用了srand,但生成的还是相同值。为什么会产生这种情况?又该如何解决?下面将用第一视角一起探究这其中的…

arm926ej_EJB超时策略:它们如何提供帮助?

arm926ejEJB 3.1在其API中引入了与超时相关的注释。 AccessTimeout StatefulTimeout 让我们快速看一下它们是什么以及它们为什么重要 AccessTimeout 指定一个排队请求(等待另一个线程完成)超时的时间段。 当您的会话bean实例被并发请求轰炸时&#…

html页面加载完成后会触发的事件_前端隐秘角落 - 页面渲染

前言如图所示,webkit内核浏览器的渲染过程(解析HTML,构建DOM树,解析CSS,构建CSSOM树 ,构建render树,布局layout,绘制painting),这些过程理解起来可能有些抽象,今天我们一…

计算机进管理提示找不到入口,win10系统开机提示xxxdll模块已加载但找不到入口点的教程...

有关win10系统开机提示xxxdll模块已加载但找不到入口点的操作方法想必大家有所耳闻。但是能够对win10系统开机提示xxxdll模块已加载但找不到入口点进行实际操作的人却不多。其实解决win10系统开机提示xxxdll模块已加载但找不到入口点的问题也不是难事,小编这里提示两…

十大经典排序,你真的都会了吗?(源码详解)

点击蓝字关注我们一、前言:排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键…

jvm 架构_不可变的基础架构,热部署和JVM

jvm 架构您是否在生产中部署和取消部署基于JVM的应用程序(无论JVM容器/无容器)? 也就是说,当您拥有某个应用程序或服务的新版本时,是否通过“取消部署”和“热部署”该应用程序的新更新版本来更改正在运行的JVM&#x…

c语言默认参数_5.1 C++有默认参数的函数

点击上方“C语言入门到精通”,选择置顶第一时间关注程序猿身边的故事作者闫小林白天搬砖,晚上做梦。我有故事,你有酒么?C有默认参数的函数在函数调用时形参从实参获取值,因为实参的个数要和形参相同,但有时…

计算机组成原理唐朔飞课后答案第六章,计算机组成原理第六章部分课后题答案(唐朔飞版)...

计算机组成原理第六章部分课后题答案(唐朔飞版) 6.4 设机器数字‎长为8位(含1位符号‎位在内),写出对应下‎列各真值的‎原码、补码和反码‎。 -13/64,29/128,100,-87 解:十进制数 二进制数 原 码 反 码 补 码 -13/64 …

jboss eap 7.0_是时候抛弃Java 7 – JBoss EAP 6.4了!

jboss eap 7.0这一周真是太棒了。 JBoss EAP 6.4已发布,在众多技术增强和新功能中 ,最大的是:Java 8已添加到受支持的配置列表中。 其中包括Oracle JDK和IBM JDK。 Java SE 7公开更新结束通知 2015年4月之后,Oracle将不再将Java …

C语言史上最愚蠢的BUG ???

点击蓝字关注我们本文来自“The most stupid C bug ever”,很有意思,分享给大家。我相信这样的bug,就算你是高手你也会犯的。你来看看作者犯的这个Bug吧。。首先,作者想用一段程序来创建一个文件,如果有文件名的话&…

python 字符串转日期_我总结的130页Python与机器学习之路V1.2.pdf,都是干货!

告别枯燥,通过学习有趣的小例子,扎实而系统的入门Python,从菜鸟到大师,个人觉得这是很靠谱的一种方法。通过一个又一个的小例子,真正领悟Python之强大,之简洁,真正做到高效使用Python.两周前发出…