新浪实时日志分析服务进化


新浪实时⽇志分析服务进化新浪实时⽇志分析服务进化 Better ELK ⾼英举 (@Gary的影响⼒ ) http://garyelephant.me ContentsContents 服务介绍 技术架构 Do Better 提升服务质量 增强易⽤性 提供新功能 我们经历过的坑和坎⼉ 未来努⼒⽅向 实时⽇志分析服务介绍实时⽇志分析服务介绍 服务内容:实时的⽇志搜索和统计 已有⽤户:微博图⽚下载,微博视频,微盘, 秒拍, 云存储, SCE, CDN...... 规模:每天 35亿条⽇志, 2TB 技术架构技术架构 技术架构技术架构 (1) ⽤户⽇志 --> Kafka --> Logstash --> Elasticsearch --> Kibana 数据流: (2) ⽤户⽇志 --> Kafka --> Logstash --> Elasticsearch --> API Clients 技术架构技术架构 Kafka:接收⽤户⽇志的消息队列 ​ Logstash:将⽇志解析为 json输出给 Elasticsearch Elasticsearch:实时⽇志分析服务的核⼼ 技术,⼀个 schemaless,实时的数据存储 服务,通过 index组织数据,兼具强⼤的 搜索和统计功能。 Kibana:基于 Elasticsearch的数据可视化 组件,超强的数据可视化能⼒是众多公司 选择 ELK stack的重要原因。 Better ELK,MoreBetter ELK,More Than ELKThan ELK 在在 ELKELK的基础上为⽤户提供更好的基础上为⽤户提供更好 的服务的服务 Do Better & MoreDo Better & More 提升服务质量 增强易⽤性 提供新功能 提升服务质量提升服务质量 Elasticsearch优化 Logstash优化 ES Index管理系统 数据备份 监控报警 ElasticsearchElasticsearch优化优化 System Level 关闭 swap max open files Jdk1.8 App Level ​ES_HEAP_SIZE​ 调整 shard, replica数 String默认 not_analyzed 使⽤ doc_values 定制 index template LogstashLogstash优化优化 使⽤ supervisord管理 logstash 调⼤ filter worker number(-w) 减少使⽤⾮官⽅插件和 logstash-filter-ruby Es IndexEs Index管理系统管理系统 定期 Create Index 定期 Optimize Index 定期 Close Index 定期 Delete Index 定期 Snapshot Index to Hdfs Crontab is not enough, We Use Celery! 监控报警监控报警 System Level 使⽤公司内部的 Sinawatch服务 磁盘满,坏 宕机 Load, Mem App Level(, Logstash, Kibana, Kafka, Celery) ⾃⼰开发 +⽤开源产品 Es:JVM Heap Usage, node number, bulk reject rate Logstash,Kibana: service status Kafka: topic consumer offset lag Celery: Flower 增强易⽤性增强易⽤性 我们⾯临的易⽤性难题: IP解析成地区、 ISP信息不准,完全没有参考意义 ⽤户⽇志接⼊流程复杂,沟通困难。 部分数据可视化需求得不到满⾜, Kibana配置难度⼤ 如何增强易⽤性: 新浪 IP库 + logstash-filter-geoip2 ⽤户⽇志接⼊⾃动化 +Es Index管理⾃动化 官⽅ Kibana 3 -> 三⽃ Kibana 3 -> 官⽅ Kibana 4 提供新功能提供新功能 中⽂分词功能 中⽂分词功能中⽂分词功能 Es standard analyzer中⽂分词: ”美国打伊拉克 “—>"美 ", ”国 “, ”打 “, ”伊 “, ”拉 “, ”克 “ ik analyzer 中⽂分词: ”美国打伊拉克 “—>”美国 “, ”打 “, ”伊拉克 “ 我们经历过的坑和坎⼉我们经历过的坑和坎⼉ elasticsearch 进程 JVM Heap High Usage( >90% ) Elasticsearch Query DSL, Facets, Aggs学习困惑 logstash不⼯作 Kibana没有⽤户的概念,不同⽤户的数据⽆法隔离 与⽤户沟通成本⾼ 未来努⼒⽅向未来努⼒⽅向 ⽇志接⼊全⾃动化:即点即⽤ 完整的⽤户服务 web系统 ⽤户数据层⾯的报警 ​服务性能优化 数据安全 /⽤户隔离 内部组件容器化: docker
还剩17页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

dmc3

贡献于2015-07-25

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf