什麼是 ELK?

Ming-der Wang

ming@log4analytics.com

#DevOps 系列課程 (ㄧ)

TurboTeam 集先鋒科技

#DevOps = ~CA(L)MS

C(ulture) - 文化

A(utomation) - 自動化

L(ean) - 敏捷

M(etric) - 監控

S(haring) - 分享 

M(onitoring & Measuring)

- 監控與量測

  • Metric - CPU, Memory, Disk, Networking
  • Logs - Application Logs, System Logs...
  • SNMP - devices, switches...
  • Security - authd.log, auth.log, fail2ban.log
  • IoT - any data format with timestamps

傳統的 monitoring 工具

傳統的 website 架構

傳統的 website 軟體

現在的 website 架構

現在的 website 軟體

未來的 docker 世界

ELK = E(lasticsearch)

+ L(ogstash)

+ K(ibana)    

<- this is an

elk as well    

Elasticsearch 漸漸被廣泛使用

這 3 年Elasticsearch 變成首選

 ELK 用在哪裡?

 ELK 也能這樣用

用 docker

大量部署

ELK 最簡單的安裝架構

... 多台

ELK 最簡單的安裝架構

... 多台

以 IIS Web Server 為例

 

ELK log 的資料流

Redis 當 buffer

logstash

redis

Logstash config

logstash config 檔的位置

/opt/logstash/bin/logstash -f turboteam-iislog-cell.conf
/opt/logstash/bin/logstash -f turboteam-iislog-cell.conf --configtest

Configuration OK

Logstash config 範例

Elasticsearch Cluster 架構

  • indexing

  • 全文檢索

  • 查詢主機

  • 分散式資料庫

  • cluster 架構

  • 自動 shards

  • 自動 replicas

  • REST API

4 nodes 的實體架構

資料複製與 sharding

elasitcsearch 設定檔

修改 /etc/elasticsearch/elasticsearch.yml

 

sudo service elasticsearch restart

Elasticsearch Plugins

- HQ, head, BigDesk, SQL ...

安裝 plugin 指令:

cd /usr/share/elasticsearch

 

sudo bin/plugin install royrusso/elasticsearch-HQ

sudo bin/plugin install mobz/elasticsearch-head

sudo bin/plugin install lukas-vlcek/bigdesk

 

http://10.1.100.121:9200/_plugin/hq

http://10.1.100.121:9200/_plugin/head/

Kibana 做資料視覺化的 GUI

  • Web GUI

  • 資料視覺化

  • auto refresh

  • 容易查詢

  • 容易編輯

  • Dashboard

  • 輸出入 JSON

  • Plugins

Dashboard

自己做自己喜歡的畫面

Q & A

TurboTeam 集先鋒科技

#DevOps 系列課程 (一) - Taipei Meetup

By Ming-der Wang

#DevOps 系列課程 (一) - Taipei Meetup

  • 1,634