open-falcon日志关键词监控
可以下载2进制包进行安装,也可以clone本库到机器上安装。clone本库的话,请自行编译。control
脚本默认执行的是 falcon-logdog
文件。
配置文件名字为 cfg.json
,而且必须是这个名字。各个字段说明如下:
名字 | 默认值 | 必填 | 说明 |
---|---|---|---|
metric | 无 | 是 | 统计度量,比如叫做 log |
path | 无 | 是 | 要监控的日志目录或者文件,如果是目录则会寻找其中一个匹配的日志文件,如果是文件,则会直接监控这个文件,但是不管如何,启动程序时候路径都要存在 |
timer | 无 | 是 | 要同步数据间隔时间和上报数据的step值,api接口貌似最小30,保持 60为好 |
agent | 无 | 是 | agent api url,比如 http://localhost:1988/v1/push |
host | hostname 命令查看的值 | 否 | 主机名字,根据hostname设定,不要使用localhost,可能导致查询不到数据 |
prefix | 空字符串 | 否 | 要监控的日志文件名字前缀 |
suffix | .log | 否 | 要监控的日志文件后缀,如果不填则用默认值 |
keywords | 无 | 是 | 是 keyword对象数组 |
keyword 对象说明
名字 | 默认值 | 必填 | 说明 |
---|---|---|---|
exp | 无 | 是 | 正则表达式,tag的value |
tag | 无 | 是 | 对应于监控中tag的key |
组件支持配置热更新,即不需要重启即可让最新配置生效。注意,配置文件中timer不支持热更新,其余参数都是支持的。同时,如果修改配置文件导致配置错误,新的配置不会生效,会继续使用旧的配置,直到配置内容正确为止。
格式如下:
{
"metrix":"log",
"endpoint":"10-10-128-53",
"timestamp":1470827020,
"value":5,
"step":60,
"counterType":"GAUGE",
"tags":"tag=exp"
}
其中,tags 格式为 keywords
中 'tag' + '=' + 'FixedExp', FixedExp
是用.
替换 exp
之后的并将.
去重字符串。
使用 control
脚本来操作:
./control option
option 可以为
- start 启动
- stop 停止
- status 查看运行状态
- restart 重启
- tail 类似tail 查看日志
- 如果所监控的文件夹有多个
.log
结尾日志文件,那么只会选择其中一个,可能会选择最后创建的文件(具体还未测试观察) - 如果有新的文件创建,且符合上面
prefix
和suffix
过滤规则,那么会切换到这个新文件上进行监控。
如果有数据要push上去,那么可能会观察到有如下日志产生:
time to push data: map[key2:{log 10-10-128-53 1470827020 5 60 GAUGE key2=tag2,} key1:{log 10-10-128-53 1470827020 5 60 GAUGE key1=tag,}] 2016-08-10 19:04:40.850295266 +0800 CST