⼀!"#$%&'()*&$(+在企业的常⻅架构
!"没有⽇志收集系统运维⼯作的⽇常#痛点#概述
$"%&'()*+,-)'+.分布式⽇志系统概述
/"%&'()*+,-)'+.企业级#%01#架构图解
2"%&'()*+,-)'+.企业级#%31#架构图解
4"%&'()*+,-)'+.企业级#%301#架构图解
5"%&'()*+,-)'+.企业级#%301#,6,#.'7.'#架构图解
8"%&'()*+,-)'+.企业级#%301#,6,#.'7.'#架构演变
9"课程学习⽅法介绍,
⼆!"#$%&'(*,$-(.和*/#-的抉择
!"%&'()*+-:';+<和3=+:>:的关系
$"%&'()*+-:';+<和-?&;如何抉择
三!集群基础环境初始化
!"准备虚拟机
$"修改软件源
/"修改终端颜⾊
2"修改((<@服务优化
4"关闭防⽕墙
5"禁⽤(:&*>=A
8"配置集群免密登录及同步脚本
9"集群时间同步
四!"#$%&'(*,$-(.单点部署
!"下载指定的%-版本
$"单点部署:&'()*+(:';<
五!"#$%&'(*,$-(.分布式集群部署
!":&.!B!修改配置⽂件
$"同步配置⽂件到集群的其他节点
/"所有节点删除之前的临时数据
2"所有节点启动服务
4"验证集群是否正常
六!部署+'0$1$服务
!"本地安装.*C'>'
$"修改.*C'>'的配置⽂件
/"启动.*C'>'服务
2"访问.*C'>'的D:CEF
七!2#,0,$&部署及基础使⽤
!"部署G&:C:')环境
$"修改G&:C:')的配置⽂件
/"*>H=)的&?I类型
2"*>H=)的通配符案例
4"*>H=)的通⽤字段案例
5"⽇志过滤案例
8"将数据写⼊:(案例
9"⾃定义:(索引名称
J"多个索引写⼊案例
!B"⾃定义分⽚和副本案例
!!"G&:C:')实现⽇志聚合到本地
!$"G&:C:')实现⽇志聚合到%-集群
⼋!"34架构企业级实战案例
!"部署>I*>A服务
$"基于&?I类型收集>I*>A原⽣⽇志
/"基于&?I类型收集>I*>A的K(?>⽇志
2"基于L?@=&:(采集>I*>A⽇志⽂件
4"基于L?@=&:(采集)?L+')⽇志⽂件
5"基于&?I类型收集)?L+')的原⽣⽇志
8"基于&?I类型收集)?L+')的K(?>⽇志
9"多⾏匹配M收集)?L+')的错误⽇志
J"多⾏匹配M收集:&'()*+(:';+<的错误⽇志
!B">I*>A错误⽇志过滤
!!">I*>A和)?L+')同时采集案例
!$"&?I类型切换G&:();:'L类型注意事项
!$"!"G&:();:'L类型K(?>解析配置
!$"$"G&:();:'L类型多⾏匹配
!/"收集⽇志到;:@*(服务
!/"!,部署;:@*(
!/"$,修改配置⽂件
!/"/,启动;:@*(服务
!/"2,其他节点连接测试;:@*(环境
!/"4,将G&:C:')数据写⼊到N:@*(环境
!/"5测试写⼊数据
!2"今⽇作业
⽅案⼀:G&:C:')多实例
⽅案⼆O,基于;(P(&?I案例
九!部署#/5%&$%.环境及基础使⽤
!"部署&?I()'(<环境
$"修改&?I()'(<的配置⽂件
/"*>H=)插件基于G&:案例
2"*>H=)插件基于)+H案例
4"*>H=)插件基于<))H案例
5"*>H=)插件基于;:@*(案例
8"*>H=)插件基于C:')(案例
9"?=)H=)插件基于;:@*(案例
J"?=)H=)插件基于G&:案例
!B"&?I()'(<综合案例
!!"今⽇作业
!!"!,运⾏⼀个&?I()'(<版本
!!"$,运⾏两个&?I()'(<版本
⼗!#/5%&$%.企业级插件案例6"734架构8
!"常⻅的插件概述
$"使⽤I;?.内置的正则案例!
/"使⽤I;?.内置的正则案例$
2"使⽤I;?.⾃定义的正则案例
4"G&):;插件通⽤字段案例
5"@'):插件修改写⼊%-的时间
8"I:?*H分析源地址的地址位置
9"=(:;'I:>)分析客户端的设备类型
J"L=)'):组件数据准备MHP)<?>脚本
J"L=)'):组件常⽤字段案例
!B"&?I()'(<的多*7分⽀案例
!!"今⽇作业
0*&:C:')收集)?L+')⽇志
0*&:C:')收集>I*>A⽇志
0*&:C:')收集'HH(⽇志
&?I()'(<收集>I*>A⽇志
&?I()'(<收集)?L+')⽇志
&?I()'(<收集'HH(⽇志
⼗⼀!+'0$1$⾃定义9$%.0/$-9实战案例
!"统计QRS指标T
$"统计客户端FQS指标T
/"统计D:C下载带宽S指标T
2"访问⻚⾯统计S⽔平条形图T
4"分析客户端的城市分布S垂直条形图T
5"城市分布百分⽐S饼图T
8"FQ的U?HV统计S仪表盘T
9"⾃定义@'(<C?';@
⼗⼆!"#$%&'(*&$(+⼆进制部署及排错
!"部署W;'+&:,XY1环境
$"单节点%-部署
/"修改%-的堆S<:'HT内存⼤⼩
2"%-启动脚本编写
4"部署%-集群
5"部署.*C'>'服务
8"部署&?I()'(<
8"部署G&:C:')
9"部署:(M<:'@插件
J"部署H?()L'>组件
!B"今⽇作业
⼗三!"#$%&'(*,$-(.的:,%&;<#⻛格=>?实战
!"N:()7=&及X-WV格式
$"%&'()*+-:';+<的相关术语
/"管理索引的ZQF
/"!,查看索引信息
/"$,创建索引
/"/,修改索引
/"2,,删除索引
/"4,索引别名
/"5,索引关闭
/"8,索引打开
/"9,索引的其他操作
2"管理⽂档的ZQF
2"!,⽂档的创建
2"$,⽂档的查看
2"/,⽂档的修改
2"2,⽂档的删除
2"4,⽂档的批量操作
2"5,课堂练习
4"使⽤映射SL'HH*>IT⾃定义数据类型
4"!,映射的数据类型
4"$,FQ案例
4"/,其他数据类型案例
5"F1中⽂分词器
5"!,内置的标准分词器M分析英⽂
5"$,内置的标准分词器M分析中⽂并不友好
5"/,安装F1分词器
5"2,⾃定义F1分词器的字典
5"5,⾃定义分词器M了解即可
8"今⽇作业
8"!,(<?HH*>I"K(?>MH;:))P版本
8"$,(<?HH*>I"K(?>M扁平化版本
8"/,?&@C?P:@=M&*>=A9B"K(?>
参考案例,!
参考案例,$
⼗四!索引模板
!"什么是索引模板
$"查看索引模板
/"创建[修改索引模板
2"删除索引模板
⼗五!"*的@*7语句查询A@B=⽅向需要掌握C
!"什么是Y-3
$"全⽂检索ML')+<查询
/"完全匹配ML')+<\H<;'(:查询
2"全量查询ML'+<\'&&
4"分⻚查询M(*]:M7;?L
5"查看#\(?=;+:#对象的指定字段
8"查询包含指定字段的⽂档M:A*()(
9"语法⾼亮M<*I<&*I<)
J"基于字段进⾏排序M(?;)
!B"多条件查询MC??&
!!"范围查询MG&):;
!$"精确匹配多个值M):;L(
!/"多词搜索M了解即可
!2"权重案例M了解即可
!4"聚合查询M了解即可
⼗六!"*集群迁移
!"部署%-,5分布式集群
$"基于\;:*>@:A的ZQF迁移
/"基于&?I()'(<实现索引跨集群迁移
⼗七!"*集群常⽤的=>?
!"%-集群健康状态ZQF(<:'&)<)
$"%-集群的设置及优先级((:))*>I()
/"集群状态ZQF(()'):)
2"集群统计ZQF(()')()
4"查看集群的分⽚分配情况('&&?+')*?>)
5"集群分⽚重路由ZQF(;:;?=):)
8"今⽇作业
⼗⼋!"*集群理论篇
!"倒排索引
$"集群⻆⾊
$"⽂档的写流程
/"单个⽂档的读流程
2"全量查询的读流程
4"%-底层存储原理剖析
5"乐观锁机制M了解即可
⼗九!>D&./1操作"*集群=>?实战
!"创建索引
$"写⼊单个⽂档
/"写⼊多个⽂档
2"全量查询
4"查看多个⽂档
5"Y-3查询
8"查看索引是否存在
9"修改⽂档
J"删除单个⽂档
!B"删除索引
⼆⼗!"*集群加密及4'0$1$的:B=E实战
!"基于>I*>A反向代理控制.*C'>'
$"配置%-集群U-3认证
/".*C'>'添加%-认证
2"1*C'>'的N^Z_
4"&?I()'(<写⼊%-加密集群案例
5"G&:C:')写⼊%-加密集群案例
`
⼀!"#$%&'()*&$(+在企业的常⻅架构
!"没有⽇志收集系统运维⼯作的⽇常#痛点#概述
如上图所示,我简单画了⼀下互联⽹常⽤的⼀些技术栈相关架构图,请问如果让你对上图中的各组
件⽇志进⾏收集,分析,存储,展示该如何做呢?
你是否也会经常⾯临⼀下的运维痛点呢?
痛点1: ⽣产出现故障后,运维需要不停的查看各种不同的⽇志进⾏分析?是不是毫⽆头绪?
痛点2: 项⽬上线出现错误,如何快速定位问题?如果后端节点过多、⽇志分散怎么办?
痛点3: 开发⼈员需要实时查看⽇志但⼜不想给服务器的登陆权限,怎么办?难道每天帮开发
取⽇志?
痛点4: 如何在海量的⽇志中快速的提取我们想要的数据?⽐如:PV、UV、TOP10的URL?
如果分析的⽇志数据量⼤,那么势必会导致查询速度慢、难度增⼤,最终则会导致我们⽆法快速的
获取到想要的指标。
痛点5: CDN公司需要不停的分析⽇志,那分析什么?主要分析命中率,为什么?因为我们给
⽤户承诺的命中率是90%以上。如果没有达到90%,我们就要去分析数据为什么没有被命中、为什
么没有被缓存下来。
痛点6: 近期某影视公司周五下午频繁出现被盗链的情况,导致异常流量突增2G有余,给公
司带来了损失,那⼜该如何分析异常流量呢?
痛点7: 上百台Mysql实例的慢⽇志查询分析如