EKL
核心组成
1.Elastic Search 开源分布式搜索引擎,他的特点是分布式、零配置、自动发现、索引自动分片,索引副本机制,restful接口,多数据源,自动搜索负载。
安装Elastic Search 高可用,易扩展,支持集群(cluster),分片和复制(sharding和replicas)
验证启动:curl -X GET http://localhost:9200
2.Logstash 完全开源的工具,可以用来对日志进行收集,分析,并将期存储供以后使用。
安装Logstash 实时渠道能力的数据收集引擎。由三部分组成
1.shipper-发送日志数据
2.broker-收集数据,缺省内置redis
3.indexer-数据写入
启动验证: ./logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
3.Kibala 可以为ES和Logstash提供的日志分析友好的界面,汇总,分析和搜索重要的日志。 可以在Elasticsearch 的索引中查找,交互数据,并生成各种维度的表图
vi kibana.yml 添加下面配置
elasticsearch_url:
"http://192.168.1.104:9200"
浏览器访问kinaba http://39.106.48.25:5601/
在kibana中查找执行超过400ms的记录
"READ_COMMITTED" AND message:/[4-9]{1}[0-9][0-9]ms/
四大组件
1.Logstatsh: logstash server 端用来收集日志。
2.Elastic Search:存储各类日志。
3.Kibala: web化查询和可视化接口.
4.Logstash forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server.
ELK工作流程
在需要收集日志的服务器上部署logstash,作为logstash agent(shipper) 用于监控并过滤收集日志,将过滤后的内容发送到Broker(缺省Redis),然后logstash indexer 将日志收集到一起交给全文搜索引擎Elastic Search,可以用Elastic Search进行自定义搜索通过Kibana来结合自定义搜索进行页面展示。