使用Docker快速部署ELK环境(最新5.5.1版本)

在Linux服务器上安装Docker以后,Pull相关的官方Docker镜像:


 
 
  1. docker pull docker .elastic .co/elasticsearch/elasticsearch: 5.5 .1
  2. docker pull docker .elastic .co/kibana/kibana: 5.5 .1
  3. docker pull docker .elastic .co/logstash/logstash: 5.5 .1

启动Elastic Search容器:


 
 
  1. docker run -p 9200: 9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" \
  2. --name my -elastic -d docker .elastic .co/elasticsearch/elasticsearch: 5.5 .1

启动Kibana容器:


 
 
  1. docker run -p 5601: 5601 -e "ELASTICSEARCH_URL=http://localhost:9200" --name my -kibana \
  2. --network host -d docker .elastic .co/kibana/kibana: 5.5 .1

创建logstash/logstash.yml,配置xpack对于logstash的监控:


 
 
  1. http.host: "0.0.0.0"
  2. path.config: /usr/share/logstash/pipeline
  3. xpack.monitoring.elasticsearch.url: http://localhost:9200
  4. xpack.monitoring.elasticsearch.username: elastic
  5. xpack.monitoring.elasticsearch.password: changeme

创建logstash/conf.d/logstash.conf,配置logstash的输入输出:


 
 
  1. input {
  2. file {
  3. path => "/tmp/access_log"
  4. start_position => "beginning"
  5. }
  6. }
  7. output {
  8. elasticsearch {
  9. hosts => [ "localhost:9200"]
  10. user => "elastic"
  11. password => "changeme"
  12. }
  13. }
>

启动Logstash容器:


 
 
  1. docker run -v /home/ubuntu/logstash/conf .d: /usr/share/logstash/pipeline/:ro -v /tmp: /tmp:ro \
  2. -v /home/ubuntu/logstash/logstash .yml: /usr/share/logstash/config/logstash .yml:ro --name my-logstash \
  3. --network host -d docker .elastic .co/logstash/logstash: 5.5 .1

测试一下,在/tmp/access.log中添加两行信息:


 
 
  1. echo "Hello World!" >> /tmp/access_log
  2. echo "Hello ELK!" >> /tmp/access_log

打开kibana的链接http://yourhost:5601,使用用户名/密码: elastic/changeme登录。在”Configure an index pattern”页面点击Create按钮。点击菜单Monitor即可查看ELK节点的状态 
Kibana Monitor
在Kibana点击Discover菜单,可以看到相关的日志信息: 
Kibana Discover

使用Elastic Search集群部署

Elastic官方提供了用docker-compose启动Elastic Search集群的方法,首先安装docker-compose


 
 
  1. curl -L https: //github.com/docker/compose/releases/download/1.15.0/docker-compose-Linux-x86_64 \
  2. > /usr/ local /bin/docker -compose
  3. sudo chmod +x /usr/ local/bin/docker -compose
  4. docker -compose --version

创建一个elasticsearch/docker-compose.yml文件:


 
 
  1. version: '2'
  2. services:
  3. elasticsearch1:
  4. image: docker.elastic.co/elasticsearch/elasticsearch: 5.5 .1
  5. container_name: elasticsearch1
  6. environment:
  7. - cluster.name=docker-cluster
  8. - bootstrap.memory_lock=true
  9. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  10. ulimits:
  11. memlock:
  12. soft: -1
  13. hard: -1
  14. mem_limit: 1g
  15. volumes:
  16. - esdata1:/usr/share/elasticsearch/data
  17. ports:
  18. - 9200:9200
  19. networks:
  20. - esnet
  21. elasticsearch2:
  22. image: docker.elastic.co/elasticsearch/elasticsearch: 5.5 .1
  23. environment:
  24. - cluster.name=docker-cluster
  25. - bootstrap.memory_lock=true
  26. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  27. - "discovery.zen.ping.unicast.hosts=elasticsearch1"
  28. ulimits:
  29. memlock:
  30. soft: -1
  31. hard: -1
  32. mem_limit: 1g
  33. volumes:
  34. - esdata2:/usr/share/elasticsearch/data
  35. networks:
  36. - esnet
  37. volumes:
  38. esdata1:
  39. driver: local
  40. esdata2:
  41. driver: local
  42. networks:
  43. esnet:

在/etc/sysctl.conf文件中追加一行

vm.max_map_count = 262144
 
 

执行命令应用变更:

sudo sysctl -p
 
 

在docker-compose.yml所在的目录执行以下命令,启动elastic search集群:


 
 
  1. docker stop my -elastic && docker rm my -elastic
  2. docker -compose up &

在Kibana中Monitor菜单中可以看到,Elastic Search集群已经正常工作: 
Elastic Cluster

修改默认密码

Elastic Docker Images的默认账号密码是elastic/changeme,使用默认密码是不安全的,假设要把密码改为elastic0。在Docker所在服务器上执行命令,修改用户elastic的密码:


 
 
  1. curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -H "Content-Type: application/json" \
  2. -d '{
  3. "password" : "elastic0"
  4. }'

设置密码,重启Kibana:


 
 
  1. docker stop my -kibana && docker rm my -kibana
  2. docker run -p 5601: 5601 -e "ELASTICSEARCH_URL=http://localhost:9200" -e "ELASTICSEARCH_PASSWORD=elastic0" \
  3. --name my -kibana --network host -d docker .elastic .co/kibana/kibana: 5.5 .1

修改logstash/logstash.yml,logstash/conf.d/logstash.conf中的密码,然后重启logstash服务

docker restart my-logstash
 
 

测试一下,在/tmp/access.log中添加两行信息:


 
 
  1. echo "Hello World!" >> /tmp/access_log
  2. echo "Hello ELK!" >> /tmp/access_log

打开kibana的链接http://yourhost:5601,使用用户名/密码: elastic/elastic0登录。在”Configure an index pattern”页面点击Create按钮。点击菜单Monitor即可查看ELK节点的状态,默认密码已经修改成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值