闪电狗监控(flash- dog)起源于杭州斯凯网络科技有限公司一个真实项目,主要优点是轻巧快捷,非侵入式,不影响业务代码,只需加入几个jar包和修改log4j配置文件,就能监控任意指标,如CPU,内存、线程,游戏收入,在线人数等等。2012年开源后,在游戏、支付、教育等多种互联网公司广泛应用。 在线demo ,http://115.28.11.12:8080/flash-dog/ 用户 admin 密码 123456
入门使用 项目起源、原理介绍、安装部署、应用接入
深入了解(计划中) 脚本模板介绍、日志监控、性能监控、在线人数监控、关键字监控、按天统计
开发与拓展(计划中) 项目结构、模块分解、maven和angular相关介绍
是否可以监控业务 可以,默认是监控jvm性能和错误日志,里面提供了脚步模板,稍作修改便能通过分析业务日志进行业务统计和监控
是否需要连接业务数据库 不需要,只需要连接mongodb
什么是仓库模式 mongdob的collection的一种模式,仓库模式,有固定大小,空间会重复利用,如设置成1G,数据超过1G,新数据会替老数据,非仓库模式会持续增加,所以对日志表,强烈推荐使用仓库模式。
为什么添加的新项目没有看到图表 大部分问题都是数据库链接问题,可在项目设置和日志里面查看数据链接是否正常。遵守命名约定可以减少低级错误
如何输出自定义变量 通过log4j的MDC实现,MDC内部使用了类似map的机制来存储信息,相对应的方法,MDC.put(key,value);在配置PatternLayout的时候使用:%x{key}来输出对应的value,如跟踪用户请求的所有日志: java代码:
MDC.put("UUID", userId);
log4j配置:
log4j.appender.MongoDB.layout.ConversionPattern={"timestamp":"%d","level":"%p","className":"%c","message":"%m","pid":"%V","ip":"%I",uuid:"%X{UUID}"}