ELK简介与集群部署
金蝶云社区-刘映希
刘映希
0人赞赏了该文章 130次浏览 未经作者许可,禁止转载编辑于2023年08月21日 10:16:44

1  ELK简介

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。

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

安装包下载地址:https://elasticsearch.cn/download/本文以8.5.1为例

1.1  Elasticsearch介绍

Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。

1.2  Logstash介绍

Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。

1.3  Kibana介绍

Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。

1.4  ELK部署架构

image.png

2  Logstash部署

2.1.1  解压

tar -zxvf logstash-8.5.1-linux-x86_64.tar.gz

2.1.2  修改配置项logstash.conf

image.png

image.png

image.png

启动

nohup ./bin/logstash -f ./config/logstash.conf &

2.1.3  验证

2.1.3.1  日志验证


image.png

2.1.3.2  Elasticsearch验证

image.png

3  Elasticsearch部署

3.1  修改操作系统参数

3.1.1  vi /etc/security/limits.conf

最后加上以下4条,根据系统负载情况可以调大

*      soft     nproc              131070

*      hard     nproc              131070

*      soft     nofile             131070

*      hard     nofile             131070

3.1.2  vi /etc/sysctl.conf

最后加上 vm.max_map_count=262144

sysctl  –p  参数生效

3.1.3  创建es用户

useradd es

mkdir -p /home/es

chown -R es:es /home/es/

3.2  集群部署

elasticsearch7以上版本自带jdk,本次部署为一主二从,在3台服务器上部署。

 

3.2.1  解压

cp elasticsearch-8.5.1-linux-x86_64.tar.gz /home/es

tar -zxvf elasticsearch-8.5.1-linux-x86_64.tar.gz

复制2份作为集群副节点

mv elasticsearch-8.5.1     elasticsearch-8.5.1-1

cp -r elasticsearch-8.5.1-1 elasticsearch-8.5.1-2

cp -r elasticsearch-8.5.1-1 elasticsearch-8.5.1-3

3.2.2  修改配置项

3.2.2.1  修改hosts文件

vim /etc/hosts

172.18.8.29     node1

172.18.8.29     node2

172.18.8.29     node3

3.2.2.2  修改elasticsearch.yml(一主二从)

image.png
image.pngimage.png

cluster.name: es8       集群名配置,名字相同则为同一个集群

node.name: node-X        集群节点配置,集群内名称唯一

node.roles: [master,data] 集群角色配置

path.data: /home/es/elasticsearch-8.5.1-X/esdata   数据路径配置

path.logs: /home/es/elasticsearch-8.5.1-X/eslogs    日志路径配置

network.host: 0.0.0.0

http.port: 9200                服务端口

transport.port: 9201  集群通信端口

discovery.seed_hosts: ["node1:9201", "node2:9301", "node3:9401"]

cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

http.cors.enabled: true          跨域支持配置

http.cors.allow-origin: "*"

xpack.security.enabled: false      关闭安全访问配置

xpack.security.http.ssl:

          enabled: false

3.2.3  启动

在es用户下分别启动:nohup ./bin/elasticsearch &

3.2.4  验证

3.2.4.1  进程验证

image.png

3.2.4.2  浏览器查看

http://172.18.8.29:9200/_cat/health?v

image.png

上图可以看到有3个节点,14个分片,7个主分片

集群监控有三种状态:green、yellow、red

·         Green : everything is good(一切都很好)(所有功能正常

·         Yellow : 所有数据都是可用的,但有些副本还没有分配(所有功能正常)

·         Red : 有些数据不可用(部分功能正常)

 

http://172.18.8.29:9200/_cat/nodes?v

image.png

上图可以看到node-2是master节点

http://172.18.8.29:9200/_cat/indices?v(只能看到非系统索引)

image.png

http://172.18.8.29:9200/_cat/shards?v(查看所有索引)

image.png

上图可看到有1个数据索引,6个系统索引,索引分别有1个主分片1个副本

3.2.5  基本操作

3.2.5.1  创建索引

curl -X PUT “http://172.18.8.29:9200/customer?preety”

3.2.5.2  查询索引

curl -X GET “http://172.18.8.29:9200/_cat/indices?v”

3.2.5.3  删除索引

curl -X DELETE “http://172.18.8.29:9200/customer”

4  Kibana部署

4.1.1  解压

tar -zxvf kibana-8.5.1-linux-x86_64.tar.gz

4.1.2  修改配置项kibana.yml

image.png

4.1.3  启动

nohup ./bin/kibana &

4.1.4  验证

4.1.4.1  端口验证

image.png

4.1.4.2  界面验证

image.pngimage.pngimage.png

5  Kibana基本使用

5.1  Discover

路径:elastic--analytics--discover-选择索引

image.pngimage.png

5.2  Visualize

路径:elastic--analytics--visualize library--create visualization—lens

image.png

5.3  Dashboard

路径:elastic--analytics--dashboard--create dashboard--create visualization

image.png

image.pngimage.png


本文转载自:公共号金蝶云·天梯

作者:贺小明

原文链接:公共号金蝶云·天梯

赞 0