使用docker快速部署ELK

使用docker快速部署elk

1.软件&工具介绍
ELK是三个开源软件的缩写,分别表示: Elasticsearch, Logstash, Kibana,它们都是开源软件。新增了一
个FileBeat,它是一个轻量级的日志收集处理I具(Agent), Filebeat占用资源少, 适合于在各个服务器上
搜集日志后传输给Logstash,官方也推荐此工具。
●Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布
式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索赖
载等。
●Logstash主要是用来日志的搜集、 分析、过滤日志的工具,支持大量的数据获取方式。-般工作方
式为c/s架构,client端安装在需 要收集日志的主机上,server端负责将收到的各 节点日志进行过
滤、修改等操作在一并发往elasticsearch上去。
●Kibana也是一个开源和免费的工具,Kibana可以为Logstash和ElasticSearch提供的日志分析友好
的Web界面,可以帮助汇总、分析和搜索重要数据日志。
Filebeat隶属于Beats。目前Beats包含四种工具:
1. Packetbeat (搜集网络流量数据)
2. Topbeat (搜集系统、进程和文件系统级别的CPU和内存使用情况等数据)
3. Filebeat (搜集文件数据)
4. Winlogbeat (搜集Windows事件日志数据)

2.拉取ELK集成镜像

ELK镜像地址:https://hub.docker.com/r/sebp/elk/tags

[root@localhost ~]# docker full sebp/elk

  注:不加版本号默认拉取最新的集成镜像版本(本次拉的最新版本为7.9.2)

3.启动ELK

[root@localhost ~]# echo "vm.max_map_count=262144" > /etc/sysctl.conf
[root@localhost ~]# sysctl -p
[root@localhost ~]# docker run -dit --name elk
  -p 5601:5601
  -p 9200:9200
  -p 5044:5044
  -v /opt/elk-data:/var/lib/elasticsearch
  -v /opt/elk/logstash:/etc/logstash/conf.d
  -v /etc/localtime:/etc/localtime
  --restart=always sebp/elk

4.配置ELK 

进入容器

[root@localhost ~]# docker exec -it elk /bin/bash

     /etc/logstash/        ## logstash配置文件路径
  /etc/elasticsearch      /# es配置文件路径
    /var/1og/                    ##日志路径

 配置Logstash  

[root@localhost ~]# cd /opt/elk/logstash/
[root@localhost logstash]# vim logstash.conf


input {
tcp {
port => 5044
codec => json_lines
}
}

output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
}  

5.启动ELK服务

[root@localhost ~]# docker restart elk
[root@localhost ~]# docker ps

  访问 http://[ip]:5601

 访问: http://locahost:9200

原文地址:https://www.cnblogs.com/yuwang825/p/13810296.html