docker ELK elasticsearch kibana

2020-07-07  本文已影响0人  明爷们儿_d212

1.下载ELK

用latest是下载不了ELK 的

docker pull elasticsearch:7.7.0
docker pull kibana:7.7.0
docker pull logstash:7.7.0 
docker pull filebeat:7.7.0 

2.安装插件 elasticsearch-head:

(注意:5.X以上的版本,需要单独启动 elasticsearch-head 服务)
拉取镜像并启动elasticsearch-head:

docker pull mobz/elasticsearch-head:5
docker images 

REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
docker.io/logstash                 7.7.0               30dcca1db5e9        7 weeks ago         740 MB
docker.io/kibana                   7.7.0               eadc7b3d59dd        7 weeks ago         1.15 GB
docker.io/elasticsearch            7.70               7ec4f35ab452        7 weeks ago         757 MB
docker.io/prima/filebeat          latest               070a535b6ea6       175 MB
docker.io/mobz/elasticsearch-head  5                   b19a5c98e43b        3 years ago         824 MB

一、安装elasticsearch

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.7.0

测试:
curl http://localhost:9200

{
  "name" : "130ec4d8384a",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "bglBAXgoQMyoq4Qg56Mzjw",
  "version" : {
    "number" : "7.7.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
    "build_date" : "2020-05-12T02:01:37.602180Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

进入容器设置

docker exec -it elasticsearch /bin/bash

vi /usr/share/elasticsearch/config/elasticsearch.yml

# 修改如下 : 下面的配置是关闭跨域验证 
http.cors.enabled: true 
http.cors.allow-origin: "*"

# 退出容器
exit 

重启
docker restart elasticsearch

还有一种 外挂文件的方法,理论相同,不用进入容器:

docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /home/elk/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.7.0

1.1 es-head搭建

docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5

打开浏览器访问:http://192.168.X.X:9100(X.X 为自己的IP)
在第一行中Elasticsearch后面,
原值为http://localhost:9200改为 http://192.168.X.X:9200
就可以看到信息

二、安装kibana

1 成功启动

docker run -p 5601:5601 --name kibana --link elasticsearch:elasticsearch -e "elasticsearch.hosts=http://192.168.X.X:9200" -d docker.io/kibana:7.7.0

还有一种 外挂文件的方法,理论相同,不用进入容器:
-v /home/elk/kibana.yml:/usr/share/kibana/config/kibana.yml

进入到容器内部:

docker exec -it kibana /bin/bash
#找到kibana的配置文件: 
vi /usr/share/kibana/config/kibana.yml

# 进行修改 ,注意格式  [ "  " ] 
# 修改配置文件,因为要绕过x-pack的安全检查
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.X.X:9200" ]
monitoring.ui.container.elasticsearch.enabled: false

# 退出容器
exit 

#重启容器:
docker restart kibana

启动成功后访问5601端口即可进入kibana管理界面
http://192.168.X.X:5601/app/kibana

三、安装logstash

docker run -d -u 0 --name logstash -p 5044:5044 docker.io/logstash:7.7.0

同理可以先创建配置文件。
-v /home/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf

docker ps 看一下内容吧

 docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Ports}}"
CONTAINER ID        NAMES               PORTS
d4d586cbe1d2        kibana              0.0.0.0:5601->5601/tcp
8b537d35b3fa        logstash            0.0.0.0:5044->5044/tcp, 9600/tcp
130ec4d8384a        elasticsearch       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp

进入容器:

docker exec -it logstash /bin/bash

#找到文件:
vi /usr/share/logstash/pipeline/logstash.conf

#修改配置文件
input {
    tcp {
        port => 5044
        codec => "plain"
    }
}
filter{

}
output {
    # 这个是logstash的控制台打印(进行安装调试的开启,稍后成功后去掉这个配置即可)
    stdout {
        codec => rubydebug
    }
    # elasticsearch配置
    elasticsearch {
        hosts => ["elasticsearch的IP:9200"]
    }
}

#重启容器:
doccker restart logstash
上一篇 下一篇

猜你喜欢

热点阅读