輕鬆管理您的MongoDB,
監控、告警、備份,一次到位!

Gudab : 企業級MongoDB監控管理平台

MongoDB是企業最普遍使用的NoSQL資料庫,但若缺乏適當的監控管理工具將會使企業在系統營運過程無法即時掌控與解決問題,進而隱藏管理風險 。Gudab提供了企業所需的管理功能,包含效能指標、監控、告警以及備份還原等,讓企業在使用MongoDB時,能同時滿足全方位的管理要求。


叢集架構自動偵測

Auto-discovery 自動偵測並描繪系統拓樸,將所有叢集內MongoDB自動列出,並顯示主機型態與清單以便設定進行監控。


MongoDB系統活動日誌

記錄受監控之MongoDB Server的活動歷程,以利稽核作


指標監控

可針對CPU、RAM、Disk、Connection、Index、Throughput等超過30種以上指標進行監控,透過即時圖表,顯示系統狀況。


個人化儀表板

提供管理者針對監控指標自行設定儀表板組合,以利日常監控管理工作。也可透過我的最愛方式將監控指標加入清單。


系統告警

透過伺服器清單以及監控指標,管理者可個別針對伺服器設定所有監控指標之告警觸發動作,支援E-mail與SNMP等告警通知方式。


備份還原

可進行差異備份以及匯出與匯入還原,並可進階設定監控目標。

功能特色

  • 叢集架構自動偵測 Auto-discovery 自動偵測並描繪系統拓樸,將所有叢集內MongoDB自動列出,並顯示主機型態與清單以便設定進行監控。
  • MongoDB系統活動日誌 記錄受監控之MongoDB Server的活動歷程,以利稽核作。
  • 指標監控 可針對CPU、RAM、Disk、Connection、Index、Throughput等超過30種以上指標進行監控,透過即時圖表,顯示系統狀況。
  • 個人化儀錶板 提供管理者針對監控指標自行設定儀表板組合,以利日常監控管理工作。也可透過我的最愛方式將監控指標加入清單。
  • 系統告警 透過伺服器清單以及監控指標,管理者可個別針對伺服器設定所有監控指標之告警觸發動作,支援E-mail與SNMP等告警通知方式。
  • 備份還原 可進行差異備份以及匯出與匯入還原,並可進階設定監控目標。

產品優勢

  • 針對企業管理需求 完整企業管理所需功能,包含系統儀表板、監控與告警、備份還原、權限管理等,並提供系統規劃建置等專業服務,讓您使用MongoDB獲得最完整的支援。
  • 無需安裝Agent程式 採用 "訪問式" 取得各項指標和數據,無須在被監控端MongoDB另外安裝 Agent,大幅減少系統運維上的困擾。
  • 瀏覽器操作 透過瀏覽器即可操作,能讓客戶於遠端監控 MongoDB Server。
  • 完整監控指標 提供超過30種指標, 提供全方位各式指標數據以供管理人員了解MongoDB運行狀況。
  • 最快時間更新 Stay up-to-date with MongoDB 。Gudab支援最新MongoDB版本,從 version 3.4 開始以最快速度跟隨MongoDB新版本的發行。
  • 完整 MongoDB 專業服務 MongoDB 全方位服務,從資料庫架構規劃,建置,到異地備援,全備份,系統告警整合等專業顧問與諮詢。

Gudab產品特色

  • 針對企業管理需求

    完整企業管理所需功能,包含系統儀表板、監控與告警、備份還原、權限管理等,並提供系統規劃建置等專業服務,讓您使用 MongoDB 獲得最完整的支援。

  • 無需安裝 Agent 程式

    採用 "訪問式" 取得各項指標和數據,無須在被監控端 MongoDB 另外安裝 Agent,大幅減少系統運維上的困擾。

  • 瀏覽器操作

    透過瀏覽器即可操作,能讓客戶於遠端監控 MongoDB Server.

  • 完整監控指標

    提供超過30種指標, 提供全方位各式指標數據以供管理人員了解 MongoDB 運行狀況。

  • 最快時間更新

    Stay up-to-date with MongoDB 。Gudab 支援最新 MongoDB 版本,從 version 3.4 開始以最快速度跟隨 MongoDB 新版本的發行。

  • 完整 MongoDB 專業服務

    MongoDB 全方位服務,從資料庫架構規劃,建置,到異地備援,全備份,系統告警整合等專業顧問與諮詢。

Gudab簡介

Gudab簡介

Gudab是MongoDB的管理軟體,提供企業單位在使用MongoDB時所需之各種管理功能,包含系統監控、備份還原、儀表板、異常告警、活動與使用者管理等6大模組。Gudab會主動收集與匯整環境中各個MongoDB的資訊,使用者透過瀏覽器即可使用各模組的功能進行系統的監控與管理。

安裝

監控對象MongoDB支援說明

(一)支援MongoDB版本:v2.6 ~ 3.4

(二)支援OS版本 a.Rehat6、Redhat7
b.CentOS6、CentOS7
c.Ubuntu14、Ubuntu16
d.Windows Server 2008 R2 64-bit and later

(三)若監控對象的主機OS為Linux,則需在此主機建立一個Linux Account(例如: Gudab),以key做認證登入(ssh免密碼),並在設定檔Gudab/config/metrics_os_fetcher/linux_SSH_default_Info. properties 用以取得Host Status指標(CPU/Memory/Storage/Swap);若監控對象的主機OS為Windows,暫不支援Host Status指標。

Gudab系統需求

