elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana

  基础部分

  工作原理

  es增删改内部原理

  ELK集群安装部署

  文档管理

  索引管理

  搜索

  聚合分析

  分词

  数据建模

  Java api

  零停机

  index segment merge

  乐观锁并发控制

  索引别名

  相关度评分算法与定制

  近似聚合算法

  doc values与fielddata机制原理

  父子关系数据建模

  高级部分

  地理位置搜索与聚合分析

  term vector

  suggester search

  搜索模板定制

  query执行剖析

  span query

  shard分配定制

  多种聚合分析

  插件开发

  通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

  集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

  源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。实践的目的是了解ELK技术栈的部署和应用。

  Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

  Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。

  Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

  1、目标

  安装部署ELK,使之正常工作。集群工作留待以后再实践。

  2、部署的机器

  服务器1: 192.168.136.144 部署 ELK 三个程序

  服务器2: 192.168.136.138 部署logstash agent

  以上机器都为 centos 65 虚拟机

  安装的ELK版本为:

  elasticsearch-2.4.1.tar.gz

  kibana-4.5.1-linux-x64.tar.gz

  logstash-2.3.2.tar.gz

  说明: 本来用ELK 5.0.0版本,但是碰到一个 logstash与ES 连接的问题(和鉴权相关)目前找不到处理办法,所以采用旧的版本来进行实践。用最新版有风险,入门需谨慎!

  3、安装过程

  3.1 安装前准备

  1)下载上面三个软件并上传到144主机

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第1张图片

  2) 准备java 1.8 (只要jdk 1.8 就可以)

  3.2 安装步骤

  ELK技术栈的部署将会按下面几个步骤进行

  首先安装ES(Elasticsearch)和ES的插件, 然后安装kibana,最后安装 logstash。 在下篇,还继续进行logstash的agent的安装。

  1、安装 ES(Elasticsearch)和ES的插件

  首先解压elasticsearch-2.4.1.tar.gz ,然后进入目录

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第2张图片

  然后,我们要修改 config 目录下的配置文件elasticsearch.yml

  要修改的内容为

  将上面的内容,修改正确,并且确保前面的#去掉,使得该项目生效。由于ES不支持在root 下运行, 所以需要对目录进行授权。 使用root用户登录,并且执行如下命令

  chown +R nmc:nmc /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

  说明:上面命令是将这个目录以及这个目录下的子目录都授权给nmc用户,隶属于nmc用户组。

  然后,我们切换到nmc用户,使用nmc用户来启动ES。 进入 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/

  在命令行,执行: ./bin/elasticsearch

  启动后,没有报错就表示成功了,我们可以通过浏览器执行 http://192.168.136.144:9200/ 来查看,出现下面界面就表示成功

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第3张图片

  下面我们可以进行 es 插件 head的安装。 head 之前的安装比较简单,在es没有启动的时候,执行 ./bin/plugin install mobz/elasticsearch-head

  在我的环境下,执行已经无法下来这个包了。(估计5.0出来后,这个包已经整合了) 从网上下载了head 包,解压有,上传到 /home/nmc/dev/elk/elk2.3/elasticsearch-2.4.1/plugins

  重启启动es,我们可以通过url http://192.168.136.144:9200/_plugin/head/来查看插件

  好了 ES部分的安装就到这里。下面我们来安装 kibana

  2、 安装kibana

  用root 用户,解压缩 kibana,然后进入到这个目录。修改 config 目录下的kibana.yml

  确保上面的配置生效。然后,我们启动kibana。执行 ./bin/kibana启动后,我们通过url http://192.168.136.144:5601/来进入 kibana 界面。

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第4张图片

  可以按默认的直接创建。然后点击最上方的discover 来观察

  3、 下面我们安装logstash。 同样解压后进入该目录,

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第5张图片

  原来没config目录,我自己建立了一个,并且在config目录,创建一个配置文件。

  通过配置文件中 output 将 logstash 与 ES 连接起来。

  下面我们启动logstash,启动后,我们从logstash 窗口输入任何的内容,都能通过ES 反馈到 kibana界面上。

elasticsearch 工作原理_ELK技术栈ElasticSearch,Logstash,Kibana_第6张图片

  1 SpringBoot+ 高并发消息处理 EDM?项目 实战

  2 SpringBoot ELK?分布式 数据分析

  3 Netty?高 并发 UTS?项目实战

  4 SpringCloud?微服务+NoSQL+ 负载均衡平台设计

你可能感兴趣的:(elasticsearch,工作原理,elasticsearch,按月聚合,kibana创建索引,kibana启动,kibana查询es语法,logstash,启动)