ELK概述与Elasticsearch及插件elasticsearch-head的安装使用

一、 ELK(Elasticsearch+Logstash+Kibana)概述

ElasticSearch:是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful风格接口,多数据源,自动搜索负载等。
Logstash: 是一个完全开源的工具,他可以对你的日志进行收集,分析,并将其存储供以后使用。
Kibana:也是一个开源和免费的工具, Kibana可以为Logstash 和 ElasticSearch提供的日志分析友好的Web界面,可以帮助汇总,分析和搜索重要数据日志。

tip:E是搜索引擎、L是日志收集工具、K是可视化界面展示工具

Elasticsearch简介


Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是适用于数据采集、充实、存储、分析和可视化的一组开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。

Elasticsearch功能

Elasticsearch功能详细说明文档


Elasticsearch 在速度和可扩展性方面都表现出色,而且还能够索引多种类型的内容,这意味着其可用于多种用例:

  • 应用程序搜索
  • 网站搜索
  • 企业搜索
  • 日志处理和分析
  • 基础设施指标和容器监测
  • 应用程序性能监测
  • 地理空间数据分析和可视化
  • 安全分析
  • 业务分析

Elasticsearch 工作原理

原始数据会从多个来源(包括日志、系统指标和网络应用程序)输入到 Elasticsearch 中。数据采集指在 Elasticsearch 中进行索引之前解析、标准化并充实这些原始数据的过程。这些数据在 Elasticsearch 中索引完成之后,用户便可针对他们的数据运行复杂的查询,并使用聚合来检索自身数据的复杂汇总。在 Kibana 中,用户可以基于自己的数据创建强大的可视化,分享仪表板,并对 Elastic Stack 进行管理。

Elasticsearch 索引

Elasticsearch 索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。

Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。

在索引过程中,Elasticsearch 会存储文档并构建倒排索引,这样用户便可以近实时地对文档数据进行搜索。索引过程是在索引 API 中启动的,通过此 API 您既可向特定索引中添加 JSON 文档,也可更改特定索引中的 JSON 文档。

Logstash 用途

Logstash 是 Elastic Stack 的核心产品之一,可用来对数据进行聚合和处理,并将数据发送到 Elasticsearch。Logstash 是一个开源的服务器端数据处理管道,允许您在将数据索引到 Elasticsearch 之前同时从多个来源采集数据,并对数据进行充实和转换

Kibana 用途

Kibana 是一款适用于 Elasticsearch 的数据可视化和管理工具,可以提供实时的直方图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等高级应用程序;Canvas 允许用户基于自身数据创建定制的动态信息图表,而 Elastic Maps 则可用来对地理空间数据进行可视化。

二、ElasticSearch安装

参考文档

ELK官网: https://www.elastic.co/
ELK官网文档:https://www.elastic.co/guide/index.html
ELK中文手册:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
ELK中文社区:https://elasticsearch.cn/
ELK-API:
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

下载方式

1、访问官网地址https://www.elastic.co/cn/downloads/elasticsearch
2、云盘链接(限linux,6.4.2版本)

链接: https://pan.baidu.com/s/1uUsCJdQ_A_EIuF1VkIBi7g
提取码: gjhf

安装与运行

安装: 由于是Linux包,解压拖到某一指定文件目录下即可;
运行:
1.在终端中打开目录
2. 使用 bin/elasticsearch启动
在这里插入图片描述

3.出现started 表示启动成功

tips: started:表示启动成功;9201: 表示端口号(默认是9200,这里9200已被占用)

4.浏览器输入:http://localhost:9201/测试

插件(elasticsearch-head)安装

1、github搜索elasticsearch-head

2、点击下载、解压、安装到本地

3、启动:

(1). Ctrl + c: 关闭当前服务(ElasticSearch9201)
(2). cd Library/elasticsearch-head-master/: 进入elasticsearch-head-master目录下
(3). npm run start 启动head服务


tips:先要保证安装了node 才能使用npm run start

4、 浏览器测试


刚才把ElasticSearch9201服务停了,所以这里出现集群未连接;

由于head插件与ElasticSearch是两个独立的进程,它们之间的访问有跨域问题,则对ElasticSearch的配置进行相应的修改。

5、修改ElasticSearch的elasticsearch.yml
在文件末尾添加以下代码:

http.cors.enabled: true
http.cors.allow-origin: "*"

6、分别重新启动ElasticSearch和head服务

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章