(一)Java 1.8

(二)OS版本
a.Redhat6、Redhat7
b.CentOS6、CentOS7
c.Ubuntu14、Ubuntu16
d.Windows Server 2008 R2 64-bit and later

(三)硬體資源
a.CPU:最低需求 4core、建議8core以上。
b.RAM:最低需求 16GB、建議32GB以上。
c.Disk: 所需準備的空間 = 安裝 + 指標 + 備份
i.安裝:300MB。
ii.指標:最低需求為 10GB,建議 20GB。( 10 host/month)。
iii.備份:最低需求為 data size的 1.5倍、建議 2.5倍以上。

註:至少一台ConsoleDB (MongoDB),只監控不備份。

Gudab Express下載安裝步驟

(步驟一)到官網免費下載 gudab Express 軟體http://www.gudab.com/
(步驟二)解壓縮於指定目錄
(步驟三)執行 start.sh (linux) 或 start.bat (windows)
註1:consoleDB預設採用localhost:27027,如需修改,請參考官網 Q&A
註2:windows用戶要 "以管理員身分執行"
(步驟四)在設定檔 gudab/config/config_noCache.properties ,設定某信箱,使用於 "忘記密碼"、"告警通知" 寄送 mail。

首頁與登入

首頁與登入

使用者可透過瀏覽器連結至以下網址「http:// <hostname> /view/」,即可進入gudab系統的登入頁面,點選「登入」,輸入帳號與密碼後,按下「登入」,若帳號與密碼經過認證成功後,即可登入gudab系統,系統會自動顯示「系統監控」模組的首頁。

gudab系統安裝完成後,系統中所預設的管理者帳號為「root」,管理者密碼為「root」。建議使用者登入gudab系統後,可利用「個人資料」功能來變更管理者密碼,以確保系統安全性。

監控管理

系統監控首頁

「系統監控」模組的首頁會顯示目前被監控中的MongoDB 伺服器列表以及狀態資訊。

伺服器列表(以下由左到右說明各欄位的意義)
欄位 說明
燈號 此燈號代表是目前該MongoDB 伺服器的狀態,綠燈代表正常運作中,紅燈則代表該伺服器目前已停止運作或狀態異常
架構類型 該MongoDB伺服器的伺服器類型,包含以下類型 : SA (StandAlone) RS (Replica Set) SC (Sharded Cluster)
別名 用戶自訂義名稱
RS成員 RS成員的角色,包含以下類型 : P (PRIMARY) S (SECONDARY) A (ARBITER)
伺服器名稱 該MongoDB伺服器的主機名稱
VERSION 該MongoDB伺服器的MongoDB版本
LAST PING 該MongoDB伺服器最後被監控連線的時間 (透過PING指令)
編輯 設定 Exception Time
刪除 按下此按鈕即可刪除該該MongoDB伺服器的監控設定
叢集燈號說明 (左邊第一排)
欄位 說明
綠色實心 所有成員正常監控中
綠色空心 部分成員處於例外時間,其餘成員正常監控中
黃色實心 所有成員處於例外時間
紅色實心 所有成員脫離監控
紅色空心 部分成員脫離監控

設定受監控對象(MongoDB資訊)

若需要監控某台MongoDB伺服器,可透過「新增伺服器」將該伺服器加入監控列表中。

請輸入以下欄位資訊:
(步驟一)伺服器的主機名稱 : MongoDB伺服器的主機名稱(此欄位為必填)。
註:此欄位不可為 IP 或含 "."(點) 符號。
(步驟二)Port : MongoDB伺服器 所設定的Port(此欄位為必填)。
(步驟三)資料庫使用者名稱 : 若該MongoDB伺服器有設定帳號控管,則須輸入此使用者名稱。
(步驟四)資料庫使用者密碼 : 若該MongoDB伺服器有設定帳號控管,則須輸入此密碼。
(補充) 可監控 gudab內建的 consoleDB做測試,欄位輸入如下: localhost/27027/root/gudab

*Auto Discovery
若您加入的MongoDB為叢集成員(Replica Set, Sharded Cluster),本監控系統會自動帶出此叢集的所有成員進行監控。

自動重啟機制

當監控的MongoDB無法連線或process不存在時,可額外設定是否對MongoDB進行重啟動作。例如當MongoDB Process未預期消失時,gudab可自動SSH進到該Server,執行準備好的linux script,進行MongoDB啟動作業。

監控指標

若需要檢視MongoDB伺服器的監控指標,可直接點選伺服器列表中該伺服器的HOST欄位,即可檢視各種監控指標。 如下圖所示,左方選單為監控指標群組,包含「我的最愛」、「Host Status」、「Utilization」、「Events」、「Saturation」、「Throuhgput」、與「Performance」等群組,直接點選該群組,下方即會顯示群組下的指標項目,點選該指標,右方即會顯示該指標的圖形。

以Network 指標為例,如上圖所示,該MongoDB伺服器的 Memory資訊會以折線區域圖的方式來呈現,X軸是該資訊被記錄的時間,Y軸則是該資訊的數值。使用者可點選「時間刻度」與「顯示區間」來變更指標資料的顯示方式與範圍。

