本项目对java、scala等运行于jvm的程序进行实时日志采集、索引和可视化,对系统进行进程级别的监控, 对系统内部的操作进行策略性的报警、对分布式的rpc调用进行trace跟踪以便于进行性能分析。
Github地址:https://github.com/JThink/SkyEye
1、日志实时采集
2、日志实时页面实时展示(支持关键字过滤)
3、历史日志查询(支持多种条件过滤,支持sql语句查询)
4、app实时部署位置和采集器状态展示
5、app历史部署位置展示
6、api和第三方请求实时统计和历史统计
7、rpc调用链展示(支持多种条件检索)
8、系统上下线报警
9、系统内嵌采集器报警
10、中间件、api、第三方、job执行异常报警(策略报警和异常报警)
由于该项目使用的都是分布式的架构,并且组件都是分布式的框架,所以应当根据生产环境实际场景的日志量来部署,测试环境一台机器即可部署(需要有个小的hbase集群)。该项目测试下来3台pc大概能每秒实时索引2w-2.5w的日志,每秒实时处理50w+条日志,每秒能够处理rpc数据3w+条,并且随着集群的增大数据处理能力线性增长。
1、了解zookeeper、kafka和es-sql的使用
2、掌握多种log框架的自定义appender
3、掌握日志实时收集
4、掌握普通日志和事件日志索引设计
5、掌握如何从业务层面保证kafka消费的有序性
6、掌握监控报警的埋点设计
7、掌握如何自定义hbase的spring boot starter并加入埋点
8、掌握高效分布式唯一ID生成策略
9、掌握谷歌dapper论文概念和本项目的rpc设计10、掌握基于dubbo修改源码实现rpc跟踪
领取专属 10元无门槛券
私享最新 技术干货