zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ELK 8.5版本安装教程(一)

2023-04-18 16:18:49 时间

        由于公司需要搭建一个ELK日志平台,看了一下最新的8.5版本还可以,加了权限管理,可观测性等功能,所以就试下使用8.5版本,此教程基于docker-compose安装ELK的。我这里是直接使用filebeat推送到了Elasticsearch,所以logstash没有安装。由于是新版本,所以踩坑还是有点的,我将问题也汇总到最后。

        

安装环境:

软件

版本

Centos

7.6以上

Docker

20以上

Docker-compose

1.25以上

安装目录如下:

序号

步骤

1

安装 Elasticsearch

2

安装Kibana

3

安装Filebeat

  • 安装 Elasticsearch
  1. 创建Elasticsearch.yml配置文件

 

2,创建挂载的目录

mkdir  /home/es/elasticsearch/plugins

mkdir  /home/es/elasticsearch/data

mkdir  /home/es/elasticsearchconfig

3,创建docker-compose文件

 

4,创建network

Docker create network elastic

5,启动elasticsearch

docker-compose up -d

正常来说这里基本没问题的,能正常启动。如果遇到问题,可参考以下的问题

6,问题汇总

1,java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/

 

提示创建目录权限不足,然后把宿主机的目录添加了权限  chmod 777 /home/es/data 还是报错。最后才发现,需要yml文件加上privileged: true,然后就可以成功了

  • 安装kibana

1,创建kibana.yml文件

 

如果需要安装汉化版,则添加以下配置

i18n.locale: "zh-CN"

2,创建挂载目录

mkdir /home/kibana/config

3,创建docker-compose文件

 

ELASTICSEARCH_URL :es网址

ELASTIC_USERNAME:es自定义用户

ELASTIC_PASSWORD:es密码

4,启动kibana

docker-compose up -d

5,问题汇总

1,FATAL Error: [config validation of [elasticsearch].username]: value of "elastic" is forbidden. This is a superuser account that cannot write to system indices that Kibana needs to function. Use a service account token instead.

界面会显示:Kibana server is not ready yet.

这是因为es 不允许使用elastic用户登录kibana

所以这里需要创建一个自定义用户

进入es容器,docker exec -it es bash,执行bin/elasticsearch-users useradd  test

添加了用户,并需要给这个用户添加角色不然会报错

角色授权

bin/elasticsearch-users roles -a superuser  test

bin/elasticsearch-users roles -a kibana_system test

然后启动kibana