規則:模仿咱們發現問題後先檢查數據庫主從同步是否有問題的習慣
|
天機系統發現成單金額或驗證券數或短信發送條數環比大幅降低後,啓動檢查規則,
自動逐一檢查各類從庫的主從同步狀況。
若是發現主從延遲超過閾值,則天機 DashBoard 應浮出兩條紅色警告提示(可點擊進入):
若是發現主從同步失敗致使了同步中止,則應浮出兩條紅色警告提示(可點擊進入):
|
數據庫拓撲關係
|
在監控系統裏登記了 DB 的IP和分組後,其實已經能夠探測到 DB 之間的主從關係(包括級聯關係)了,能自動繪製出登記的全部數據庫服務器之間的關係。舉例以下:
圖2 自動繪製數據庫拓撲
|
Graphite 是一個企業級的監控工具,用 Python 編寫,採用 django 框架,sqlite 數據庫存儲,自有簡單文本協議通信,繪圖功能強大。最初由 Chris Davis 在 Orbitz 工做時,做爲一個輔助項目開發的,最終成了一個監控基礎工具,如他所言,Graphite provides real-time visualization and storage of numeric time-series data,重點解決: javascript
嚴格地說,Graphite 只是一個根據數據繪圖的工具,數據收集一般由第三方工具或插件完成,它自帶了 carbon 和 whisper,還可根據其協議選用別的數據源供其繪圖。官方描述,預計用 Ceres 替代 Whisper。 php
圖4 graphite圖例 html
簡單的文本協議和強大的繪圖功能使得它能夠方便地擴展到任何須要監控的系統上。豆瓣、Google、GitHub、Instagram、Uber等公司都用它。 java
3.3.CollectD node
C語言開發的 collectd 是一個較爲古老的工具,像 statsd 同樣它也作週期性收集統計數據,collectd 還管數據存儲。它可以經過插件支持檢測各類各樣的系統信息,如數據庫、UPS。 python
要想查看 collectd 收集的信息,還須要安裝 web 界面或者 Cacti,因而工做模式就是: mysql
collectd 做爲守護進程運行,每隔 10 秒收集信息,而 Cacti 每隔5分鐘運行一個 PHP 腳原本收集信息(二者的時間間隔可配置)。 ios
3.5.Grafana git
grafana 則相似 ES Kibana 的可視化面板,有着很是漂亮的圖表和佈局,目前支持 Graphite、Influxdb 和 Opentsdb) + influxdb(分佈式時序、事件和指標數據庫)等配搭。 github
http://監控系統域名/db/createImage/target/%5B%22stats.timers.mysql.172_16_999_991-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_992-3306.com_select_persecond.upper%22%2C%22stats.timers.mysql.172_16_999_993-3306.com_select_persecond.upper%22%5D/from/-1hour.html?width=492&n=0.8623758849623238
圖10 graphite 邏輯圖
圖11 Graphite 數據流轉圖
[default_1min_for_1day] pattern = .* retentions = 10s:1d能夠自定義 retentions,注意表達式裏每個時間間隔必須是第一個的倍數,也就是說,第一個是10s,那麼第二個只能是10s的整數倍,以此類推。
[stats] pattern = ^stats.* retentions = 10s:1d,30s:7d,1m:28d,15m:5y
[business_monitoring] pattern = ^business_monitoring\.retentions = 1m:5y