時間刻度是指要以何種資料取樣時間 (頻率)來顯示,如下圖4‑7監控指標(5sec)所示,若時間刻度選擇5sec,則資料取樣時間會以每5sec的資料來顯示,下圖上方圖形的資料取樣時間為13:37:10,下圖4‑8監控指標(5sec) (下一筆資料)的資料取樣時間則為13:37:15。顯示區間則是X軸所要顯示的資料取樣範圍,如下圖所示,若顯示區間選擇10min,則X軸會顯示最近10min的資料。 每種時間刻度皆會提供預設的數組顯示區間,以方便使用者操作。目前共有4種時間刻度可選,各自對應3種不同的顯示區間。
5sec(10min,30min,1hr)
1min(100min,3hr,6hr)
5min(3hr,6hr,12hr)
1hr(1day,1week,2week)

點選愛心旁的方框,會顯示data point。點選 Auto,會關閉圖表刷新。點選 SI時,會列出 SI的比例關係。註:data point介於 50到 300個才可點選方框,小於 50個時,會強制顯示、大於300個時會強制關閉。

所有指標列表
Host Status
cpuUS CPU總體使用率 CPU
cpuID CPU空閒比率
cpuWA CPU等待IO比率
cpuPidUS Mongo的CPU使用率
Memory memTotal Server總共有多少Memory
memFree 剩餘的Memory
memUsed 使用中的Memory
mongoVirt Mongo使用的虛擬記憶體總量(Swap+Res)
mongoRes Mongo使用非被置換的實體記憶體大小
mongoShr Mongo使用共用記憶體大小
mongoUsed Mongo使用的虛擬記憶體百分比
Swap swapTotal Server總共有多少Swap Memory
swapFree 剩餘的Swap Memory
swapUsed 使用中的Swap Memory
Storage size Mongo的dbPath共有多少空間
used Mongo已使用的storage空間
alive Mongo的dbPath剩下的空間
percent Mongo使用storage的百分比
Utilization
Connections connections 用戶連線的數量
Cursors open 當前 cursors 的數量
timedOut 啟動至今,過期 cursors 的總數量
DbMemory mapped Mongo使用的虛擬記憶體總量(Swap+Res)
mappedWithJournal 映射的記憶體量 (包含 journal)
resident 當前使用的記憶體量
virtual 使用的虛擬記憶體量
Journaled Size (V2.6) 上一次 journal group 提交期間,寫入 journal 的資料量 size
WiredTiger Cache (V3.4) current 正在使用的資料,佔 WT cache 的大小
maximum WT cache 上限的大小
dirty 異動過的資料(髒資料),佔 WT cache 的大小
WiredTiger Transactions (V3.4) readAvailable WT 讀交易 tickets,可用的數量
readOut WT 讀交易 tickets,當前使用的數量
writeAvailable WT 寫交易 tickets,可用的數量
writeOut WT 寫交易 tickets,當前使用的數量
Events
Asserts msg 啟動至今,message asserts 的數量。來自各種 DB 內部錯誤,例如參數不在指定範圍內
regular 啟動至今,regular asserts 的數量。違反不變條件的操作,例如讀取 BSON 檔案失敗
user 啟動至今,user asserts 的數量。這些是由使用者所產生的錯誤,例如磁碟空間不足、重複鍵值、無權訪問
warn 啟動至今,warning 的數量。不是嚴重錯誤,但仍需檢查,多數與環境配置有關,例如 ulimit, readahead 太小,使用 root 啟動 DB
Page Faults pageFaults 發生 page faults 的總數量
Saturation
Current Queue readers 因為 read lock,當前操作佇列 (queued) 的數量
total 因為 lock,當前操作佇列 (queued) 的總數量
writers 提交時,寫鎖被取走的次數
Journaled Lock (V2.6) lock 提交時,寫鎖被取走的次數
Throughput
Active Clients readers 當前的用戶端連線,發起讀操作的數量
writers 當前的用戶端連線,發起寫操作的數量
Network in 接收的網路傳輸量
out 發送的網路傳輸量
Opcounters command 啟動至今,執行指令的總數量
delete 啟動至今,刪除操作的總數量
getmore 啟動至今,getmore 操作的總數量
insert 啟動至今,新增操作的總數量
query 啟動至今,查詢操作的總數量
update 啟動至今,修改操作的總數量
Performance
Replication Oplog timeDiff 剩餘同步時間
replicationLag Secondary 同步 Primary 的延遲時間
replicationHeadroom 記錄 oplog 第一筆與最後一筆的時間間隔 (Oplog Window)
Background Flush (V2.6) lastFlush 上一次落盤操作,所花費的時間
Journaled Time (V2.6) time Journaling 後,寫入 data files 的時間
Index (V2.6) accesses 操作訪問索引的次數 (hits+misses)
hits 操作訪問的索引在記憶體的次數
misses 操作訪問的索引不在記憶體的次數

我的最愛

使用者可將不同群組中的監控指標加入「我的最愛」群組中,如下圖所示,請點選「加入我的最愛」的愛心圖案,待愛心圖案變成全紅,即代表設定完成。

另外提供「我的最愛」設定頁面,一次總覽所有的分類細項,如下圖所示,請勾選或取消監控的項目。

使用者可點選「我的最愛」群組,如下圖所示,系統即會顯示方才所加入的監控指標。

歷史活動資訊

歷史活動資訊

「系統狀態列表」會顯示依照時間來顯示目前被監控中的MongoDB 伺服器所發生的歷史活動訊息與狀態。

系統狀態列表(以下由左到右說明各欄位的意義)
欄位 說明
DATE 發生該活動的日期
HOST 發生該活動的MongoDB伺服器的主機名稱
ACTIVITY 發生的活動訊息

使用者管理

個人資料

