使用ELK實做MariaDB監控分析平台

Views: 972

MariaDB是MySQL的一個分支,MariaDB在5.5版本(含)以前一直和MySQL維持高度的兼容性,MariaDB 10.0開始以5.5版為基礎,並加入自行開發的新功能,故已和MySQL不完全兼容,如果考慮兼容性的話,請使用MariaDB 5.5版本

監控工具其一 : Metricbeat
Metricbeat可幫助我們蒐集MariaDB上的GLOBAL STATUS資訊,由STATUS裡我們可得知以下資訊

  • Threads_cached: 閒置可用的連線(連線是可以回收再利用的) [註一]
  • Threads_created: MariaDB建立過的連線數
  • Threads_connected: MariaDB目前的連線數
  • Threads_running: 執行中的連線,不代表目前的連線數,有時連線建立後會處於Sleep狀態
  • open_tables : 目前打開的table總數,也就是所有connection打開的table總數 [註二]
  • opened_tables : 曾打開過的table數總和,這是計數器
  • open_files : 每建立一條連線就會開啟一些檔案 [註三]

註一 : 
如果Threads_cached不夠用,會導致Threads_created一直建立新連線(耗資源)

註二 :
table_open_cache:指定表快取記憶體的大小,如果你發現open_tables等於table_open_cache,並且opened_tables在不斷增長,那麼你就需要增加table_open_cache的值了

註三 :
如果OS上能開啟的檔案數太少,會相對影響到能建立的連線數

監控工具其二 : Packetbeat
Packetbeat可幫助我們蒐集MariaDB上的封包資訊,由MariaDB的封包資訊我們可得知

  • MariaDB的query狀態 (OK、 Error)
  • MariaDB的query執行過哪些DML Method (Select、Insert、Delete、SHOW…)
  • MariaDB執行的query statement
  • MariaDB的query回應時間
  • MariaDB執行了哪些table
  • MariaDB曾發生過哪些錯誤
    具體支援封包請參考MySQL fields

實做MariaDB監控介面如下圖 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *