①拉镜像(版本7.17.1)
docker pull elasticsearch:7.17.1
docker pull kibana:7.17.1
docker pull logstash:7.17.1
③创建容器网络(docker network)
docker network create elk_network
docker run -itd --name elasticsearch --net elk_network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx512m" elasticsearch:7.17.1
docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /home/elasticsearch/config/elasticsearch.yml
docker cp elasticsearch:/usr/share/elasticsearch/plugins /home/elasticsearch/plugins
docker cp elasticsearch:/usr/share/elasticsearch/data /home/elasticsearch/data
docker cp elasticsearch:/usr/share/elasticsearch/logs /home/elasticsearch/logs
配置elasticsearch.yml
xpack.security.enabled: true
xpack.security.audit.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.enabled: true
docker run -itd --name elasticsearch --net elk_network -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx512m" -v /home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /home/elasticsearch/data:/usr/share/elasticsearch/data -v /home/elasticsearch/logs:/usr/share/elasticsearch/logs elasticsearch
./elasticsearch-setup-passwords interactive
docker run -d --name kibana --net elk_network -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://[elasticsearch启动ip地址]:9200" kibana:7.17.1
docker cp kibana:/usr/share/kibana/config/kibana.yml /home/kibana/config/kibana.yml
elasticsearch.username: "elastic"
elasticsearch.password: [es密码]
docker run -d --name kibana --net elk_network -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://[elasticsearch启动ip地址]:9200" -v /home/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:7.17.1
docker run -itd --name logstash --net elk_network -p 5044:5044 logstash:7.17.1
docker cp logstash:/usr/share/logstash/config/logstash.yml /home/logstash/logstash.yml
docker cp logstash:/usr/share/logstash/pipeline/logstash.conf /home/logstash/logstash.conf
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: "elastic"
xpack.monitoring.elasticsearch.password: [es账号密码]
input {
kafka{
bootstrap_servers => ["[kafkaIP]:9092"]
auto_offset_reset => "latest"
consumer_threads => 1
decorate_events => "true"
topics => ["test"]
type => "kafka-to-elasticsearch"
tags => ["test"]
codec => json
}
}
filter {
prune {
whitelist_names => []
blacklist_names => []
}
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => ["[esIP]:9200"]
index => "%{[@metadata][kafka][topic]}"
user => "elastic"
password => "[es密码]"
}
}
docker run -itd --name logstash --net elk_network -p 5044:5044 -e "ELASTICSEARCH_HOSTS=http://106.12.159.165:9200" -v /home/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v /home/logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf logstash:7.17.1
通过IP:端口访问elasticsearch(9200)和kibana(5601)
出现如上信息表示,elasticsearch启动成功
出现如上信息表示,kibana启动成功
出现如上信息表示,logstash启动成功
参考
Elasticsearch7.8 创建用户
Logstash——Logstash过滤器(filter)对数据流量进行控制
Logstash消费kafka同步数据到Elasticsearch
感谢大佬!