登入系統後,若需要檢視或更新本身的個人資料,可按「個人資料」,系統會顯示目前的個人資料,包含帳號、Email、密碼與密碼確認。若需要更新個人資料,可直接輸入更新資料,並按「送出」。若不需更新資料,請按下右上方X按鈕來關閉本頁面。

新增使用者

若需要新增使用者,可按「新增使用者」,系統會顯示新增使用者頁面,請輸入該使用者的資料,包含帳號、Email、密碼與密碼確認,並按「送出」。若不需新增使用者,請按下右上方X按鈕來關閉本頁面。

系統告警(Enterprise Edition)

系統告警

「告警」模組的首頁會顯示目前所設定的告警設定清單

告警列表(以下由左到右說明各欄位的意義)
欄位 說明
告警名稱 該組告警設定的識別名稱,可由使用者自行輸入
告警頻率 偵測是否符合告警條件的頻率,單位為分鐘
狀態 該組告警設定的目前狀態
操作 針對該組告警設定可執行的操作功能,包含 :
編輯 : 編輯該組告警設定
刪除 : 刪除該組告警設定

建立告警設定

(步驟一)若需要建立告警設定,可透過「新增告警設定」來建立告警設定。

(步驟二)設定以下資訊 ,並按「送出」

輸入告警名稱:該組設定的識別名稱,可由使用者自行輸入。
選擇伺服器:需要納入告警偵測範圍的伺服器,可複選。
告警情境設定:設定告警的條件,請勾選所需的條件項目,並輸入條件值。
發送給: 設定告警的偵測頻率,以及偵測到符合告警條件時,所需要執行的動作。
請由文字框中輸入告警 偵測頻率的間隔頻率,單位為分鐘。目前提供的告警動作包含E-mail。

(步驟三)系統會顯示告警設定建立成功,請按「關閉」離開此頁面。

例外時間

MongoDB的告警會需要有例外的時候。例如,當進行全備份時,MongoDB是在預期內被關閉的,此時是不需要發告警的。因此,例外時間就是讓告警系統,得知該MongoDB是在預期內shutdown,而不需要發告警。

(步驟一)例外時間可以對整個集群或特定成員設定

(步驟二)針對 RS 特定成員 trs02c:23001 設定例外時間

(步驟三)點選編輯紐可以設定例外時間。若尚未設定例外時間則為空

(步驟四)例外時間會顯示在伺服器列表上,可以設定多組。並可視其用途給予別名(New Alias)

(步驟五)新增例外時間後,產生新的別名

備份還原(Enterprise Edition)

備份還原

「備份還原」模組的首頁會顯示目前所設定的備份設定清單

備份/回復(以下由左到右說明各欄位的意義)
欄位 說明
ID 該組告警設定的識別名稱,可由使用者自行輸入
CLUSTER 該組備份設定所包含MongoDB伺服器
伺服器類型 該MongoDB伺服器的伺服器類型,包含以下類型 :
MONGOS、Replica Set、Config Server
狀態 該組備份設定目前是否啟動,綠燈代表啟動,紅燈代表未啟動
最後資料備份時間 該組備份設定中,各資料庫的最後資料備份時間
操作 針對該組備份設定可執行的操作功能,包含 :
開始備份 : 啟動資料備份作業
回復 : 啟動資料還原作業
編輯 : 編輯該組備份設定
刪除 : 刪除該組備份設定

建立備份設定

(步驟一)若需要備份MongoDB中的資料,可透過「新增備份設定」來建立備份設定。

(步驟二)請輸入以下欄位的資料,並按「下一步」

名稱:該組備份設定的識別名稱。 主機名稱:MongoDB伺服器的主機名稱。 Port:MongoDB伺服器 所設定的Port MongoDB 叢集類型: 該 MongoDB 伺服器所屬的伺服器類型,類型包含
Standalone、Replica Set 與Shard Cluster。
資料庫使用者名稱:若MongoDB伺服器有設定帳號控管,則須輸入此使用者名稱。 資料庫使用者密碼:若MongoDB伺服器有設定帳號控管,則須輸入此密碼

(步驟三)請選擇所需要備份的資料庫與Collection,並按「下一步」。

(步驟四)完成備份設定,請按下「關閉」回到備份設定清單頁面

啟動備份作業

(步驟一)請由備份設定清單頁面中,針對需要啟動備份作業的項目,按下「開始備份」

(步驟二)系統會顯示確認訊息,若需要啟動備份作業,請按下「送出」,或按下「取消」離開本頁面。

(步驟三)若按下「送出」,則會啟動備份作業,並顯示成功訊息,請按下「關閉」離開本頁面。

(步驟四)此備份設定的狀態欄位會變成綠燈,代表該備份作業已經正常啟動執行,可按下「停止備份」來停止該作業,或按下「刪除」來刪除該備份設定

執行還原作業

(步驟一)若需要使用某備份設定項目的資料來進行還原作業,則需要先停止該備份項目的備份作業。請針對該備份設定項目按下「停止備份」,系統會顯示確認訊息,若需要停止備份,請按下「送出」,或按下「取消」離開本頁面。

(步驟二)若按下「送出」,則會停止備份作業,並顯示成功訊息,請按下「關閉」離開本頁面。

(步驟三)該備份設定的狀態欄位會顯示為紅燈,請按下「回復」,開始執行還原作業。

(步驟四)請完成各項還原作業的設定,由上往下分別為「回復的時間點」、「回復的目的資料庫」與「回復的Collection」。

