基于Redis与Paramiko的系统监控运维程序

网友投稿 904 2022-10-21

基于Redis与Paramiko的系统监控运维程序

基于Redis与Paramiko的系统监控运维程序

Controller

这是我在去年学习Paramiko和Redis时开发的系统监控与运维程序:

基于Redis pub/sub通信: 1、服务端中定义监控配置模板(包括系统监控指标、监控主机组等)并写入Redis; 2、客户端从Redis中获取模板并根据模板调用插件获取系统监控数据,计算并整理后发布到Redis; 3、服务端订阅(客户端的发布频道)获取监控数据; 4、目前支持Linux下CPU、内存、网卡的监控(系统异常自动处理有待实现);基于SSH2协议连接的远程控制(paramiko): 1、支持多线程文件分发和命令批量执行; 2、记录历史操作日志。

开发环境

环境 版本
操作系统Ubuntu 14.04
数据库 Redis 3.0.6
开发语言Python 2.7.4
IDE PyCharm 2017.1 x64

使用方法

1、安装Redis及python redis模块,以Ubuntu为例:

sudo apt-get install redis-serversudo pip install redis

2、修改配置文件(一般为/etc/redis/redis.conf):

bind 0.0.0.0

3、启动Redis:

service redis start

4、安装paramiko模块:

sudo pip install paramiko

5、系统监控:

服务端:

python Server/bin/manage.py monitor

客户端:

python Client/bin/manage.py

6、系统运维:

服务端:

python Server/bin/manage.py operate

运行效果

注意事项

1、启用系统监控时必须先启动服务端(把监控模板写入Redis)才能启动客户端,否则客户端获取不到监控指标会报错。 2、实现客户端CPU的监控使用sar命令,需要先安装sysstat包:

sudo apt-get install sysstat

3、服务端指定监控指标可修改Server/conf/service.py文件;指定监控组和集群可修改Server/conf/settings.py。 4、客户端启动程序务必在Client/conf/settings.py指定本机ip。 5、由于默认以root用户登录,远程执行命令时默认为客户端root用户的根目录。 6、重新启动程序时出现获取监控数据异常的情况,可以尝试清空redis数据再重新启动服务端程序:

redis-cli127.0.0.1:6379> flushall

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:VC++能做些什么?
下一篇:Android应用程序演示了Kotlin Coroutines StateFlow的使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~