跳至主要內容

[docker] install ELK

方法一:個別安裝
安裝 ElasticSearch
從Docker Hub下載安裝官方的ElasticSearch
$ sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:6.2.4
啟動 ElasticSearch
$ sudo docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.2.4
安裝好 ElasticSearch之後,需先設定 vm.max_map_count值,至少需大於262144這個值,設定需在 /etc/sysctl.conf 檔案中加入以下這行:
vm.max_map_count=262144
如果要在線上系統直接啟動設定,可以執行以下這行指令:
$ sudo sysctl -w vm.max_map_count=262144
安裝 Kibana
$ docker pull docker.elastic.co/kibana/kibana:6.2.4
安裝 Logstash
$ docker pull docker.elastic.co/logstash/logstash:6.2.4
如果要安裝 ELK各版本,可直接到 Docker @ Elastic 看看要安裝哪個 ELK Docker 的版本。
方法二:套裝ELK Docker
在 Docker Hub中可以找到好幾套ELK的影像檔,其中下載排名最多的是 sebp/elk,其安裝方式很簡單,只要一行指令就安裝好了,指令如下:
$ sudo docker pull sebp/elk
啟動 ELK
$ sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk
第一次啟動時,出現Starting Elasticsearch Server [fail]的錯誤,推究其原因,應該是我虛擬機的記憶體設定為1G,太小了,另一個可能是我沒有設定vm.max_map_count,這兩個修改後,就可正常啟動了。
檢查 ElasticSearch是否正常啟動,可以在瀏覽器上輸入:
http://your_ip:9200
安裝 docker-compose
上述指令會一直佔用終端機,可以改用 docker-compose 這個工具,一次啟動多個 Docker,安裝方法如下:
$ sudo apt-get install docker-compose
docker-compose會讀取一個設定檔 docker-compose.yml,如果使用方法一安裝,設定檔內容如下:

version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.2.4
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      ES_JAVA_OPTS: "-Xms1g -Xmx1g"
    networks:
      - elk
  logstash:
    image: docker.elastic.co/logstash/logstash:6.2.4
    ports:
      - "5000:5000"
    networks:
      - elk
    depends_on:
      - elasticsearch
  kibana:
    image: docker.elastic.co/kibana/kibana:6.2.4
    ports:
      - "5601:5601"
    networks:
      - elk
    depends_on:
      - elasticsearch
networks:
  elk:
    driver: bridge

如果使用方法二安裝,設定檔內容如下:

elk:
  image: sebp/elk
  ports:
    - "5601:5601"
    - "9200:9200"
    - "5044:5044"

啟動或重新啟動定義在docker-compose.yml 的所有應用程式,可以加上 -d,改成在背景執行
$ docker-compose up -d
停用定義在docker-compose.yml 的應用程式
$ docker-compose down
重新啟動之前創建但已停止的容器,不創建新的容器。
$ docker-compose start
停止已經處於運行狀態的容器,但不删除它。
$ docker-compose stop
安裝ElasticSearch、Logstash、Kibana

分類:docker
由 Compete Themes 設計的 Author 佈景主題