一个非常棒的插件
* https://github.com/sdvdxl/falcon-logdog
下载解压后,需要配置一下文件就好了,我的一个典型配置文件如下:
{
"logLevel": "WARN",
"metric": "log",
"timer": 60,
"agent": "http://127.0.0.1:1988/v1/push",
"host": "10.0.100.85",
"files": [
{
"path": "/opt/machtalk/logs/xcloud-cm",
"prefix": "xcloud-cm",
"suffix": "log",
"keywords": [
{
"exp": "closing socket connection and attempting reconnect",
"tag": "error"
},
{
"exp": "服务器下线: null",
"tag": "error"
}
]
},
{
"path": "/opt/abc/logs/xcloud-1",
"prefix": "xcloud-1",
"suffix": "log",
"keywords": [
{
"exp": "closing socket connection and attempting reconnect",
"tag": "error"
}
]
},
{
"path": "/opt/abc/logs/xcloud-2",
"prefix": "xcloud-2",
"suffix": "log",
"keywords": [
{
"exp": "closing socket connection and attempting reconnect",
"tag": "error"
}
]
},
{
"path": "/opt/abc/logs/xcloud-3",
"prefix": "xcloud-3",
"suffix": "log",
"keywords": [
{
"exp": "closing socket connection and attempting reconnect",
"tag": "error"
}
]
}
]
}
- 上面的配置,是分别针对3个目录,日志有prefix和suffix,进行日志过滤,如果发现 closing socket connection and attempting reconnect, 那么计数器+1.
TIP1
- 如果过滤的字符中有 “汉字”,那么在执行过滤任务的时候会算在内,但是在显示的时候会被忽略
- 如果过滤的字符中有 “空格”,那么在执行过滤任务的时候回算在内,但是在显示的时候会算成”.”
TIP2
- 添加报警规则,由于我们的日志可能会很多,每台计算机都会运行程序,每个运行的程序都会产生日志,假设全部机器的日志都要监控(这需求一般可能还真会有),那么我们该如何添加报警呢
没错,简单吧, 上面的意思是,连续三分钟,每分钟里面都有至少一个日志关键字匹配到,那么就符合报警条件了。
TIP3
- 这样配置起来尤其复杂,我这边大概10台机器需要部署,每个机器里面的目录也都不一样,关键字倒是一样的,就是防止连接zk失败的日志,我得想想,如何写个辅助配置脚本。