最近在跑项目的时候遇到一个问题,docker ps -a 显示正常(up),查看docker日志发现程序已经挂了。这是因为程序遇到错误并不会退出,所以在docker ps -a时候看不到。
然后开始到处找开源的监控工具,发现都没有合适的,好吧自己写一个,功能很简单,能根据关键词监听容器的状态,如果有报警就发到钉钉上。当然也可以设置静默时间,不然报警就漫天飞了。
DockerMonitor
监控docker状态,日志关键字报警,钉钉报警,设置静默时间
docker status, log alert,Rev dingtalk alert,set silence duration
Usage
./dockermonitor [OPTION...]
-f how many mins for silence (default: "1")
-k keyworks for identify split by ',' (default: "retrying,abort")
-p prefix (default: "l2")
-y locate db.yaml (default: "./db.yaml")
-h show help (default: false)
Config
main.go
const (
dingToken = "--your dingToken--"
secretString = "--your secret--"
)
Example
Keyworkds 'retrying,abort' expected as an error and set 60 mins silence time for a same error
./dockermonitor -f 60 -k retrying,abort -p l4 -y /root/docker_monitor_exe/db.yaml > /root/docker_monitor_exe/dm.log 2>&1
Recieve alert msg from dingtalk
------start l4 2021-06-30 13:26:01------
/hd12-tmp1 error
/hd12-tmp2 error
------end------
这个小工具开源吧,给有需要的朋友使用
~ 觉得好用的赏个星星就好啦~