笔者在工作之中有接触过ELK,于是把一些基础内容总结出来.
- Kafka:接收用户日志的消息队列;
- Logstash:做日志解析,统一成JSON输出给ElasticSearch;
- ElasticSearch:实时日志分析服务的核心技术,一个schemaless,实时的数据存储服务,通过index组织数据,兼容强大的搜索和统计功能;
- Kibana:基于ElasticSearch的数据可视化组件,超强的数据可视化能力是众多公司选择ELK stack的重要原因;
ES的特性:
- 分布式实时文件存储,可将每一个字段存入索引,使其可以被检索到;
- 实时分析的分布式搜索引擎
- 分布式:索引分拆成多个分片,每个分片可有零个或多个副本。集群中的每个数据节点都可承载一个或多个分片,并且协调和处理各种操作
- 负载再平衡和路由在大多数情况下自动完成
- 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。也可以运行在单台PC上
- 支持插件机制,分词插件、同步插件、Hadoop插件、可视化插件等