首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【ES三周年】 docker搭建elk初体验

【ES三周年】 docker搭建elk初体验

原创
作者头像
猫老师的叶同学
修改2023-02-23 15:43:49
修改2023-02-23 15:43:49
6900
举报
文章被收录于专栏:中间件的探究中间件的探究

docker搭建elk初体验

前言:在平日的开发生活中,沉浸与MySQL或Redis之类,关系型数据库或者非关系型数据库时,常会思考像商城项目中的检索,都是用什么数据库实现的呢,偶尔的机会,基础到了ELK搭建而成的日志系统,细致了解后诞生了与Elasticsearch的一见钟情。

这篇文章将着重于我对ELK的搭建初体验,基于部署和安装的方便,也为了巩固Docker相关的知识点的学习和熟练运行,尝试在使用Docker来搭建整个ELK系统。

1、安装ES

1.1、从docker仓库中拉取es镜像文件
代码语言:shell
复制
docker pull elasticsearch:7.7.1
1.2、创建本地文件夹并授权。

这里注意,在使用容器外部挂载文件时,一定要给当前文件授予相关的权限,否则启动容器会报错,无法访问文件。

代码语言:shell
复制
mkdir -p /wuming/elk/es/{config, data, logs}

chown -R 1000:1000 /wuming/elk/es
1.3、创建elasticsearch.yml并编写配置
代码语言:shell
复制
cd /wuming/elk/es/config

touch elasticsearch.yml

# 配置内容

cluster.name: "my-es"

network.host: 0.0.0.0

http.port: 9200
1.4、启动es容器
代码语言:shell
复制
docker run -it -d -p 9200:9200 -p 9300:9300 --name es -e ES\_JAVA\_OPTS="-Xms1g -Xmx1g" -e "discovery.type=single-node" --restart=always 

-v /wuming/elk/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 

-v /wuming/elk/es/data:/usr/share/elasticsearch/data 

-v /wuming/elk/es/logs:/usr/share/elasticsearch/logs 

elasticsearch:7.7.1

这样启动后,执行docker命令查看容器的状态。容器为运行状态则表示es容器创建成功。

2、安装kibana

kibana是操作es的一个可视化工具,在elk作为日志系统时,通过kibana来检索和查看日志系统中的日志信息

2.1、拉取kibana镜像
代码语言:shell
复制
docker pull kibana:7.7.1
2.2、获取es的虚拟ip
代码语言:shell
复制
# 获取es的ip 172.17.0.3

docker inspect --format '{{ .NetworkSettings.IPAddress }}' es
2.3、创建配置文件
代码语言:shell
复制
mkdir -p /wuming/elk/kibana/

vi /wuming/elk/kibana/kibana.yml

# Default Kibana configuration for docker target

server.name: kibana

server.host: "0"

elasticsearch.hosts: ["http://172.17.0.3:9200"]

xpack.monitoring.ui.container.elasticsearch.enabled: true
2.4、创建容器
代码语言:shell
复制
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kibana -p 5601:5601 -v /wuming/elk/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.7.1

3、安装logstash

logstash用于项目日志信息的获取并保存到ES中。

3.1、拉取容器
代码语言:shell
复制
# 拉取镜像

docker pull logstash:7.7.1
3.2、创建配置文件
代码语言:shell
复制
# 创建配置文件

mkdir /wuming/elk/logstash/conf.d

cd /wuming/elk/logstash

# 编辑文件信息

vi logstash.yml

path.config: /usr/share/logstash/conf.d/\*.conf

path.logs: /var/log/logstash
3.3、编辑配置文件
代码语言:shell
复制
cd /wuming/elk/logstash/conf.d

vi test.conf



# 收录springboot项目日志配置 test.conf

input {

    tcp {

        port => 5044

    }

}



output {

    elasticsearch {

        hosts => ["172.17.0.3:9200"]

    }

    stdout {}

}

# 以下为filebeat的配置

input {

    beats {

        port => 5044

        codec => "json"

    }

}

# 保存日志到es中

output {

    elasticsearch { hosts => ["172.17.0.3:9200"] }

    stdout { codec => rubydebug }

}
3.4、安装logstash
代码语言:shell
复制
docker run -it -d -p 5044:5044 -p 5045:5045 -p 5046:5046 --name logstash 

-v /wuming/elk/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml 

-v /wuming/elk/logstash/conf.d/:/usr/share/logstash/conf.d/ 

logstash:7.7.1

这样,只需要在项目的日志文件中配置日志输出的服务器地址后,就可以在ELK上查看日志信息啦。

以上elk平台全docker搭建完成,后续跟进filebeat

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • docker搭建elk初体验
    • 1、安装ES
      • 1.1、从docker仓库中拉取es镜像文件
      • 1.2、创建本地文件夹并授权。
      • 1.3、创建elasticsearch.yml并编写配置
      • 1.4、启动es容器
    • 2、安装kibana
      • 2.1、拉取kibana镜像
      • 2.2、获取es的虚拟ip
      • 2.3、创建配置文件
      • 2.4、创建容器
    • 3、安装logstash
      • 3.1、拉取容器
      • 3.2、创建配置文件
      • 3.3、编辑配置文件
      • 3.4、安装logstash
      • 以上elk平台全docker搭建完成,后续跟进filebeat
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档