ELK Stack 6.x with docker
关键词: elasticsearch
logstash
kibana
ELK 6.x
ELK Stack 6.x with docker
久等了,终于更新了,也算是对一段时间研究的沉淀吧,原理不多说了,直接贴上
docker-compose.yml
file,docker发布了docker for mac
,之前net: host
的配置可能不太适用这个版本,避免过多的设置,加多了一个docker-compose.yml.docker_for_mac
供苹果用户使用
- Version : 5.3.1 + docker-compose.yml for linux, docker-compose.yml for docker_for_mac
- Version : 5.6.3 + docker-compose.yml for linux, docker-compose.yml for docker_for_mac
- Version : 6.0.0 + docker-compose.yml for linux, docker-compose.yml for docker_for_mac
- Version : 6.1.2 + docker-compose.yml for linux, docker-compose.yml for docker_for_mac
logstash
默认开放filebeat
的port是5044
Prerequisite
- OS : Centos 7.x
- Docker engine > 1.12.x
- Docker-compose > 1.11.x
Clone GIT(如果你愿意)
cd ~
git clone https://github.com/easonlau02/elasticstack.git
现在支持四个版本
5.3.1/5.6.3/6.0.0/6.1.2
以6.1.2为例子
一、启动elk service最简单的方式
用法:
cd ~/elasticstack/
chmod +x auto_up_elk_service.sh
./auto_up_elk_service.sh
usage: ./up_service.sh <linux|mac> <5.3.1 5.6.3 6.0.1 6.1.2> <your_hostname>
- For linux user
./auto_up_elk_service.sh linux 6.1.2
- For Mac user
./auto_up_elk_service.sh mac 6.1.2 <your_hostname>
二、使用版本文件启动elk service
1.如果你是MAC用户,需要修改以下配置,使用你的hostname替换下面compose file中的<your_es_host>
~/elasticstack/6.1.2/docker-compose.yml.docker_for_mac
2.启动ELK service
- For linux user
cd ~/elaticstack/6.1.2
docker-compose -f docker-compose.yml.linux up -d
- For Mac user
cd ~/elasticstack/6.1.2
docker-compose -f docker-compose.yml.docker_for_mac up -d
3. 通过<your_hostname>:5601
,你会看到如下截图:
Kibana Status
Kibana
你会看到 Couldn't find any Elasticsearch data, 那是因为我们只启动了ELK service,需要使用beats
往elasticsearch
或者logstash
发送data,关于filebeat for docker
,可以参考如下,一个相当轻量级的image:
filebeat-alpine
: https://github.com/easonlau02/filebeat-alpine
之后有时间会把相关的filebeat
搭建过程放到简书。
4. 自定义配置(仍然以6.1.2
为例)
这个solution使用eason02/elk-data-volume:6.1.2
来管理所有的配置文件,所以如果你需要添加或者修改如下folder的配置的话:
~/elasticstack/6.1.2/elasticsearch/config/
~/elasticstack/6.1.2/logstash/config/
~/elasticstack/6.1.2/kibana/config/
然后执行相关的eason02/elk-data-volume:6.1.2
的build scripts来构建新的配置image:
cd ~/elasticstack/6.1.2/
chmod +x build_data_volumes_for_elk.sh
./build_data_volumes_for_elk.sh
重启ELK service就可以直接生效了:
- For linux user
cd ~/elaticstack/6.1.2
docker-compose -f docker-compose.yml.linux restart
- For Mac user
cd ~/elasticstack/6.1.2
docker-compose -f docker-compose.yml.docker_for_mac restart
** 文章所有步骤都是经过实践检验并可行,若有问题,下方请评论。
——END——
作者 : Eason
,专注各种技术、平台、集成,不满现状,喜欢改改改
文章、技术合作
Email : eason.lau02@hotmail.com