欢迎来到天天文库
浏览记录
ID:12636744
大小:99.50 KB
页数:9页
时间:2018-07-18
《用 python 脚本实现对 linux 服务器的监控》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、用Python脚本实现对Linux服务器的监控目前Linux下有一些使用Python语言编写的Linux系统监控工具比如inotify-sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对Linux服务器的监控。本文介绍一下使用Python脚本实现对Linux服务器CPU内存网络的监控脚本的编写。1 评论:曹江华,系统管理员,中科思密达有限公司2013年12月23日·内容Python版本说明Python是由GuidovanRossum开发的
2、、可免费获得的、非常高级的解释型语言。其语法简单易懂,而其面向对象的语义功能强大(但又灵活)。Python可以广泛使用并具有高度的可移植性。本文Linux 服务器是Ubuntu12.10, Python版本 是2.7 。如果是 Python3.0 版本的语法上有一定的出入。另外这里笔者所说的Python是CPython,CPython是用C语言实现的Python解释器,也是官方的并且是最广泛使用的Python解释器。除了CPython以外,还有用Java实现的Jython和用.NET实现的IronPython,使Python方便地和Java程序、
3、.NET程序集成。另外还有一些实验性的Python解释器比如PyPy。CPython是使用字节码的解释器,任何程序源代码在执行之前先要编译成字节码。它还有和几种其它语言(包括C语言)交互的外部函数接口。回页首工作原理:基于/proc文件系统Linux系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc虚拟文件系统实现的。/proc文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/proc”),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息
4、,在运行中(onthefly)改变设置(通过改变内核参数)。与其他文件系统不同,/proc存在于内存而不是硬盘中。proc文件系统提供的信息如下:·进程信息:系统中的任何一个进程,在proc的子目录中都有一个同名的进程ID,可以找到cmdline、mem、root、stat、statm,以及status。某些信息只有超级用户可见,例如进程根目录。每一个单独含有现有进程信息的进程有一些可用的专门链接,系统中的任何一个进程都有一个单独的自链接指向进程信息,其用处就是从进程中获取命令行信息。·系统信息:如果需要了解整个系统信息中也可以从/proc/st
5、at中获得,其中包括CPU占用情况、磁盘空间、内存对换、中断等。·CPU信息:利用/proc/CPUinfo文件可以获得中央处理器的当前准确信息。·负载信息:/proc/loadavg文件包含系统负载信息。·系统内存信息:/proc/meminfo文件包含系统内存的详细信息,其中显示物理内存的数量、可用交换空间的数量,以及空闲内存的数量等。表1是/proc目录中的主要文件的说明:表1/proc目录中的主要文件的说明文件或目录名称描述apm高级电源管理信息cmdline这个文件给出了内核启动的命令行CPUinfo中央处理器信息devices可以用到
6、的设备(块设备/字符设备)dma显示当前使用的DMA通道filesystems核心配置的文件系统ioports当前使用的I/O端口interrupts这个文件的每一行都有一个保留的中断kcore系统物理内存映像kmsg核心输出的消息,被送到日志文件mdstat这个文件包含了由md设备驱动程序控制的RAID设备信息loadavg系统平均负载均衡meminfo存储器使用信息,包括物理内存和交换内存modules这个文件给出可加载内核模块的信息。lsmod程序用这些信息显示有关模块的名称,大小,使用数目方面的信息net网络协议状态信息partition
7、s系统识别的分区表pcipci设备信息scsiscsi设备信息self到查看/proc程序进程目录的符号连接stat这个文件包含的信息有CPU利用率,磁盘,内存页,内存对换,全部中断,接触开关以及赏赐自举时间swaps显示的是交换分区的使用情况uptime这个文件给出自从上次系统自举以来的秒数,以及其中有多少秒处于空闲version这个文件只有一行内容,说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息下面本文的几个例子都是使用 Python脚本读取/proc目录中的主要文件来实现实现对Linux服务器的监控的。使用Pytho
8、n脚本实现对Linux服务器的监控对于CPU(中央处理器)监测脚本1名称CPU1.py,作用获取CPU的信息。清单1.获取CPU的信息#
此文档下载收益归作者所有