Docker安装elk

docker搭建elk初体验

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

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

1、安装ES

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

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

mkdir -p /wuming/elk/es/{config, data, logs}
chown -R 1000:1000 /wuming/elk/es
1.3、创建elasticsearch.yml并编写配置
cd /wuming/elk/es/config
touch elasticsearch.yml
# 配置内容
cluster.name: "my-es"
network.host: 0.0.0.0
http.port: 9200
1.4、启动es容器
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镜像
docker pull kibana:7.7.1

2.2、获取es的虚拟ip
# 获取es的ip 172.17.0.3
docker inspect --format '{{ .NetworkSettings.IPAddress }}' es
2.3、创建配置文件
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、创建容器
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、拉取容器
# 拉取镜像
docker pull logstash:7.7.1
3.2、创建配置文件
# 创建配置文件
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、编辑配置文件
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
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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值