1 配置檔案中設定資料庫型別,連線資訊。
todo 現在的資料庫資訊是寫在檔案中,應該修改成自動發現的方式,不需要配置,連結資訊密碼的安全性需要更改。
2 收集資料庫的資訊
上傳例項資訊,引數設定,狀態,主從關係等,表大小資訊,磁碟使用資訊 ,資料庫大小,表大小,分割槽表資訊,沒有主鍵的表,非innodb表,叢集拓撲等,當然你的大事務監控,鎖等待告警,對比例項引數與檔案引數區別。現在的任務分類只分了,頻繁執行和非頻繁執行任務,結果上傳可以上傳到介面或儲存到資料庫中。
後續改進,服務側設定每個收集任務的策略,可以設定收集或停止收集,設定每個任務的上傳方式
3 os 資訊收集
是否開啟swap ,raid卡資訊,fs 檔案系統資訊,numa設定,os髒頁設定
4 資料庫例項的操作,提供對應的介面
例項的安裝,啟動,停止,升級,清理,複製啟停,檢視複製狀態,設定主從關係,獲取版本資訊,清理日誌,檢視error log,等所有的日常運維命令,都可以透過介面進行遠端執行。
5 限制資源使用,cpu使用,記憶體使用。
限制agent資源使用,目前主要是cpu,memory使用限制,可以方便新增其他限制。
6備份恢復
後端設定備份策略,agent獲取備份策略,開始本地執行備份任務,以及自動恢復例項任務
7監控告警的部署
定期檢測告警是否設定,工作是否正常,對於新的例項,在建立後,自動新增監控告警agent。
8binlog relaylog 獲取到本地進行解析處理
服務端功能:
1 根據agent上傳的內容,進行統計告警,引數設定,叢集拓撲結構等
2 設定備份策略,資訊收集上傳策略
3 呼叫agent介面,操作agent
4 維護cmdb表結構資訊。
5 叢集的安裝部署,透過介面的方式呼叫例項的建立,複製關係的設定
agent封裝的操作
The commands are listed below. install <role> start shutdown upgrade version startslave stopslave stopio stopsql startio startsql restartslave isreadonly setreadonly setwriteble showslavestatus showmasterstatus kill <id> backup backuptables <tables> flushlogs purgelogs <toLog> waitutil <targetgtid> setreplpos <pos> changemaster <master>,<port> delayrepl <seconds> filterrepl <replicationdb> removefilter <> utilsqlafter <targetgtid> showblock showprocesslist showbigtrx showmaster showslaves showmasterstatus showerror showrole showvar <pattern> setvar <name>,<value> comparevar showlogs showos showerrant showdbs showusers showgrant <user> createdb <dbname>,<rw_net>,<ro_net><owner><product> dropdb <dbname> grant <user>,<db>,<privileges>,<nets> parsebinlog <logfile>,<startTime>,<endTime> execute <sqlfile> skipgtid <gtid> initos search