第一步 环境准备---工作目录准备
1)C:\Users\xu\Desktop\elkcompose\compose\elk_stack
2)C:\Users\xu\Desktop\elkcompose\elasticsearch\config
3)C:\Users\xu\Desktop\elkcompose\elasticsearch\data
4)C:\Users\xu\Desktop\elkcompose\logstash\agent
5)C:\Users\xu\Desktop\elkcompose\logstash\central
6)C:\Users\xu\Desktop\elkcompose\logstash\data
第二部 先关配置文件内容
1)docker-compose.yml(放在C:\Users\xu\Desktop\elkcompose\compose\elk_stack),配置内容如下:
version: '2'
services:
elasticsearch-central:
image: elasticsearch:2
container_name: elasticsearch-central
volumes:
- /c/Users/xu/Desktop/elkcompose/elasticsearch/data/:/usr/share/elasticsearch/data
- /c/Users/xu/Desktop/elkcompose/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
environment:
- ES_CLUSTERNAME=elasticsearch
command: elasticsearch
ports:
- "9200:9200"
- "9300:9300"
kibana-frontend:
image: kibana:latest
container_name: kibana-frontend
ports:
- "5601:5601"
links:
- elasticsearch-central:elasticsearch
redis-cache:
image: redis:latest
container_name: redis-cache
ports:
- "6379:6379"
logstash-central:
image: logstash:latest
container_name: logstash-central
ports:
- "25826:25826"
- "25826:25826/udp"
volumes:
- /c/Users/xu/Desktop/elkcompose/logstash/central:/conf
- /c/Users/xu/Desktop/elkcompose/logstash/data/:/data
command: logstash -f /conf/central.conf
links:
- redis-cache:redis
- elasticsearch-central:db
logstash-agent:
image: logstash:latest
container_name: logstash-agent
ports:
- "25827:25827"
- "25827:25827/udp"
volumes:
- /c/Users/xu/Desktop/elkcompose/logstash/agent:/conf
command: logstash -f /conf/agent.conf
links:
- redis-cache:redis
2)elasticsearch.yml(位于
C:\Users\xu\Desktop\elkcompose\elasticsearch\config)
cluster.name: ${ES_CLUSTERNAME}
node.name: ${HOSTNAME}
network.host: 0.0.0.0
discovery.zen.ping.multicast.enabled: true
3)agent.conf(位于C:\Users\xu\Desktop\elkcompose\logstash\agent)
input
{
tcp
{
port => 25827
type => syslog
}
udp
{
port => 25827
type => syslog
}
}
output
{
stdout { codec => rubydebug }
redis
{
host => "redis-cache"
data_type => "list"
key => "logstash"
}
}
4)central.conf(位于 C:\Users\xu\Desktop\elkcompose\logstash\central)
input
{
file {
path => "/data/test.txt"
}
}
output
{
stdout { }
elasticsearch
{
# we must specify cluster name as we do not use default elasticsearch one
hosts => "elasticsearch-central:9200"
# Here not using host as we use cluster | host => db
}
}
注意:要在C:\Users\xu\Desktop\elkcompose\logstash\data目录下的test.txt中添加测试数据,测试数据如下
2,xu,30,beijing,hebei
步骤三 创建test宿主机,创建命令是doecker-machine create -d cirtualbox test步骤四 启动容器,相关命令是
1)eval $(docker-machine env test)
2) docker-compose up
步骤五 查看测试结果