CentOS上使用Docker安装Elasticsearch和Kibana

185 阅读2分钟

Elasticsearch、Kibana以及Logstash和Beats合称ELKB,是当前流行的一套日志采集、分析、存储、查询的解决方案。也可以只选择使用其中的部分组件,完成业务需求。

1. ELKB简介

ELKB是四个开源软件的统称,分别表示Elasticsearch、Logstash、Kibana、Beats。

Elasticsearch是基于Lucene的分布式、RESTful 风格的搜索和数据分析引擎,可以用来做数据的搜索、分析、存储等;

Logstash主要是用来做日志的收集、分析,支持大量的数据获取方式。一般为c/s架构,client端安装在需要收集日志的主机上,server端负责将各节点收集到的日志进行统一分析处理,一并发送到Elasticsearch上去;

Kibana为Elasticsearch和Logstash提供了一个友好的可视化的Web页面,可以帮助汇总、分析和搜索数据等;

Beats是一个轻量级的数据收集器,在需要收集数据的节点上安装后,就可以收集数据并发送到Logstash上进行解析,或者直接发送到Elasticsearch中进行集中式的存储和分析。

2. 安装ElasticSearch

注意:在安装时,需要注意组件之间的版本依赖关系,可以从官网的支持一览表中查看。

拉取镜像:docker pull elasticsearch:8.0.1
这里我们选择拉取的是8.0.1版本的Elasticsearch。 image.png

创建一个elastic网络:docker network create elastic image.png

启动es:

docker run --name elasticsearch --net elastic \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES\_JAVA\_OPTS="-Xms128m -Xmx128m" \
-it elasticsearch:8.0.1

其中,-p 9200:9200表示将linux的9200端口映射到docker容器的9200端口,用来给es发送http请求,-p 9300:9300表示es集群模式下,各节点间通信的端口,-e "discovery.type=single-node"表示以单节点模式运行,-e ES_JAVA_OPTS="-Xms128m -Xmx128m"设置运行内存大小。

启动后,会产生token以及用户名密码,用于Kibana的登陆。 image.png

这个token的有效期只有30分钟,如果过期了,可以用在容器中使用工具再生成一个:
bin/elasticsearch-create-enrollment-token --scope kibana

3. 安装Kibana

拉取镜像:docker pull kibana:8.0.1
这里我们也拉取的是8.0.1版本的Kibana。 image.png

启动Kibana容器:docker run --name kibana --net elastic -p 5601:5601 kibana:8.0.1 image.png

访问打印出的地址(如果不行就把ip换成虚拟机ip),输入之前生成的token,进入登陆界面输入用户名密码即可。 image.png

4. 参考

www.elastic.co/guide/en/el…
juejin.cn/post/707341…