0
点赞
收藏
分享

微信扫一扫

docker 安装 ElasticSearch,Logstash,Kibana

docker 安装 ElasticSearch,Logstash,Kibana

------ ElasticSearch ------

下载镜像 查看镜像

docker pull elasticsearch:7.1.1

docker images

创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))

docker network create somenetwork

#创建挂载目录 mkdir -p /data/elk/es/{config,data,logs}

#修改es配置文件 vim /data/elk/es/config/elasticsearch.yml

cluster.name: "myes" network.host: 0.0.0.0 http.port: 9200 xpack.security.enabled: true

运行 elasticsearch

docker run -it -d -p 9200:9200 -p 9300:9300 --name myes1 -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e "discovery.type=single-node" --restart=always -v /home/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/elasticsearch/data:/usr/share/elasticsearch/data -v /home/elasticsearch/log:/usr/share/elasticsearch/logs elastic/elasticsearch:7.1.1

查看容器状态

docker ps

检测 elasticsearch 是否启动成功

curl 127.0.0.1:9200

#成功标识是控制台出现如下东西 { "name" : "e106a7c0604a", "cluster_name" : "docker-cluster", "cluster_uuid" : "K56VTNZATqKxukzX4bULeA", "version" : { "number" : "7.1.1", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "7a013de", "build_date" : "2019-05-23T14:04:00.380842Z", "build_snapshot" : false, "lucene_version" : "8.0.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }

------ Kibana ------

下载镜像 查看镜像

docker pull kibana:7.1.1

docker images

运行 Kibana

docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1

查看容器启动状态

docker ps

访问 http://127.0.0.1:5601 (启动可能会较慢,如失败等几秒再尝试刷新一下)

------ Logstash ------

下载镜像 查看镜像

docker pull logstash:7.1.1 docker images

docker run -it -d -p 5044:5044 --name logstash --net somenetwork -v {path}/logstash.yml:/usr/share/logstash/config/logstash.yml -v {path}/conf.d/:/usr/share/logstash/conf.d/ logstash:7.1.1

查看容器运行状态 docker ps

------ Filebeat ------

下载镜像 查看镜像

docker pull store/elastic/filebeat:7.1.1 docker images

下载默认官方配置文件 (暂时在当前目录创建一个 filebeat 目录 用来放 filebeat 配置文件)

curl -L -O https://raw.githubusercontent.com/elastic/beats/7.1/deploy/docker/filebeat.docker.yml

打开配置文件

vim filebeat.docker.yml

增加下面的配置 (收集 .log 数据 把数据发送到当前网络5044端口 (logstash 端口) )

这个地方的 .log 要保证有几条测试数据

filebeat.inputs:

  • type: log enabled: true paths:
  • /var/log/nginx/*.log

output.logstash: hosts: ['{ip}:5044']

运行Filebeat

请更改下面两个路径

{nginx-path} = 本地的日志文件目录(映射到容器中 作为数据源) {path} = Filebeat配置文件路径 {ip} = elasticsearch 地址

docker run --name filebeat --user=root -d --net somenetwork --volume="{nginx-path}:/var/log/nginx/" --volume="{path}/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" --volume="/var/lib/docker/containers:/var/lib/docker/containers:ro" --volume="/var/run/docker.sock:/var/run/docker.sock:ro" store/elastic/filebeat:7.1.1

查看容器启动状态

docker ps

启动成功

现在去 Kibana 查看数据,已经有数据了

举报

相关推荐

0 条评论