ELK

ELK

ELK

Posted by BY Skyleaf on December 20, 2018

前言

ELK log整合系統

图

ELK一般介紹

  • ELK:
    • Elasticsearch
    • Logstash
    • Kibana

操作須知

  1. ELK 6.5.4
  2. Beats: (Filebeat, Winlogbeat, packetbeat, healthcheck )
  3. nssm
  4. Cmder
  5. Cerebro (kopf)

操作想法

很多專案,對應的就是很多Log,需要查看每台機器的Log,難道一台一台進去看嗎?該怎麼做呢? 登嘞: ELK,以前我只使用ElasticSearch跟Logstash。但時日一久後,發現還有推出Beats系列產品。如果你有10個不同專案,每個專案有3台機器要部屬,以前做法是開一個共同的環境來接手所有的Log檔案。但這樣很麻煩,而且要麻煩管機器的同事。真的很麻煩XD。

透過Elasticsearch去存log資料,透過Logstash去接收log資料,透過Kibana介面去查看log資料。Filebeat就是client端做扒log資料到發送log資料到Server端給Logstash。優點就是解決跟其他單位溝通時間。

步驟

  1. 下載JDK
  2. 下載ELK,Beats
  3. 透過Cmder安裝 (Default as Powershell)。

  4. 設定Java環境變數,要指定到jdk的folder不是jre
  5. 安裝Elasticsearch,開啟Service
     Invoke-Expression -command "D:\elk\elasticsearch\bin\elasticsearch-service install"
     Invoke-Expression -command "D:\elk\elasticsearch\bin\elasticsearch-service manager"
    
  6. 查看:
     curl http://127.0.0.1:9200/
    
  7. 建立logstash 的config檔案
    • 主要設定config值:
  8. 安裝logstash

     Invoke-Expression –command "D:\ELK\nssm\win64\nssm install Logstash"
    

    Dependency設定:

    elasticsearch-service-x64

    logstashimg

     Invoke-Expression –command "D:\ELK\logstash\bin\logstash-plugin install logstash-input-beats"
    
  9. 安裝Kibana:
    Invoke-Expression –command "D:\ELK\nssm\win64\nssm install Kibana" 
    

    Dependency:

    elasticsearch-service-x64

    Logstash

  10. 查看:

    curl http://localhost:5601
    
  11. 接著安裝Beats:

    PowerShell.exe -ExecutionPolicy UnRestricted -File D:\ELK\filebeat\install-service-filebeat.ps1
    
    PowerShell.exe -ExecutionPolicy UnRestricted -File D:\ELK\heartbeat\install-service-heartbeat.ps1
    
    PowerShell.exe -ExecutionPolicy UnRestricted -File D:\ELK\packetbeat\install-service-packetbeat.ps1
    
    PowerShell.exe -ExecutionPolicy UnRestricted -File D:\ELK\winlogbeat\.\install-service-winlogbeat.ps1
    
  12. 去filebeat\filebeat.yml

    filebeatimg

    • 不填上這些就是送不到我的logstash。而且不是公司的exception結構也是,我拿家裡的log也是沒填這個送不出去 送上去的index

    filebeatconfigtimg

  13. 安裝cerebro

    • 這個是kopf的前生,以前用來觀察elaasticsearch index的。但是建議加密碼,別給外人用,不然他給你全刪了,你就GG。

實戰:遇到的一些問題

Q: Filebeat 讀取Log,傳不到Logstash?
A: 可以直接傳給Elasticsearch,但就是打不到Logstash,後來加了上圖參數就可行了

閒言閒語

  1. 要懂Cmder
  2. 目前只是單一node,需要改成cluster架構
  3. 提供另一個Gigi81大大製作的一鍵安裝版本

來源

  1. elk-windows-installer
  2. ELK Stack on Windows Server
  3. ELK Doc