基於docker部署ELK+beatfile全流程操作

巨坑提醒:ES和kibana的版本儘可能的保證一致,否則要去修改很多配置信息,而且不一定能安裝成功,現象:ES安裝成功了但是kibana無法鏈接到ES,報紅(red)。

1、安裝完後的ELK訪問路徑

ES訪問 :http://localhost:9200/

Es-head訪問: http://localhost:9100/

kibana訪問:http://localhost:5601

2、ElasticSearch

可以事先搜索一下:

docker search elasticsearch

第一步:拉取鏡像

docker pull docker.elastic.co/elasticsearch/elasticsearch:5.6.16

注意可以是其他版本,本次安裝拉取"5.6.16"版本,

下載需要一段時間,完畢後可以查看鏡像,注意:如果下載不成功,可以查找其他版本。

docker images

第二步:運行

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

ElasticSearch的默認端口是9200,我們把宿主環境9200端口映射到Docker容器中的9200端口,就可以訪問到Docker容器中的ElasticSearch服務了,同時我們把這個容器命名爲es。

第三步:配置跨域

1)進入容器

docker exec -it es /bin/bash

其中"es"是容器名稱

2)修改 elasticsearch.yml

# 顯示文件
ls
結果如下:
LICENSE.txt  README.textile  config  lib   modules
NOTICE.txt   bin             data    logs  plugins
# 進入配置文件夾
cd config
# 顯示文件
ls
結果如下:
elasticsearch.keystore  ingest-geoip  log4j2.properties  roles.yml  users_roles
elasticsearch.yml       jvm.options   role_mapping.yml   users
# 修改配置文件
vi elasticsearch.yml
#==========================================重點在這==================================
# 加入跨域配置(需要加到最後)
http.cors.enabled: true
http.cors.allow-origin: "*"

 

第四步:重啓容器

docker restart es 

第五步:訪問地址

http://localhost:9200/

顯示效果如下就成功了

{
 "name" : "a12CcOw",
 "cluster_name" : "docker-cluster",
 "cluster_uuid" : "Zi4eufCQQ6y88rO0lt9YVw",
 "version" : {
   "number" : "6.3.2",
   "build_flavor" : "default",
   "build_type" : "tar",
   "build_hash" : "053779d",
   "build_date" : "2018-07-20T05:20:23.451332Z",
   "build_snapshot" : false,
   "lucene_version" : "7.3.1",
   "minimum_wire_compatibility_version" : "5.6.0",
   "minimum_index_compatibility_version" : "5.0.0"
 },
 "tagline" : "You Know, for Search"
}

3、ElasticSearch-Head

爲什麼要安裝ElasticSearch-Head呢,原因是需要有一個管理界面進行查看ElasticSearch相關信息

第一步:拉取

docker pull mobz/elasticsearch-head:5

第二步:安裝

docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

第三步:訪問地址

http://localhost:9100/

見如下效果就成功了

 

4、安裝logstash

第一步:拉取鏡像

docker pull docker.elastic.co/logstash/logstash:5.6.16

第二步:運行

docker run -d --name es_logstash  -p 5044:5044 -e "XPACK.MONITORING.ELASTICSEARCH.URL=http://10.10.37.82:9200" docker.elastic.co/logstash/logstash:5.6.16

docker run --name es_logstash logstash:5.6.16

容器名稱"es_logstash“ ,版本”5.6.16“

第三步:修改logstash.yml文件

進入容器:

docker exec -it es_logstash /bin/bash

進入目錄cd config ,打開並修改配置文件

vi logstash.yml

 

http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.url: http://10.10.37.82:9200
xpack.monitoring.elasticsearch.username: elastic
xpack.monitoring.elasticsearch.password: changme

注意,一定是本機器IP地址。

再進入pipeline文件夾,對logstash.conf文件進行修改。

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {                                                                                                                                                                                             
            hosts => ["10.10.37.82:9200"]                                                                                                                                                                           
            user => elastic                                                                                                                                                                                         
            password => changeme                                                                                                                                                                     
            index => "log-%{+YYYY.MM.dd}"                                                                                                         }
}

 

第四步:重啓logstash

docker restart es_logstash

 

 

5、安裝kibana

第一步:拉取

docker pull kibana:5.6.16

注意版本一定要跟ES相當。

第二步:安裝

docker run --name es_kibana -p 5601:5601 -d -e ELASTICSEARCH_URL=http://10.10.37.82:9200 kibana:5.6.16

 

注意:我下載的版本是5.6.16

第三步:修改kibana配置文件

docker exec -it es_logstash /bin/bash
cd etc/kibana
vim kibana.yml

修改kibana.yml

elasticsearch.username: "elastic"
elasticsearch.password: "changeme"

訪問地址:http://127.0.0.1:5601

 

6、安裝filebeat

第一步:拉取

docker pull filebeat:5.6.16

第二步:增加filebeat.yml文件和log文件夾

filebeat:
  prospectors:
  - type: log
    enable: true
    paths:  
    - /var/log/testlog/*.log
output:
  logstash:
    hosts: ["10.10.37.82:5044"]

第三步:運行filebeat

docker run -d --name=filebeat -e /var/log/testlog/:/var/log/testlog/  -v /usr/share/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:5.6.16

第四步:查看kibana

可以看到日誌採集成功

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章