lite-monitor 一款基于shell命令的监控系统

介绍

lite-monitor 一款基于shell命令的监控系统,可以根据项目中输出的日志定时输出或者统计输出,并发送钉钉机器人报警消息。

lite-monitor能做什么:

  • 定时监控某个服务进程是否还存在,不存在则钉钉告警。
  • 定时统计近一段时间内具体日志文件中关键字出现的次数,并对次数做一个阈值比较,超出阈值则钉钉告警并输出日志。
  • 进阶监控(qps/计算效率等)可以根据awk等命令自定义实现。

lite-monitor的特点:

  • 每个监控可配置不同钉钉群机器人,可配置@具体人或者@all
  • 对已有项目无任何入侵,不需要重启或者其他操作。
  • 可以单机版极简配置(服务器安装有Java就行),或者集群部署(除非监控很多,否则基本没有必要 ??)。

快速启动

首先需要安装 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条消息。

复制,改改信息。

确认-立即执行(测试一下),钉钉消息。

试用

lite-monitor

本文来自chentiefeng的博客

原文地址:https://www.cnblogs.com/dongfangqiezi/p/12085146.html

时间: 2024-10-04 08:17:42

lite-monitor 一款基于shell命令的监控系统的相关文章

项目三. 基于图像压缩的视频监控系统

项目三. 基于图像压缩的视频监控系统 Sprint0-产品设计与规划 基于图像压缩的视频监控系统 1. 产品功能演示 在linux系统上运行程序,弹出登录界面,输入地址.端口信息,弹出视频监控界面,实时传出视频信息. 2. 功能模块分析 采集端: 图像采集子系统 图像编码子系统 传输子系统 主程序 监控端: 传输子系统 图像编码子系统 传输子系统 主程序 Sprint1-基于Epoll架构的采集端程序框架设计 第1课-Epoll机制精通 大纲: v  为什么用Epoll? 阻塞型IO与多路复用

[经验交流] 试用基于 influxdb+kapacitor 的监控系统

两个月前试用了基于 elasticsearch + xpack (watch) 的监控系统,发现了一个问题:elasticsearch 作为时序数据库使用时性能较差,在我目前的硬件配置下(es 主机内存 8G),使用 grafana 展示两个月以上的数据时,在读取数据的过程中出现明显卡顿,es 的资源占用率几乎到100%.因此,我又试用了 基于 influxdb+kapacitor 的监控系统. 1. 数据搜索性能 初步印象:搜索大量时序数据时 influxdb 的性能强于 es.可能是 es和

easy-im:一款基于netty的即时通讯系统

介绍 easy-im是面向开发者的一款轻量级.开箱即用的即时通讯系统,帮助开发者快速搭建消息推送等功能. 基于easy-im,你可以快速实现以下功能: + 聊天软件 + IoT消息推送 基本用法 项目分为easy-im-client.easy-im-server.easy-im-common三个模块. 服务端: 执行mvn package后生成easy-im-server.tar.gz,解压后至./lib目录执行命令: java -jar -Dport=8888 easy-im-server-1

阶段4-独挡一面\项目-基于视频压缩的实时监控系统\Sprint3-采集端传输子系统设计

在上面一个迭代中,通过图像采集模块采集到图像送到主程序中,进行编码,由于我们采集的图像就是jpeg格式的,其实它本来就是编码压缩后的格式,所以没有必要重复编码,故省掉该步骤:下面就是网络传输子系统部分,目的就是把采集到的图像通过网络传输到远端的客户的播放器里面进行相应的解码和播放. 1.设计工作流程 a.初始化包括:1)tcp的socket初始化:2)将事件注册到epoll当中: b.对事件进行处理,包括当socket收到网络包的时候,需要进行处理:以及当socket发送完网络包之后需要处理.

基于视频压缩的实时监控系统

采集端主要框架: 主程序.图像采集子系统.传输子系统.图像编码压缩子系统 监控端主要框架: 主程序.传输子系统.图像解码子系统.图像显示子系统 针对采集端来说: 主程序工作流程:(采用epoll架构) 1.利用epoll_create函数创建epoll  2.将加入等待事件的工作下放到传输子系统和采集子系统中  3.等待事件发生且处理epoll_wait 图像采集子系统工作流程:(使用了V2L4编程模型使摄像头采集图像)1.V2L4初始化  2. 采集图像 传输子系统工作流程:(利用socket

项目-基于视频压缩的实时监控系统--tiny6410

@国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 struct cam *cam; //采集子系统 struct tcp_srv *srv; //传输子系统 struct cfg *cfg; //配置子系统 };struct server *srv_main; 2.创建epoll,将返回值保存到srv_main->epfd: 3.让子系统自己添加事件,并将子系统的结构体指针保存到 srv_main 中.

Android调用shell命令时间系统时间的修改

============问题描述============ Android怎么调用shell命令来修改系统时间啊,用代码的 ============解决方案1============ Process process = Runtime.getRuntime().exec("su"); String datetime = "20131023.112800"; // 测试的设置的时间[时间格式 // yyyyMMdd.HHmmss] DataOutputStream os

Linux远程执行shell命令

Linux远程执行shell命令 在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # 远程服务器执行(B机器):用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上,远程机器授权全后,可以删除公钥 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized

执行shell命令的函数——system()、popen()

1.FILE* popen(const char* cmd,const char* type); int pclose(FILE* stream); popen()函数fork()一个子进程,创建管道用于父子进程间通信,父进程要么从管道读,要么往管道写,执行一个shell以运行命令来开启一个进程 相比于system()的又是在于使用简单,popen()只返回两个值,成功返回子进程的status,失败返回-1 2.int system(const char* cmd); 处理了fork().exe