• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

proketSteward: 小猪管家,是一个监控程序,含有实时监测进程、文件字符串过滤、告警 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

proketSteward

开源软件地址:

https://gitee.com/v587xpt/proketSteward

开源软件介绍:

proketSteward

介绍

(○`(●●)´○)ノi

小猪管家,是一个监控程序,含有实时监测进程、文件字符串过滤、告警等功能;纯python开发,基于python3。

1、实时监控日志文件,过滤定义的关键字,并及时告警;

2、监控系统cpu、内存、磁盘的使用情况,达到配置的阈值触发告警;

3、日志切割。监控指定文件,达到文件阈值大小,进行备份、新建,防止单个大文件出现;

4、监控指定进程的进程数量,低于规定值时发送告警信息。

功能说明

  1. 监控日志中的字段

监控日志中的关键字,如果日志中出现了预定的关键字,则会将关键字所在行和上下行一同发送告警或记录进日志;

比如:监控nginx的access.log日志,定义出现 error 字段则发送告警,当后续更新的日志某行中包含了 error 字段,则触发告警;

  1. 监控系统参数

监控系统的cpu、内存、磁盘占用,达到配置文件中配置的阈值后进行告警;

按照配置文件配置想要监控的项,监控cpu占用还是内存使用,或者是磁盘占用;当达到配置文件中预定的阈值时发送告警信息;

  1. 日志切割

监控日志文件的大小,达到配置的大小后进行备份、新建,实现日志切割的功能;

按照配置文件中定义的目标文件、目标文件的文件大小上限,对目标文件进行循环监控,文件的大小达到预定上限时,进行备份、切割,防止单个文件过大;

  1. 监控进程

监控指定的进程,如果目标进程的进程数低于阈值,则发送告警,达到进程宕掉后可以及时通知的效果;

示例:配置了java进程数不得低于1个,程序会通过 ps -ef 命令循环查看java进程是否存在,如果数量低于1,则会触发告警,从而发送告警信息;

软件架构

[root@xpt ~]# tree proketSteward/proketSteward/├── bin								#实际执行的代码存放目录│   ├── basics_class.py					#基础类,定义了一些常用的方法,其他代码需要时候即可引入、调用│   ├── filtration_log_old.py			#旧版的监控日志字段的文件,没有任何作用,用于保留│   ├── filtration_log.py				#新版的监控日志字段的代码,实际执行的代码│   ├── init_action.sh					#入口脚本,用于整个服务启动、关闭、状态查看│   ├── logFile_size.py					#监控文件大小,对文件进行日志切割的代码文件│   ├── process_monitoring.py			#监控进程的代码文件│   ├── send_info.py					#发送告警消息的代码文件,定义了常用的告警类型:邮件、企业微信等│   ├── system_parameter_action.py		#监控系统参数的实际执行文件│   ├── system_parameter.py				#定义了监控系统参数的常用方法,如:cpu、内存、磁盘等,在实际执行py文件中被调用│   └── test.py							#编辑代码时的测试文件,你不要管它就行├── conf							#配置文件目录│   ├── global.conf						#全局配置文件│   └── send_info.conf					#发送告警消息的配置文件├── LICENSE							#开源许可协议├── logs							#日志存放目录│   ├── filtration_log.log│   └── messages.log├── pids							#服务启动后进程的pid文件存放目录│   └── README.txt├── README.md						#自述文件└── requirements.txt				#python依赖包

安装教程

  1. 编译安装python3 (python3.6 ~ 3.9 都行)

    官方下载地址:https://www.python.org/downloads/

    安装教程,参考链接:

    http://note.youdao.com/noteshare?id=3ce3e3ca9fa3b04b8715c6516f850006&sub=7D093F13E9164C9A8F7E21115B8B7CC2

  2. 安装 requirements.txt 中的ptyhon库

    pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

    务必要使用第一步中编译好的python中的pip3。因为系统可能默认自带了pip,所以导致pip安装的包并不是运行python3时所使用的包;

  3. 编辑 conf/ 中的配置文件,开启想要运行的功能并配置对应参数

  4. 启动脚本

    sh bin/init_action.sh start

使用说明

  1. 配置 conf/global.conf 内的 python_path 参数,编辑为实际的python3绝对路径,启动脚本中会用到,否则无法启动服务。

  2. 配置 conf/global.conf 中需要启动的模块的功能

  3. 启动、关闭、查看状态

[root@skip proketSteward]# sh bin/init_action.sh --helpPlease execute correctly:   |   |___sh bin/init_action.sh start   |   |___启动服务   |   |___sh bin/init_action.sh stop   |   |___关闭服务   |   |___sh bin/init_action.sh status       |___查看服务状态

cong/send_info.conf 配置文件

以为监控以告警为主,需要配置告警媒介,使用微信告警,还是邮件告警,或者其他告警方式

企业微信和邮件告警配置

一、配置 [weChat] 模块

1、登录企业微信输入图片说明

2、企业 corpid

点击 我的企业:

输入图片说明

3、企业 corpsecret 和 agentid

点击 应用管理:

输入图片说明

查看参数:

输入图片说明

二、配置 [mail] 模块

以163为例

输入图片说明

开启 SMTP

输入图片说明

输入图片说明

cong/global.conf 配置文件

该配置文件分为几个模块,分别用 [] 代表;

[global] 全局模块,配置使用的python的环境变量

[filtration_log] 日志文件监控模块

[cpu_info]、[mem_info]、[disk_info] 都属于系统性能监控模块

[log_file_cutting] 日志切割模块

[process_monitoring] 进程监控模块

模块中的参数主要分为:

switch --- 开关,用于配置该功能是否开启;interval --- 检测时间间隔,每隔几秒循环一次,可以针对不同模块进行配置;比如磁盘,可以适当加大循环的时间间隔,因为磁盘增长一般不大,没必要频繁的检测;send_info_mode --- 告警媒介,使用微信还是邮件告警?sleep_time --- 告警后的休眠时间,告警后会进入休眠,防止频繁发送告警;critical_value --- 阈值,低于此参数值会触发告警;

以上参数基本为共有的参数,其他一些参数在各自的模块中都会有注释说明;

作者

联系QQ: 992824390 (星火燎愿)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
webspeed: 检查网络是否正常发布时间:2022-03-25
下一篇:
PortScanner: 一个用boost库编写的跨平台端口扫描工具发布时间:2022-03-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap