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部署架构
2 Logstash部署
2.1.1 解压
tar -zxvf logstash-8.5.1-linux-x86_64.tar.gz
2.1.2 修改配置项logstash.conf
启动
nohup ./bin/logstash -f ./config/logstash.conf &
2.1.3 验证
2.1.3.1 日志验证
2.1.3.2 Elasticsearch验证
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(一主二从)
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 进程验证
3.2.4.2 浏览器查看
http://172.18.8.29:9200/_cat/health?v
上图可以看到有3个节点,14个分片,7个主分片
集群监控有三种状态:green、yellow、red
· Green : everything is good(一切都很好)(所有功能正常)
· Yellow : 所有数据都是可用的,但有些副本还没有分配(所有功能正常)
· Red : 有些数据不可用(部分功能正常)
http://172.18.8.29:9200/_cat/nodes?v
上图可以看到node-2是master节点
http://172.18.8.29:9200/_cat/indices?v(只能看到非系统索引)
http://172.18.8.29:9200/_cat/shards?v(查看所有索引)
上图可看到有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
4.1.3 启动
nohup ./bin/kibana &
4.1.4 验证
4.1.4.1 端口验证
4.1.4.2 界面验证
5 Kibana基本使用
5.1 Discover
路径:elastic--analytics--discover-选择索引
5.2 Visualize
路径:elastic--analytics--visualize library--create visualization—lens
5.3 Dashboard
路径:elastic--analytics--dashboard--create dashboard--create visualization
本文转载自:公共号金蝶云·天梯
作者:贺小明
原文链接:公共号金蝶云·天梯