PPTV LB日志实时分析平台最全版.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PPTV LB日志实时分析平台最全版.ppt

解决方案(一) awk+grep+bash+gnuplot 最方便的一招,比较灵活,计算准确;但实际使用不方便,看一个域名的日志需要登陆好几台LB E.g. 统计非200的top return code awk {if ($9 ~ /^[0-9]*$/ $9 != 200 $9 !~ /^3/) code[$9]++}END {for ( i in code ) print i code[i]}|sort -k2 –nr 使用gnuplot对统计结果绘图 cut –d’’ –f1-4 log.txt | uniq –c | (echo “plot “-” using 2:1 with lines”;cat)|gnuplot * yrty 解决方案(二) Python+zabbix 每台LB均部署python日志分析脚本,通过zabbix调度,每隔五分钟对前五分钟生产的日志文件进行分析,保留分析结果; Zabbix负责绘图和告警; 主要两个缺点: 1)性能瓶颈,日志分析占用大量LB CPU资源 2)不够灵活,日志分析局限于单台LB * yrty 解决方案(三) Fluentd+Mongodb+Python+zabbix Fluentd实时收集LB日志,JSON化,存入中央Mongodb Python程序查询Mongodb数据进行实时计算;计算结果存入zabbix;zabbix负责告警及图形展现 P.S. That’s what we want!! * yrty Fluentd/Mongodb架构图 * yrty Fluentd介绍 开源日志收集工具 / LOG everything as JSON! JSON:Schema-free, add/remove field from logs at anytime 原始日志: “2012-10-01 host1 myapp: message size=1000 user=xyz” JSON: 2012-10-01 myapp.message { “hostname”: ”host1”, “size”: 1000, “user”: “xyz” } * yrty Fluentd/Mongodb数据流图 * yrty Fluentd plugin说明(1) 在不使用plugin的情况下Fluentd仅仅是将日志输入转化为JSON格式输出的工具;各类plugin极大拓展了Fluentd的功能 Fluentd plugin有如下三种: Input plugin 定义日志来源标准化,输入的格式 Buffer plugin 定义fluentd缓存的配置以实现可靠性 Output Plugin 定义输出的格式及目的地,可以是文件,网络,数据库,etc * yrty Fluentd plugin说明(2) Fluentd Input Plugin http 让fluentd从http client获取数据 tail tail是最常用的input plugin; source type tail path /var/log/httpd-access.log #tail监听的文件地址 tag apache.access #每个输入需要一个特定标签以区别 format apache|syslog|自定义正则 #format可以灵活自定义 /source foward 将其他fluentd/fluent-cat命令的输出作为该fluentd的输入; exec 通过执行外部命令,以命令执行的结果作为fluentd的输入; * yrty Fluentd plugin说明(3) Fluentd Output Plugin Ouput Plugin用于存储Fluentd收集来的数据;目前有很多开源的plugin,如:fluentd-flume,fluentd-splunk,fluentd-cassandra,fluentd-scribe,fluentd-mongodb fluent-plugin-mongo 0.6.10 Output plugin中最完美的当属mongodb plugin,因为Fluentd/Mongodb都以JSON为基础;mongodb良好的插入查询性能可以顶住海量日志实时分析的压力;mongodb的capped collection很好的解决了日志定量轮转的问题 * yrty MONGODB部署 每个机房部署一台mongodb server,用于收集该机房全部LB的日志 每个mongodb部署多个instance,每个instance对应一台LB server 建立多个coll

文档评论(0)

liuxiaoyu92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档