说明:所有介绍和操作基于ELK 8.8.2版本。
一、Elastic Stack介绍
“ELK”是三个开源项目的首字母缩写:Elasticsearch、Logstash 和 Kibana。Elasticsearch是一个搜索和分析引擎,Logstash是服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到Elasticsearch 等“存储库”,Kibana 则可以让用户在Elasticsearch中使用图形和图表对数据进行可视化。
Logstash作为数据采集的客户端,资源占用较高,于是又添加了Beats家族,通过各种更加轻量的Beat来采集数据。ELK 3个字母已经无法涵盖新加入的Beats,ELK就改名为ELK Stack,随着ELK Stack的更新升级,又升级为Elastic Stack。
1.1Elasticsearch介绍
Elasticsearch作为 Elastic Stack 的核心,它是一个分布式的 RESTful 搜索和分析引擎,可用来集中存储数据,以便对形形色色、规模不一的数据进行搜索、索引和分析。
可以使用 Elasticsearch 做什么?对数字、文本、地理位置、结构化数据、非结构化数据等众多数据类型的存储、索引、查询、分析,以下是Elastic Stack 所构建解决方案的完整列表。
1.2Kibana介绍
使用 Kibana 对Elasticsearch中的数据进行管理,以实现数据的搜索、可观测性、安全和分析,就像Kibana首页所示:Search、Observability、Security、Analytics。
1.3Logstash介绍
Logstash作用是集中、转换和存储数据,它是服务器端数据处理管道,能够从多个来源采集数据、转换数据,然后将数据发送到“存储库”中。
Logstash最常见的作用是输入、筛选、格式化输出数据。Logstash能够动态地采集、转换和传输数据,不受格式或复杂度的影响,然后利用Grok从非结构化数据中派生出结构,从IP地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。
1.4Beats介绍
Beats集合了多种单一用途数据采集器,它们从成百上千或成千上万台机器和系统向 Logstash或Elasticsearch发送数据。
二、ELK安装环境介绍
为了便于理解,文章中还将Elastic Stack称为众所周知的ELK。
1.操作系统环境说明
系统版本:银河麒麟v10 SP2服务器版
IP、192.168.80.50
2、ELK版本:v8.8.2
3、部署方式:docker部署,docker软件的安装这里不再介绍
三、Elasticsearch部署
下载elasticsearch镜像
[root@kylin ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:8.8.2
创建docker网络elastic,并查看创建的网络
[root@kylin ~]# docker network create elastic
[root@kylin ~]# docker network ls | grep elastic
创建elasticsearch容器,名称elastic,映射端口9200和9300,加入网络elastic,为了将kibana和elasticsearch部署在一起测试,使用single-node模式
[root@kylin ~]# docker run -itd --name elastic --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:8.8.2
查看创建的容器
[root@kylin ~]# docker ps
查看容器分配的IP为172.18.0.2
[root@kylin ~]# docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' elastic
下一篇文章介绍Kibana部署。