回復的時間點:指定資料要還原到過去哪一段期間。
回復的目的資料庫:指定資料所要還原的目的資料庫,請輸入以下欄位的資訊
Host name:該資料庫的主機名稱。
Port number:該資料庫的Port。
You may specify a database to restore to:該資料庫的名稱。
資料庫使用者名稱:登入該資料庫的使用者名稱。
資料庫使用者密碼:登入該資料庫的使用者密碼。
回復的Collection:指定要執行還原作業的Collection。

(步驟五)還原作業的設定完成後,請按下「回復」來執行還原作業。

(步驟六)系統會顯示還原作業已正常啟動,請按下「關閉」離開本頁面。

服務與價格

Gudab Express

FREE

  • 指標監控
  • Mongodb 活動日誌
  • 自動偵測叢集架構
  • 個人化儀錶板
免費下載(windows) 免費下載(Linux)

Gudab Business

以伺服器數量計費

  • 指標監控
  • Mongodb 活動日誌
  • 自動偵測叢集架構
  • 個人化儀錶板
  • Email 安裝支援
  • 系統告警
開始監控

Gudab Enterprise

以Data Node計費

  • 指標監控
  • Mongodb 活動日誌
  • 自動偵測叢集架構
  • 個人化儀錶板
  • Email和電話技術支援
  • 系統告警
  • Mongodb 諮詢
  • 備份換原
  • 高可用性HA 架構
  • Gudab 系統日誌
  • 報表下載
  • 使用者權限控管
立即詢價

Gudab 價格問與答

技術支援服務有哪些?

我們提供Email 和電話上的安裝技術支援。 對於專人現場支援和MongoDB專業服務的細節與價格,請與我們聯絡。

授權到期前我可以升級服務嗎?

您可以隨時升級至Gudab Enterprise。 我們會依比例計算您的Gudab business授權餘額並折抵至新的Gudab Enterprise帳單。

如何取得折扣?

在授權期滿前續約或增購data node/server服務可取得折扣,欲了解折扣詳細內容請與我們聯絡。

購買授權後如想取消怎麼辦?

我們提供45天的鑑賞期, 在這期間如有任何的問題, 請與我們聯絡. 若我們無法解決您的問題或滿足您的需求, 我們將全額退費並把服務改為免費的Gudab Express。

可否更換不同的伺服器進行監控?

可以, 只要在授權的Data Node 數量內,您可以任意的變更監控的伺服器。

授權到期後怎麼辦?

授權期滿前一個月我們將會陸續發送到期通知。授權期滿後,如未能準時續約,我們提供30天的寬限期。若不再續約, 可用服務將改為免費版的Gudab Express。

Gudab Enterprise 如何收費?

以受監控的MongoDB Data Node數量為計費單位 (包含Primary主要伺服器與Secondary次要伺服器,不計算Router、Config Server與Arbiter)。欲了解更多價格詳情,請與我們聯絡。

Gudab Business 如何收費?

以設定告警的MongoDB伺服器數量為計費單位。欲了解更多價格詳情,請與我們聯絡。

成功案例

  • 國泰金控

    國泰人壽的影像流程系統採用 MongoDB 儲存大量的保單影像資料,並建立異地備援雙中心架構。在超過 20 台 MongoDB 伺服器的架構下,透過 Gudab 進行系統監控管理與資料備份作業,全面滿足國泰人壽的管理需求。

  • 中華電信

    中華電信的 CDR (Call Detail Record) 管理系統採用 MongoDB 進行大量 CDR 資料的整合,經由 MongoDB 的 NoSQL 與高效處理特性,每日可以處理超過 6000 萬筆 CDR 資料。所有 MongoDB 系統管理採用 Gudab 軟體,讓管理工作更輕鬆簡單。

  • 遠傳電信

    遠傳電信的大量伺服器 Log 集中管理系統,採用 MongoDB 為 log 儲存資料庫,透過 Gudab 的監控與管理功能,有效協助系統維運人員輕鬆處理每日的管理工作。

現在就開始監控 MongoDB
Gudab Express_V3.4b2免費下載

下載Windows版本

下載Linux版本

*若您需要MongoDB專業服務,歡迎與我們聯絡*

立即詢價

Let's connect

如果您需要專業上的諮詢,對我們有任何問題,或分享您對Gudab的期待,請留下訊息或直接與我們聯繫,我們會儘速處理及回覆。謝謝你!

Email : service@gudab.com

新加坡

TEL +65-6808-6029

Level 40, Ocean Financial Centre, 10 Collyer Quay, Singapore 049315

台灣

TEL +886-2-8751-1610 #604

台北市內湖區瑞光路437號3F

*備註說明

Gudab FAQ

Gudab 的config目錄下,每個檔案的用途?

  1. . /id/gudab.id:給機器看的Gudab ID
  2. ./id/im_ .worker:給人看的Gudab ID (檔名的XXX)
  3. ./metrics_os_fetcher/linux_Fetcher_ .yml:取得 Linux 指標的 Commad和 Regular Express的設定。
  4. ./metrics_os_fetcher/linux_SSH_default_Info.properties:Gudab SSH連線到被監控對象主機的 Linux Service Account 設定。
  5. ./gudab.properties:Gudab 內建的 consoleDB 和Mail Server設定。
  6. ./log4j2.xml:Gudab 日誌設定。

