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 服務(wù))
拉取鏡像并啟動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"
}
進(jìn)入容器設(shè)置
docker exec -it elasticsearch /bin/bash
vi /usr/share/elasticsearch/config/elasticsearch.yml
# 修改如下 : 下面的配置是關(guān)閉跨域驗證
http.cors.enabled: true
http.cors.allow-origin: "*"
# 退出容器
exit
重啟
docker restart elasticsearch
還有一種 外掛文件的方法,理論相同领跛,不用進(jìn)入容器:
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
還有一種 外掛文件的方法荷科,理論相同,不用進(jìn)入容器:
-v /home/elk/kibana.yml:/usr/share/kibana/config/kibana.yml
進(jìn)入到容器內(nèi)部:
docker exec -it kibana /bin/bash
#找到kibana的配置文件:
vi /usr/share/kibana/config/kibana.yml
# 進(jìn)行修改 ,注意格式 [ " " ]
# 修改配置文件,因為要繞過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端口即可進(jìn)入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
同理可以先創(chuàng)建配置文件咬崔。
-v /home/elk/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
docker ps 看一下內(nèi)容吧
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
進(jìn)入容器:
docker exec -it logstash /bin/bash
#找到文件:
vi /usr/share/logstash/pipeline/logstash.conf
#修改配置文件
input {
tcp {
port => 5044
codec => "plain"
}
}
filter{
}
output {
# 這個是logstash的控制臺打印(進(jìn)行安裝調(diào)試的開啟烦秩,稍后成功后去掉這個配置即可)
stdout {
codec => rubydebug
}
# elasticsearch配置
elasticsearch {
hosts => ["elasticsearch的IP:9200"]
}
}
#重啟容器:
doccker restart logstash