Elastic Stack生态圈介绍
ELK 应用场景
- 网站搜索 / 垂直搜索 / 代码搜索
- 日志管理与分析 / 安全指标监控 / 应用性能监控 / WEB抓取舆情分
Logstash
数据处理管道
- 支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中
- 诞生于2009年,最初用来做日志的采集与处理
- 实时解析和转换数据。
- 从IP地址破译出地理坐标
- 将PII数据匿名化,完全排除敏感字段
- 可扩展性
- 200多个插件(日志/数据库/Arcsigh/Netflow)
- 可靠性安全性
- Logstash会通过持久化队列来保证至少将运行中的事件送达一次
- 数据传输加密
- 监控
Kibana
数据可视化工具
- 数据可视化工具,帮助用户解开对数据的任何疑问
- 基于Logstash的工具
- 可以通过机器学习的技术做一些异常检测
BEATS
基于 go 语言开发的轻量的数据采集器
Elasticsearch
Elasticsearch:开源的搜索分析引擎。
日志管理
日志的重要性
- 为什么重要
- 运维:医生给病人看病。日志就是病人对自己的陈述
- 恶意攻击,恶意注册,刷单,恶意密码猜测
- 运维人员的挑战
- 关注点很多,任何一个点都有可能引起问题
- 日志分散在很多机器,出了问题时,才发现日志被删了
- 很多运维人员是消防员,哪里有问题去哪里
ES提供的解决方案
搜索管理
单独使用 ES 做存储
将数据存放到 ES,查询时通过查询 ES,得到数据
与数据库集成使用
以下情况可考虑与数据库集成使用
- 与现有的系统集成
- 需考虑事务性
- 数据更新频繁
指标分析 / 日志分析
Data Collection:数据来源可以通过 beats 从不同的数据源收集数据。也可以通过代码的方式收集数据
Buffering:数据缓冲层可以通过 Redis、kafka、RabbitMQ 这些组件将数据发送到 logstash
Data Aggregation & Processing:通过 logstash 对数据进行转化聚合对数据处理后发生到 Elasticsearch
最后可以通过 Kibana、grafana 对数据分析