Gudab 突然無法重啟 (沒有畫面)?

  1. 請優先與我們聯絡。
  2. 若您想嘗試自行處理,下列2種可能原因與解決方法:
    1. ID問題:將gudab/config/id 目錄內檔案清除,重新啟動。
    2. ConsoleDB問題:嘗試將 gudab/consoleDB/data 目錄內檔案清除,重新動。注意:此步驟Gudab會初始化,遺失所有指標、備份、設定等。

瀏覽器預設登入的帳密 (root/root),是 Linux Service Accounts 還是Gudab Account?

Gudab Account.

為什麼要在被監控對象的主機上,建立 Linux Service Account?

Gudab透過SSH連結被監控對象,考量被監控對象所在的主機(Linux Host)的權限、安全、稽核等因素,建議所有主機統一新增專屬Linux Service Account (eg. gudab)。

忘記登入密碼,執行首頁的忘記密碼,卻無法解決 ?

  1. 請優先與我們聯絡。
  2. 若您想嘗試自行處理,下列2種可能原因與解決方法:
    1. 設定問題:收不到信。不論內網或外網,Gudab要能連結到某台Mail Server,並在gudab.properties輸入寄件人的資訊。
    2. 信箱問題:帳號與email有誤。此處 email是指註冊時填寫的信箱。
      預設的root帳號,其初始Email狀態為空,請盡早更新使用者資料。

Gudab 有幾種 License 版本?

License 有3個版本 (如下表)

Express Business Enterprise
指標
告警  
備份    
付費  
顧問服務  
期限 3個月 12個月 12個月

License 若不續約 (Renew),是否可繼續使用?

任何一種License到期,都需要申請新的 License。若是因故未申請,仍然可以延長使用一個月 (寬限期),但是超過寬限期後將無法使用Gudab。
註. Business & Enterprise到期前一個月內續約,可享有折扣。

Gudab Account分成幾種角色(權限)?

  1. root user:是預設用戶、名稱唯一、不可刪除、只能加admin用戶。第一次登入,請記得更新使用者資料 (填寫email、修改密碼)。
  2. admin group:全部功能。
  3. power user group:除了加用戶,全部操作功能。
  4. operator group:看系統監控,無法新增伺服器;可開關告警 (發alert),無法修改告警設定。
root admin power user operator
系統監控
新增伺服器
系統狀態
告警開關
告警設定  
備份/回復
個人資料
新增 admin
新增 power user
新增 operator

Gudab 提供那些顧問服務?

  1. MongoDB架構規劃與建置
  2. 全備份(Full Backup)與還原規劃與建置
  3. 異地備援規劃與建置
  4. 系統告警整合(如簡訊SMS)
  5. 專業顧問與諮詢

Gudab 如何計費?

  1. Gudab Enterprise以受監控的MongoDB Data Node數量為計費單位 (包含Primary主要伺服器與Secondary次要伺服器,不計算Router、Config Server與Arbiter)。
  2. Gudab Business 以設定告警的MongoDB伺服器數量為計費單位。

欲了解更多價格詳情,請與我們聯絡。

多用戶,是否可以使用不同的DB帳密,監控同一對象。

不同 Gudab用戶,均可以新增被監控對象。但Gudab為了避免多用戶監控同一對象,造成重複監控的情況,故採用第一次連線的DB帳密建立設定 (後面的用戶無法改動)。 範例如下:

  1. Gudab用戶1(root),先使用DB帳密(root/12345),加入監控Replica Set A。
  2. Gudab用戶2(test),後使用DB帳密(test/67890),加入監控Replica Set A。
  3. Gudab用戶2輸入的 DB帳密正確(test/67890),但實際是拿用戶1的帳密 (root/12345)去做監控。

為什麼要在被監控對象上,建立MongoDB Service Account ?

為避免監控一n個成員的叢集,需輸入n次成員的資訊,故Gudab提供的Auto Discovery功能,能透過一組帳密連結所有叢集成員(需注意這組DB帳密是否有足夠的管理權限)。 另考量被監控對象的權限、安全、稽核等,建議所有被監控對象統一新增專屬的MongoDB Service Account (eg. root)。
註1:叢集是指Resplica Set (RS)、Sharded Cluster (SC)。

Auto Discovery 無法加入全部的叢集成員?

  1. 請優先與我們聯絡。
  2. 若您想嘗試自行處理,下列3種可能原因與解決方法:
    1. 確認是否建立Gudab用的MongoDB Service Account。
    2. RS必須從 Primary或Secondary做Auto Discovery,不可以從 Arbiter。
    3. SC必須從 Router(mongos)做Auto Discovery,不可以從分片成員。

為什麼 Gudab沒有看到 Host Status 監控項目 (CPU, Memory, Storage, Swap)?

  1. 請優先與我們聯絡。
  2. 若您想嘗試自行處理,下列2種可能原因與解決方法:
    1. Gudab 暫不支援提供此監控項目,若監控對象是安裝在 Windows 上。
    2. 尚未設定 linux_SSH_default_Info.properties 的資訊。

除了現有的監控指標,能否加入其他項目指標?

可以,這些屬於客製化服務範疇。

Gudab 的備份方式?

  1. 對象:Replica Set成員。
  2. 增量備份:持續備份 Replica Set 成員的 oplog。
  3. 完整備份(全備份、快照):Gudab暫不支援,已規劃於未來版本。

Gudab採用哪種備份策略? (哪個DB成員作為備份對象)

Gudab 採用 Secondary Prefer策略。
優先從任一個 Secondary成員作為對象備份oplog,若無法連線Secondary,才會改從Primary備份。

