close

 

Info

 

  • ELK 並不是單一程式,而是分別由 Elasticsearch, Logstash, Kibana 所組成
  • Elasticsearch 擔任資料儲存,可以把它看成是資料庫的一種,同時他也可以實現全文檢索
  • Logstash 收集並處理資料,可以透過正規式將 log 的字串結構化
  • Kibana 則是提供網頁的呈現,串接 Elasticsearch 之後可以表現出簡潔美觀的視覺化報表

Installation

sudo apt-get update
sudo apt-get install docker.io
sudo usermod -aG docker $USER
sudo curl -L "https://github.com/docker/compose/releases/download/1.15.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
sudo sysctl -w vm.max_map_count=262144
git clone https://github.com/deviantony/docker-elk.git
cd docker-elk
# 建議先不要背景執行,有錯誤可以比較容易發現
docker-compose up
  • 傳統安裝方式是一個一個來,不過要串連三個程式並調整環境設定,非常容易卡關;一開始裝到一半我就遇到各種困難…後來突然想到這種需要安裝不同程式的環境,一定已經有人提供整合後的 docker images,後來一找果然有!網路上推薦使用:docker-elk
  • 基本環境需求:
    • 硬體需求較高,原本我使用 AWS EC2 t2.micro 一直當機,後來升級到 t2.medium 後才成功啟動
    • Docker version 1.10.0+
    • Docker Compose version 1.6.0+
    • git
  • ubuntu 16.04 Docker & Docker Compose 安裝(1.15.0 是寫文章時 Docker Compose 的最新版本,請依安裝時釋出的最新版本號自行更換)
  • 調整系統參數
  • git clone 並建立 docker container
  • 如果沒有錯誤,這個時候 http://domain:5601 應該已經可以看到 Kibana 的畫面(EC2 請開啟 port 5601)
  • 5185647_raw.png

  • http://domain:9200 也會看到 Elasticsearch 的 JSON 回應(EC2 請開啟 port 9200)
  • 5185648_raw.png

  • 另外建議可以安裝 Chrome extension ElasticSearch Head,只要連接 http://domain:9200/ 就可以直接連到 Elasticsearch 並看到原始數據
  • 5185649_raw.jpg

arrow
arrow

    danielhuang030 發表在 痞客邦 留言(0) 人氣()