本文正在参与 “性能优化实战记录”话题征文活动
lite-monitor
一款基于 shell 命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息。
lite-monitor
能做什么:
- 定时监控某个服务进程是否还存在,不存在则钉钉告警。
- 定时统计近一段时间内具体日志文件中关键字出现的次数,并对次数做一个阈值比较,超出阈值则钉钉告警并输出日志。
- 进阶监控( qps/计算效率等)可以根据
awk
等命令自定义实现。
lite-monitor
的特点:
- 每个监控可配置不同钉钉群机器人,可配置 @具体人或者 @all
- 对已有项目无任何入侵,不需要重启或者其他操作。
- 可以单机版极简配置(服务器安装有 Java 就行),或者集群部署(除非监控很多,否则基本没有必要 :smile:)。
试用
快速启动
首先需要安装 JDK1.8
或者以上并保证网络通畅。
打包
git clone https://github.com/chentiefeng/lite-monitor.git cd lite-monitor mvn -Dmaven.test.skip=true clean package
部署
mkdir ~/lite-monitor-server cp target/lite-monitor-0.0.1-SNAPSHOT.jar ~/lite-monitor-server cd ~/lite-monitor-server nohup java -jar lite-monitor-0.0.1-SNAPSHOT.jar 2>&1 &
日志文件位置:
~/lite-monitor-server/logs/m.log
。
配置监控
浏览器输入地址http://xx.xx.xx.xx:10003/
打开主页。
进程监控
我要监控本地机器(测试方便)的 indicator-service 进程(本来就没有)。
新增。
确认-立即执行(测试一下)。
钉钉消息。
日志监控
我要监控本地机器(可以替换其他机器)的 lite-monitor 服务的近 1 分钟出现frequency
关键字的日志数量,超过 2 个就报警,钉钉展示 10 条消息。
复制,改改信息。
确认-立即执行(测试一下),钉钉消息。