MongoDB Standalone (Single node) 能否做增量備份 ?

Standalone要做增量備份,需初始成單一成員的RS,作為Primary產生oplog,Gudab便能做增量備份。

Gudab備份的注意事項?

  1. 第一次啟動備份,無法備份之前的oplog,只會備份啟動時間之後的oplog。之後會產生 tail collection記錄最後一筆備份的時間,之後關閉備份再啟動,會接續備份記錄最後一筆時間之後的oplog(即使是在Gudab關閉備份時產生的)。
  2. 目前Gudab暫不支援備份 Config Server 的oplog。因此,在備份Sharded Cluster時:暫不支持 Config Server 異動。
  3. 因此,備份前須做好分片的Zone Range,並在mongos執行指令:
    1. sh.disableAutoSplit()
    2. sh.setBalancerState(false)
    3. 備份前,需先做完整備份。
    4. 分片須為 Replica Set。

Gudab 還原的注意事項?

  1. 被監控對象,必須先透過完整備份的檔案重新啟動,才能執行Gudab還原。
  2. 目前還原起訖的設定值,為每小時的整點鐘和半點鐘。

啟動備份後,新增的 Collection無法備份加入之前的 oplog?

若當初建立備份設定,是指定要備份的 Collection (非勾選所有資料庫),若有新的colleciton要加入原備份設定,則須修改後重新執行新增備份設定。

Gudab 備份多久的 oplog ? 是否有保護機制,避免硬碟空間不足?

Gudab預設備份 7日的 oplog,故用戶須自行評估 oplog的成長量,選擇適當容量的儲存空間;或修改 config file的備份天數 (調整後須重啟 Gudab)。

可否指定要備份/還原的 Collection?

備份的部分,目前可指定Collection。
還原的部分,目前暫不支援指定Collection,會一次還原全部。

MongoDB 已有Replica Set記錄oplog,為什麼還需要Gudab 備份oplog?

可以從2個面向來看:

MongoDB's Replica Set Gudab
備份上限 capped collection的大小 硬碟空間和備份天數
還原方式 Mongo Shell (輸入指令) 操作介面 (滑鼠點擊)

  1. 備份上限:假設資料量為1TB,記錄oplog 的capped colletion為50GB,若是人為失誤操作eg. db.coll.remove({ }),會產生大量oplog把舊有的oplog覆蓋。即使發生人為失誤,只要不超過硬碟上限,就可以繼續保留,直到超過備份天數。而且主要由Gudab備份oplog,MongoDB的capped collection就不用設定太大,保留運行環境的硬體資源。
  2. 還原方式:Gudab提供操作介面,就不需要查找相對應的指令和步驟。

另外,Gudab其獨立於MongoDB架構之外,可安裝在不同的系統環境OS、機房位置,採用不同的系統帳密、目錄等管理權限,能提供更嚴謹的安全性,在儲存備份資料上,等於多一份保障。

除了發信告警,是否提供其他告警方式?

可以,這些屬於客製化服務範疇。

MongoDB FAQ

常見一般問題

NoSQL資料庫 (MongoDB)可以幫我解決什麼問題?

一般而言,NoSQL資料庫可以解決以下類型的問題 :

  1. 海量資料 : 可透過橫向擴充的建置方式搭配x86等中階系統硬體來處理海量資料,並可有效降低建置成本。
  2. 非結構化資料 : 針對較無結構化的資料類型,如網頁、文章、圖片或影像等,NoSQL資料庫提供便利的存取功能。
  3. 資料結構經常異動 : 若資料結構經常需要改變或較難預期資料欄位以及儲存類型,NoSQL 資料庫具備 “Schema Free”的特點,可隨時因應資料結構的需要去動態改變儲存結構。

我應該一開始就採用Sharding架構嗎?

建議在一開始就直接建置Sharding架構,除非您很確認以下情形 :

  1. 所儲存的資料量僅維持固定大小,不會持續成長。
  2. 軟硬體設備與管理之成本與資源較為有限。

導入MongoDB 後,對於應用系統建置所能帶來的好處?

以經濟效益而言,一般皆可大幅降低以往採用大廠牌資料庫所需的費用,能以合理預算獲得穩定的分散式存儲解決方案與技術服務。

以技術解決方案角度而言,好處如下:

  1. 透過良好設計使用MongoDB,可輕鬆以很高的效能處理海量資料,簡化應用系統開發之複雜度,並大幅提高系統效能。
  2. 可輕鬆存取非結構化資料,例如網頁、圖檔等,應用系統僅須呼叫存取API即可。
  3. 不需受限於預先定義之資料綱要,可由應用系統來控制資料儲存結構,加速開發時間。
  4. 不同的資料紀錄 (Document)可以有不同的儲存結構,可以彈性因應資料儲存需求的變動,減低應用系統維護的負擔。

一個系統專案在什麼使用情境與需求下可以使用MongoDB?

  1. 大量非結構化資料需要儲存 ,如Log 、交談紀錄、檔案資料、圖片、影片等,非常適合以MongoDB儲存
  2. 可將非即時需要批次計算之資料,轉交MongoDB儲存與計算,以便與即時交易之資料庫區隔,避免影響線上系統效能。
  3. 需要將大量資料進行異地備援時,MongoDB可提供分散式架構,確保資料副本異地同步。
  4. 需要提供全文檢索功能,MongoDB可從大量非結構化資料中透過索引(index)進行檢索
  5. 使用現有資料庫架構與技術仍無法解決問題,例如資料量太大而無法處理。可透過良好設計處理大量資料(特別是資料查詢),並大幅改善系統效能。
  6. 現有關聯式資料庫之建置與維護成本太過昂貴時,可規劃引進MongoDB搭配使用,轉移部分資料至MongoDB,降低資料庫使用與維護成本。

