如何用 Python 监控系统状态

Python011

如何用 Python 监控系统状态,第1张

建立一个数据“falcon”,建表语句如下:

CREATE TABLE `stat` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`host` varchar(256) DEFAULT NULL,

`mem_free` int(11) DEFAULT NULL,

`mem_usage` int(11) DEFAULT NULL,

`mem_total` int(11) DEFAULT NULL,

`load_avg` varchar(128) DEFAULT NULL,

`time` bigint(11) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `host` (`host`(255))

) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

这么具体的问题,找通用demo很难啊,个人觉得问题的难点不在Python。

1. 获取什么服务器性能数据和如何获取,可以请教公司内部运维。

2. 获取什么数据库性能数据和如何获取,可以请教公司内部DBA。

3. 以上两点搞定了,才能确定临时数据存储结构和最终数据库表结构。

以上三点是关键,Python的事情就简单多了,提供一种思路:一分钟一次,实时性不高,每台服务器用cron部署一个a.py,用于获取性能数据,在某

一台服务器有一个b.py,负责获取所有服务器a.py产生的数据,然后写入数据库;a.py如何上报到b.py取决于你擅长什么,如果熟悉网络编程,用

a.py做客户端上报到服务端b.py,如果熟悉shell的文件同步(如rsync),a.py只写本地文件,b.py调用c.sh(封装rsync)

拉取远程文件。

如果解决了您的问题请采纳!

如果未解决请继续追问!