ELK 8.5版本安装教程(一)

        由于公司需要搭建一个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/elasticsearch/config

3,创建docker-compose文件

4,创建network

docker network create 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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然,下面是使用docker-compose安装ELK的简要教程: 1. 首先,确保你已经安装了Docker和docker-compose工具。 2. 创建一个新的目录,用于存放ELK的配置文件和数据。例如,可以在命令行中运行以下命令创建一个名为elk的文件夹: ``` mkdir elk cd elk ``` 3. 在elk目录中创建一个名为docker-compose.yml的文件,并使用文本编辑器打开它。 4. 将以下内容复制并粘贴到docker-compose.yml文件中: ```yaml version: '3.7' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 logstash: image: docker.elastic.co/logstash/logstash:7.14.0 container_name: logstash volumes: - ./logstash/config:/usr/share/logstash/pipeline ports: - 5000:5000 kibana: image: docker.elastic.co/kibana/kibana:7.14.0 container_name: kibana ports: - 5601:5601 ``` 这个docker-compose.yml文件定义了三个服务:Elasticsearch、Logstash和Kibana。其中,Elasticsearch提供数据存储和搜索功能,Logstash用于数据处理和传输,Kibana提供了一个可视化的控制台。 5. 保存并关闭docker-compose.yml文件。 6. 在elk目录中创建一个名为logstash的文件夹,并在该文件夹中创建一个名为config的文件夹。 7. 进入config文件夹,并创建一个名为logstash.conf的文件,并使用文本编辑器打开它。 8. 将以下内容复制并粘贴到logstash.conf文件中: ``` input { tcp { port => 5000 codec => json_lines } } output { elasticsearch { hosts => "elasticsearch:9200" index => "logs-%{+YYYY.MM.dd}" } } ``` 这个logstash.conf文件定义了一个TCP输入插件,监听端口5000,并将数据发送到Elasticsearch。 9. 保存并关闭logstash.conf文件。 10. 返回elk目录,并在命令行中运行以下命令启动ELK堆栈: ``` docker-compose up -d ``` 这将下载并启动Elasticsearch、Logstash和Kibana的Docker镜像。 11. 等待一段时间,直到所有容器成功启动。你可以使用以下命令检查容器的状态: ``` docker-compose ps ``` 12. 现在,你可以通过浏览器访问Kibana的Web界面。打开http://localhost:5601/,你将看到Kibana的欢迎页面。 这样,你就成功地使用docker-compose安装了ELK堆栈。你可以通过配置Logstash来接收和处理日志数据,然后使用Kibana进行可视化和查询。请注意,这只是一个简单的示例,你可以根据自己的需求进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值