ELKstack

官网学习
中文书籍(ELKstack 中文指南)
ELK社区
本地安装指南windows
Lucene查询语法详解

ELKstack简介

ELKstack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合而成,形成一款强大的实时日志收集展示系统。

各组件作用如下:

Logstash:日志收集工具,可以从本地磁盘,网络服务(自己监听端口,接受用户日志),消息队列中收集各种各样的日志,然后进行过滤分析,并将日志输入到Elasticsearch中。

Elasticsearch:日志分布式存储/搜索工具,原生支持集群功能,可以将指定时间的日志生成一个索引,加快日志查询和访问。

Kibana:可视化日志web展示工具,对Elasticsearch中存储的日志进行展示,还可以生成炫丽的仪表盘。

工作用途

 Elastic Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择。
 特点:
   处理方式灵活。Elasticsearch 是实时全文索引,不需要像 storm 那样预先编程才能使用;
   配置简易上手。Elasticsearch 全部采用 JSON 接口,Logstash 是 Ruby DSL 设计,都是目前业界最通用的配置语法设计;
   检索性能高效。虽然每次查询都是实时计算,但是优秀的设计和实现基本可以达到全天数据查询的秒级响应;
   集群线性扩展。不管是 Elasticsearch 集群还是 Logstash 集群都是可以线性扩展的;
   前端操作炫丽。Kibana 界面上,只需要点击鼠标,就可以完成搜索、聚合功能,生成炫丽的仪表板。

实验架构图

ELKstack_第1张图片
实验架构图.png
 redis消息队列作用说明:
 1、防止logstash和Es无法正常通信,从而丢失日志
 2、防止日志量过大导致ES无法承受大量写操作从而丢失日志
 3、应用程序(php,java)在输出日志时,可以直接输出到消息队列,从而完成日志收集

 补充:如果redis使用的消息队列出现扩展瓶颈,可以使用更加强大的kafka,flume来代替。

部署顺序

1、Elasticsearch集群配置
2、Logstash客户端配置(直接写入数据到ES集群,写入系统messages日志)
3、Redis消息队列配置(logstash写入数据到消息队列)
4、Kibana部署
5、nginx负载均衡kibana请求
6、案例:同时收集nginx和MySQL慢查询日志
7、kibana报表功能说明

配置需要注意的事项:
1、时间必须同步
2、出了问题,检查日志

具体安装配置

https://www.elastic.co/guide/cn/elasticsearch/guide/current/running-elasticsearch.html

整体规划:
ES集群规划1个master 和 4个data节点,master放在实体机上有利于提高测试集群的稳定性;data放在四个虚拟机上;kibana实例放在实体机上,最后安装head 和 bigdesk插件。
通过head插件,可以清楚的展示索引的信息、分片的存储信息、提供检索索引的接口;bigdesk插件提供机器负载、性能的检测信息。

你可能感兴趣的:(ELKstack)