ELK是elasticsearch、logstash、kibana的组合简称,安装时,三个软件的版本需要匹配。
其中elasticsearch主要用来存储检索数据和数据处理,logstash主要用来数据采集和过滤然后给es,kibana主要从es里面加载数据然后展示。

1. elasticsearch简介

Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。
Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎:
一个分布式的实时文档存储,每个字段 可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

基础模块:

1 | cluster:管理集群状态,维护集群层面的配置信息。
2 | alloction:封装了分片分配相关的功能和策略。
3 | discovery:发现集群中的节点,以及选举主节点。
4 | gateway:对收到master广播下来的集群状态数据的持久化存储。
5 | indices:管理全局级的索引设置。
6 | http:允许通过JSON over HTTP的方式访问ES的API。
7 | transport:用于集群内节点之间的内部通信。
8 | engine:封装了对Lucene的操作及translog的调用。

elasticsearch应用场景有:

信息检索

日志分析

业务数据分析

数据库加速

运维指标监控

官网:https://www.elastic.co/cn/

2 . elasticsearch安装与配置

准备三台虚拟机,分别给2G的内存,先建立单节点,后面创建集群。

vm1

172.25.10.11

vm2

172.25.10.12

vm3

172.25.10.13

vm1和vm2是上次实验留下来的虚拟机,所以新建vm3,清理vm1和vm2的实验环境,使其环境纯净
每个节点都要添加vm1 vm2 vm3的解析

ES应用于日志存储 es日志平台是什么_ES应用于日志存储


ES应用于日志存储 es日志平台是什么_配置文件_02

准备elasticsearch的安装包,官网下载https://elasticsearch.cn/download/

安装软件,7.6版本自带jdk,可以卸掉之前的jdk

ES应用于日志存储 es日志平台是什么_elasticsearch_03

ES应用于日志存储 es日志平台是什么_运维_04


编辑主配置文件

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_05


集群名称为my-es ,节点名称为vm1

ES应用于日志存储 es日志平台是什么_分布式_06

0.0.0.0任何主机都可以访问,端口为9200

ES应用于日志存储 es日志平台是什么_配置文件_07

设定发现的主机有vm1,vm2,vm3 初始化节点为vm1

ES应用于日志存储 es日志平台是什么_运维_08


启动服务,开启开机自启,查询9200端口

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_09

访问vm1的9200端口,测试成功

ES应用于日志存储 es日志平台是什么_运维_10


我们之前修改了集群名称,查看日志

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_11

此处可以禁用swap分区,实验效果更加流畅,不禁用swap也可以

3、搭建elasticsearch集群

给vm2和vm3也安装elasticsearch

ES应用于日志存储 es日志平台是什么_运维_12


将vm1的配置文件发送给vm2和vm3,只修改一个节点名称

ES应用于日志存储 es日志平台是什么_配置文件_13


ES应用于日志存储 es日志平台是什么_运维_14


vm2和vm3设置开机自动启动elasticsearch并启动

ES应用于日志存储 es日志平台是什么_运维_15


ES应用于日志存储 es日志平台是什么_elasticsearch_16


分别测试两个IP的9200端口

ES应用于日志存储 es日志平台是什么_运维_17


ES应用于日志存储 es日志平台是什么_运维_18

4. elasticsearch可视化方法1——cerebro插件

原来的elasticsearch界面不美观,我们可以安装部署图形化界面

cerebro是镜像,正好真机是8.2的红帽系统,自带podman,所以在真机导入镜像

podman run -d --name cerebro -p 9000:9000 lmenezes/cerebro
运行该镜像,默认开放9000端口

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_19


访问真机IP的9000端口,输入需要监听的IP master: http://172.25.10.11:9200

ES应用于日志存储 es日志平台是什么_配置文件_20


成功,点击node,可以看到三个节点

ES应用于日志存储 es日志平台是什么_分布式_21

5、elasticsearch可视化方法2——elasticsearch-head插件

elasticsearch-head是elasticsearch自带插件

下载elasticsearch-head 官网https://github.com/mobz/elasticsearch-head/archive/master.zip

head插件本质上是一个nodejs的工程,因此需要安装nodejs
https://mirrors.tuna.tsinghua.edu.cn/nodesource/rpm_9.x/el/7/x86_64/nodejs-9.11.2-1nodesource.x86_64.rpm

zip文件解压需要unzip解压工具,所以也需要安装

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_22


解压master.zip

ES应用于日志存储 es日志平台是什么_分布式_23


npm源较慢,更换cnpm源安装

# cd elasticsearch-head-master/
# npm install  -g cnpm --registry=https://registry.npm.taobao.org

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_24


查看版本号

ES应用于日志存储 es日志平台是什么_elasticsearch_25


安装bzip2,(安装cnpm需要用到)

yum install bzip2 -y

安装cnpm

ES应用于日志存储 es日志平台是什么_运维_26


进入子目录,查看app.js文件

ES应用于日志存储 es日志平台是什么_运维_27


可以看到监控的是9200本机IP9200端口

ES应用于日志存储 es日志平台是什么_运维_28


vm1后台运行head插件, 端口是9100

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_29


查看9100端口开启

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_30


进入目录修改elasticsearch配置文件

ES应用于日志存储 es日志平台是什么_运维_31

允许跨域,*表示支持所有域名

ES应用于日志存储 es日志平台是什么_分布式_32


重启服务

ES应用于日志存储 es日志平台是什么_ES应用于日志存储_33


访问172.25.10.11:9100,连接172.25.10.11:9200,可以看到三个节点,*表示master节点

ES应用于日志存储 es日志平台是什么_运维_34


在复合查询里创建一个索引

ES应用于日志存储 es日志平台是什么_分布式_35

查看es的状态

ES应用于日志存储 es日志平台是什么_elasticsearch_36


绿色代表正常

灰色标识没有副本

黄色代表没有主分片丢失