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監控介面如下圖
