前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker安装elk

Docker安装elk

作者头像
猫老师的叶同学
发布2023-03-01 13:51:22
4280
发布2023-03-01 13:51:22
举报
文章被收录于专栏:中间件的探究

docker搭建elk初体验

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

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

1、安装ES

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

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

代码语言:javascript
复制
mkdir -p /wuming/elk/es/{config, data, logs}
chown -R 1000:1000 /wuming/elk/es
1.3、创建elasticsearch.yml并编写配置
代码语言:javascript
复制
cd /wuming/elk/es/config
touch elasticsearch.yml
# 配置内容
cluster.name: "my-es"
network.host: 0.0.0.0
http.port: 9200
1.4、启动es容器
代码语言:javascript
复制
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镜像
代码语言:javascript
复制
docker pull kibana:7.7.1
2.2、获取es的虚拟ip
代码语言:javascript
复制
# 获取es的ip 172.17.0.3
docker inspect --format '{{ .NetworkSettings.IPAddress }}' es
2.3、创建配置文件
代码语言:javascript
复制
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、创建容器
代码语言:javascript
复制
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、拉取容器
代码语言:javascript
复制
# 拉取镜像
docker pull logstash:7.7.1
3.2、创建配置文件
代码语言:javascript
复制
# 创建配置文件
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、编辑配置文件
代码语言:javascript
复制
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
代码语言:javascript
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-23,如有侵权请联系 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
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档