闪电狗 - 应用分析监控平台


GPL
跨平台
Java

软件简介

概述

闪电狗监控(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}"}
  • 如何监控tomcat访问日志
    1.先配置将tomcat日志输出到log4j,下载tomcat-juli.jar到tomcat/bin,覆盖原来的jar,下载tomcat-
    util.jar到tomcat/lib,复制log4mongo-java ,flash-dog-api-log4j 和 mongo-java-driver
    ,log4j.properties到lib
    2.修改tomcat/conf/server.xml中access-log部分:
    className=“com.skymobi.tomcat.Log4JAccessLogValve”
    3.重启tomcat,在logs/catalina.log 可以看到访问日志