1、鹰眼日志监控报警系统目录CONTENT背景和痛点(why)选型和功能设计(what)架构演进及优化(how)一些思考(review)4321 背景 痛点背景和痛点(why)PART01日益增长的服务数量和不能妥协的SLA2014-2016研发70人服务数量150个服务器100+台手工上线一切找运维2017-2018研发100+人服务数量300+个服务器200+台自动化上线推广微服务架构2018以后研发200人服务数量500+个服务器上千节点微服务容器化会沟通grep/awk总是被投诉后才知道两小时了还没好?痛点总结 后知后觉 沟通成本高 能力要求高 排查问题慢选型和功能设计(what)自研还是
2、开源?我们究竟要什么?这才是我们想要的 小结PART02乱花渐欲迷人眼 Elastalert CAT ELK SkyWalking Pinpoint简单为先 依赖少 报警规则够用 基于ES技术栈 耦合低Elastalert实践检验选择不成功 配置文件维护不便 不稳定 不及时 es语法曲线陡峭我们究竟要什么?轻量模块划分清晰相互依赖少基于开源技术体系开源技术相对简单可视化配置简单勾选即可完成,用户不需了解全部细节,知道大概即可高频功能工具化专注问题分析场景,常用的分析手段工具化,不做炫但无用的功能持续维护改进不做一锤子项目,要持续迭代进化,权限、分析手段随时间推移要不断增加监控报警要灵活根据业务
3、实际需要,支持灵活的任务调度频率这才是我们想要的-事件日志程序日志明细查询,慢日志查询,日志统计分析APP日志明细查询,崩溃分析,HTTP分析站点评价站点评分Web日志实时/历史查询,性能分析,慢流量分析等前端日志明细查询关键业务在纷杂的日志中重点关注核心业务部分这才是我们想要的-时序指标快速总览文件打开数,CPU,load,GC,QPSJVM线程数、内存占用、GC情况、类加载Datasource最大/小连接数、活动连接数&其他自定义指标请求情况服务器、状态码、URL维度请求量及耗时Tomcat线程数、请求量、接收发送数据Hystrix熔断状态、线程数、延迟、错误数Grafana同环比插件:h
4、ttps:/ 架构演进过程 成果展示 做了哪些优化 小结PART03 采集 将日志从端采集并传输至日志服务端 分发 利用成熟的实时计算技术实现高可扩展 存储不但支持高并发写入,还要支持高性能读 应用 基于存储进行业务开发,一般分为日志分析和监控报警设计理念分析系统监控报警应用存储高并发写存储分发实时计算采集采集服务端采集客户端 采集 采集客户端nxlog 采集服务端logstash 分发 无专门分发,logstash直接写入es 存储es 应用 监控报警elastalert 分析kibana架构设计V1.0V2.0V3.0kibanaelastalert应用存储采集nxlognxlognxlo
5、gnxloglogstashlogstashlogstasheseseses 采集 采集客户端nxlog+sharkagent 采集服务端flume 分发 引入kafka logstash消费后写入es 存储es 应用 鹰眼监控报警系统 鹰眼数据分析系统架构设计V2.0V1.0V3.0鹰眼数据鹰眼监控应用存储采集nxlognxlogsharkagentsharkagentflumeflumeflumeeseseses分发kafkakafkalogstashlogstashkibanaesflume 采集 采集客户端nxlog+sharkagent 采集服务端flume 采集端集成简单分发逻辑
6、分发 引入kafka storm消费后写入es 存储es 应用 鹰眼监控报警系统 鹰眼数据分析系统架构设计V3.0V2.0V1.0鹰眼数据鹰眼监控应用存储采集nxlogsharkagentflumeflumeflumeeseses分发kafkakafkastormstormkibanaflumeesesnxlogsharkagent 采集 采集客户端micrometer 采集服务端statsrelay 采集服务端telegraf 分发 influx-proxy双写influxdb 存储influxdb 应用 鹰眼监控报警系统 grafana架构设计V3.