‘壹’ python 在 linux 系统运维中都有哪些应用
本人主要用shell,结合工作经验,给出如下常用功能:
1.制作定时任务,可以获得系统状态,然后截取系统状态,发送至故障监控平台或短信平台,实现故障的自动预警。
2.提取数据,形成文本,处理文本,得到规格化的数据,提供给相关部门使用。
3.制作shell交互式菜单,提供给其他运维值班人员使用,用以手工监控系统各种状态
4.版本升级、系统变更等操作需要使用。
‘贰’ Python 在 Linux 系统运维中都有哪些应用
本人主要用shell,结合工作经验,给出如下常用功能: 1.制作定时任务,可以获得系统状态,然后截取系统状态,发送至故障监控平台或短信平台,实现故障的自动预警。 2.提取数据,形成文本,处理文本,得到规格化的数据,提供给相关部门使用。 3.制作shell交互式菜单,提供给其他运维值班人员使用,用以手工监控系统各种状态 4.版本升级、系统变更等操作需要使用。
‘叁’ 如何在 Linux 环境下利用 Python 监听当前系统的鼠标事件
joytokey也能模拟鼠标的 你点开一个键设置的时候,里面除了键盘的选项还有鼠标的选项,然后按照里面提示来设置就ok啦
‘肆’ Python 在 Linux 系统运维中都有哪些应用
我更喜欢用系统管理形容运维项工作运维听起偏执行项工作python系统管理优势与强发能力完整工具链python工程发能力强远强于各种shellperl易读易写兼具面向象函数式风格错元编程能力通系统化各种管理工具结合述各类工具进行二发形统服务器管理系统
python类似ruby适合编写系统管理软件相关库工具比python差太
举栗: 某牛精通 bash,python,perl,ruby ,工作写数百单功能脚本(任何语言)进行操作涵盖监控部署网络配置志析安全检测 等等许许面所包所作操作并没系统管理项工作做再脚本操作行做极致写再脚本能转化公司系统管理宝贵资产
让系统易于管理工程像puppet(ruby)saltstack(python) 自化管理工具才能完整描述整系统并且让系统管理面面纳入统体系堆脚本
python服务器管理工具非丰富配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 部系统C库都python绑定
于流程确定事情终定纳入系统管理体系写程序系统部复用游离与整体各种脚本
随着云计算代临型公司需要运维型公司没工程发能力运维没竞争力
‘伍’ 如何在 Linux 环境下利用 Python 监听当前系统的鼠标事件
linux下好办,所有的设备都当作文件处理了,在‘/dev/input’目录下找到鼠标对应设备文件读出来即可。
鼠标设备文件是‘/dev/input/mice’,读3个字节,三个字节的值分别是‘Button类型’,‘X的相对位移’,‘Y的相对位移’。取Button的低3位(Button & 0x07)。 0x01 -> LeftButtonDown, 0x02 -> RightButtonDown.
import struct
mou = open( "/dev/input/mice", "rb" );
def m_event():
m = mou.read(3)
b = ord( m[0] )
bl = b & 0x1
bm = ( b & 0x4 ) > 0
br = ( b & 0x2 ) > 0
x,y = struct.unpack( "bb", m[1:] )
print "Left:%d, Middle: %d, Right: %d, x: %d, y: %d\n" % (bl,bm,br, x, y)
while( 1 ):
m_event()
mou.close();
‘陆’ Python如何监测Linux隐藏进程
我理解你说的隐藏进程可能是类似恶意软件隐藏自身的进程。
python可以通过读取/proc的结果来对比ps的结果来找到和监视这些隐藏的进程。
‘柒’ 怎么查看linux中是否安装supervisor
(1)如果是rpm包安装,可以使用“rpm -qpl 包名”,例如查看vsftpd安装路径:rpm -ql vsftpd,可执行文件会存放在/bin,/sbin/,/usr/bin/,/usr/sbin
(2)如果是源码包安装,则可以根据在编译是--prefix指定的路径查找,可执行文件会存放在--prefix指定目录里面的bin目录或者sbin目录 ;如果没有指定--prefix,会自动安装在/usr/local,可执行文件会存放在/usr/local/bin, /usr/local/sbin
(记得下次提问问题说清楚)
‘捌’ 使用python,在linux上监控远程windows的CPU、硬盘、内存使用率
你需要安装wmic,它实现了linux下能使用wmi,安装以后就可以用了,下面是例子。
import wmi_client_wrapper as wmi
wmic = wmi.WmiClientWrapper(
username="Administrator",
password="password",
host="192.168.1.149",
)
output = wmic.query("SELECT * FROM Win32_Processor")
‘玖’ linux下如何监听进程
一、supervise
Supervise是daemontools的一个工具,可以用来监控管理unix下的应用程序运行情况,在应用程序出现异常时,supervise可以重新启动指定程序。
使用:
mkdir test
cd test
vim run 写入希望执行的操作
supervise test (注意这里是的参数是run文件上层的文件夹,改变run的为可执行 chmod +x run)
二、monit
monit是一个小型的开放源码工具来管理和监控Unix系统。Monit可以自动维护进程,及时避免进程异常退出等产生的问题。
系统: monit可以监控问题的发生,包括进程状态、系统cpu负载、内存占用情况等,例如当apache服务的cpu负载以及内存闸弄情况过高时候,它会重启apache服务。
进程: monit可以监控守护进程,包括系统进程。例如当某个进行down掉,它会自动恢复重启该进程。
文件系统:Monit可以监控本地文件、目录、文件系统的变化,包括时间戳、校验值、大小的变化。例如,可以监控文件sha1以及md5的值,来监控文件是否发生变化。
网络:monit可以监控网络连接,支持TCP、UDP、Unix domain sockets以及HTTP、SMTP等。
定时脚本:monit可以用来定时测试程序和脚本,获取程序输出结果,进而判断是否成功或其他情况。
安装:
sudo apt-get install monit
编辑配置:
sudo vim /etc/monit/monitrc
启动、停止、重启:
sudo /etc/init.d/monit start
sudo /etc/init.d/monit stop
sudo /etc/init.d/monit restart
设置页面监控状态:
set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow localhost
增加监控:
需要注意的是,这里需要添加start和stop,缺一个都是不行的
1.根据程序名称来监控
check process test with MATCHING test.py
start program = "/home/yxd/test.py"
stop program = "xxxxx"
2.根据pid监控
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/rcWebServer.sh start https"
stop program = "/etc/init.d/rcWebServer.sh stop https"
if changed pid then aler
参考:用monit监控系统关键进程
supervisord
Supervisor是一个C/S系统,它可以在类unix操作系统让用户来监视和控制后台服务进程的数量。它是由python编写的,常用于进程异常退出的重启保护。
安装:
pip install supervisor
查看配置文件:
echo_supervisord_conf
从该命令的结果中,可以看到各个模块的配置信息。
创建配置文件:
echo_supervisord_conf > /etc/supervisord.conf
配置应用:
[program:test]
command=python /root/test_supervisor.py
process_name=%(program_name)s
stdout_logfile=/root/test.log
stderr_logfile=/root/test.log
保存,启动:
/usr/bin/supervisord -c /etc/supervisord.conf