有什麼資料適合從目前既有的關聯式資料庫(如Oracle,MS SQL Server等)移到MongoDB儲存嗎?

只要搭配良好的儲存結構設計,大部分的資料都可以由目前既有的關聯式資料庫搬移到MongoDB,尤其下列幾種非結構化資料,更能發揮MongoDB彈性儲存的優勢 :

  1. 文件型資料,例如網頁、文章、新聞、Log資料等。
  2. 檔案型資料,例如文字檔、圖檔、影片等檔案。
  3. 需進行備份之資料,可轉交MongoDB進行歷史資料備份

常見技術問題

MongoDB可以安裝在虛擬機器上嗎? 

可以,如 VMWare或KVM。由於使用虛擬機器,無法預知網路和磁碟IO狀況,因此要保證硬體效能和資源充足。

MongoDB可以搭配網路共用儲存設備嗎? (如SAN、NAS)

可以,但存取效能上本地檔案系統會優於網路共同儲存設備。建議選配MongoDB儲存設備的優先順序:local SSD > local HDD > SAN > NAS。

MongoDB 提供哪些資料備份方式?

  1. 完全備份:透過mongodump, mongoexport工具,將資料備份出來。
  2. 增量備份:透過備份DB內的 rs.oplog 集合,持續不間斷。

另外,也可透過停機、或停止寫操作的方式,在資料不會異動的情況下,直接將資料檔案備份到其它的儲存空間。

常見效能瓶頸與優化方式?

mongostat指令,發現過高的page fault (缺頁中斷)。

  1. 效能瓶頸
    缺頁中斷和記憶體相關,代表資料不在記憶體,需要資料庫去磁碟裡面查找數據。如果記憶體的大小不能滿足性能需求,那麼你將會看到缺頁中斷。
  2. 優化方式
    隨著錯誤率的上升,opcounters 最終會低於期望值,所以這時你應該增加可用的 RAM。

iostat指令,發現過高的 %util。

  1. 效能瓶頸
    如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該硬碟可能存在瓶頸。
  2. 優化方式
    1. 提高硬碟的規格,建議在local用SSD。
    2. 增加分片,分散I/O的負載。

如何存取MongoDB中的資料?

常見幾種方式:

  1. Command-line:透過Mongo Shell這個原生的 JavaScript交互式介面,連接 DB 實例,做 CRUD、系統管理等操作。
  2. Driver:多種語言都有支援,如 Java, Python, Ruby, C#, PHP等。
  3. GUI:多種工具都有支援,如 Pentaho/Kettle, Talend Open Studio等。

進階技術問題

MongoDB需要多少記憶體?

計算需要多少 RAM,至少要考量到:

  1. "工作集大小" (working set size),也就是一次要處理的最大資料量。
  2. 索引數量和大小
  3. 每筆檔案的大小
  4. 連線數 ( 1MB per connection )
    由此可知,根據用戶不同的資料量和場景,會有不同的計算結果。

如何釋放MongoDB使用的記憶體?

  1. 手動方式:重啟 MongoDB的 process,就能釋放 RAM。
  2. 自動方式:由作業系統管理,若有其它 process需要RAM,則會根據LRU(最久未使用演算法),將MongoDB使用的記憶體釋放。

如何限制MongoDB的記憶體上限?

不建議限制,資料放在記憶體,MongoDB的效能才會好,一但限制記憶體,則限制的就是你存放在記憶體的資料量。若真的非要限制記憶體上限,建議用 container (e.g. lxc, cgroups, Docker, etc.)來限制。

MongoDB的硬體配置與容量規劃?

  1. 做硬體配置與容量規劃,應計劃一個概念驗證測試(PoC),達成性能需求後,逐步提高測試規模,直到與正式環境相當,之後便是透過監控指標來做調整。
  2. 在概念驗證測試之前,請預先列出你的性能需求 (不限於以下項目):
    1. 需要存儲的數據量。
    2. 工作集的大小。
    3. 每秒發送的請求數目。
    4. 正常運行時間百分比。
    5. 可以忍受的延遲時間。

MongoDB的Benchmark?

  1. 當我們做 MongoDB新舊版本比較、或是與其它資料庫做比較時,需要在相同的基準點 (eg.機器台數、測試工具等),比較的結果才有意義。
    通常是在不同比例的 CRUD上 (eg. 95%讀、5%寫),比較各自的吞吐量(Throughput)和延遲程度(Latency)。
  2. 會影響MongoDB Benchmark的因素很多 (不限於以下項目):
    1. 硬體配置與容量規劃
    2. 每筆檔案的大小與格式
    3. 讀寫的比例
    4. 查詢的語法與索引
    5. MongoDB版本
    6. storage engine (使用WiredTiger 或 MMAPv1)
    7. 參數設定 (Write Concern Reference, Journaling 等)

如何把資料從RDBMS移轉到MongoDB?

常見幾種方式:

  1. Mongo Tool: 將RDBMS 的資料匯出成CSV,在透過mongoimport匯入MongoDB。
  2. ETL Tool: Logstash, Pentaho/Kettle等。
  3. 社群工具: Mongify, Firehose等。
  4. 程式脚本: r2m或自行透過Driver寫程式。