Elastic Observability 簡介 淺談四大功能 Logs、Metrics、Apm、Uptime

Lin Yen-Cheng on 2020-09-05 4 min. read

繼前面幾篇文章教大家怎麼安裝 Filebeat (Logs)Metricbeat (Metrics)APM (Apm) 後,這篇文章將淺談 Observability 及四大功能 Logs、Metrics、Apm、Uptime。

Observability 簡介

目標是可以偵測並快速找到服務的停機時間、錯誤、回應過慢的可能原因,讓系統達到:

  • 可用性 (usability)
  • 高可用性 (high availability)
  • 穩定性 (stability)

Observability 可以看成是其中一種搜尋案例,主要

  • Logs: 集中管理各種實體 Log 資料
  • Metrics: 監控並了解 infrastructure、apps、services 相關指標趨勢,更進一步也可提供告警機制
  • Apm: 著重在哪些服務被使用,讓效能瓶頸更容易被找到
  • Uptime: 主要協助監控主機是否活著

Observability 的目的是幫助我們快速找到問題,幾個名詞定義

  • SLI (Service Level Indicators): Uptime
  • SLO (Service Level Objectives): 95%
  • SLA (Service Level Agreement): Uptime 95%

舉例來說最後我們的目標就會是希望某個系統的 Uptime 維持在 95%,並在低於 95% 的時候有相關紀錄甚至是提供告警的機制。

如何使用

如果是 DevOops 或是系統維運的團隊,會需要監控機台的相關資訊,前面幾篇文章有介紹怎麼安裝使用 Elastic Cloud 提供的 Filebeat (Logs)Metricbeat (Metrics)APM (Apm) 去進行資料蒐集與系統和服務監控。

  • Filebeat (Logs)
    • Web Sever log
    • App log
    • DB log
    • Container log
  • Metricbeat (Metrics)
    • Container Metric
    • Host Metric
    • DB Metric
    • 網路流量
    • 硬碟空間
  • APM (Apm)
    • 服務使用情況
    • 交易狀況
    • 服務依賴狀況
  • Heartbeat (Uptime)
    • Uptime
    • 回應速度

舉例來說如果今天我們使用 Nginx 當成我們的附載平衡伺服器時,我們可以安裝:

  • Metricbeat: 監控相關連線數及 CPU 狀況
    • connections
    • CPU
  • Filebeat: 蒐集相關 Log
    • access log
    • error log
  • Kibana: 要注意 Index Pattern 需要讓 kibana 可以辨識 (ECS)

ECS (Elastic Common Schema)

在我們照著相關範例啟動並查看 Dashborad 時,會發現 ECS (Elastic Common Schema) 這個名詞,ESC 是一種新規格,讓使用者以一致、可定義的方式整理 Elasticsearch 中資料結構,協助分析不同來源的數據。

透過 ECS,使用者可以更方便的去使用儀錶板或是 Machine Learning 等工具分析内容,更方便的去建立並搜尋。

小結

方便的 Observability 工具讓我們可以更容易地監控機器與服務,進一步也可以透過 Elastic Cloud 提供的機器學習視覺化工具去分析了解我們的指標或資料。


喜歡這篇文章,請幫忙拍拍手喔 🤣

share