Skip to content
Sun Jianbo edited this page May 23, 2017 · 1 revision

logkit提供http API进行整体的监控,启动logkit后,若没有指定绑定的地址,会从4000开始寻找机器上可用的端口,启动成功后在logkit运行的目录下生成一个名为statsshell文件,包含端口信息和curl API的shell语句,执行

./stats 

就可以获得logkit整体的运行状态(json格式的信息)。API及返回内容说明如下:

GET /logkit/stats 
200 OK { "runner名字": { "name" : <runner名字>, "logpath": <日志目录>, "lag": { "size": <延迟的日志总量>, "files": <延迟的文件数>, "ftlags": <fault_tolerant 队列深度> }, "parserStats": { "errors": <解析失败总次数>, ”success“: <解析成功总次数> }, ”senderStats“:{ "<senderName>": { "errors":<发送失败总次数>, "success":<发送成功总次数> } }, "error":<错误信息> } } 
  • 出现延迟(lag),则表示解析或者发送过于缓慢,可以调整发送方式,使用fault_tolerant sender,设置always_save,并调大ft_procs,参见Sender一节
  • ftlags 表示已经使用了fault_tolerant,但是由于sender并发不够多或者发送端服务故障,导致出现延迟,ftlags的单位为batch数。
  • parserStats中包含的errors是解析失败的次数,解释失败后该记录会被忽略(不会重试),错误的详细信息会在logkit日志中打印。
  • senderStats中包含的errors为发送失败的次数,发送失败后会重新发送,所以sender的错误会多次出现。
  • error 包含的是调用接口时,某个runner获取信息失败时的错误原因

补充说明:

对于将logkit作为第三方库,自定义实现logkit功能的用户,如果需要开启rest服务,提供监控,需要在自主的主程序(main函数)中加入rest服务的启动过程。

rs := mgr.NewRestService(m) 

同时在主程序结束时关闭rest服务

rs.Stop() 
Clone this wiki locally