資料庫agent

aoerqileng發表於2022-01-13

其實這個已經沒什麼好說的了,一般的資料庫管理都有agent,每個人有每個人的需求,可能做的也都不太一樣。這個東西面試時候也沒什麼好問的吧,也不是純小白,稍微管理過一些資料庫的都有這個需求,只不過叢集量大小問題,大的叢集可能會有些特殊需求

我的觀點是一切涉及資料庫的手工操作,都透過agent執行,dba不直接運算元據庫,所有外圍其他系統,都是透過呼叫介面透過agent運算元據庫,所以agent應該是all in one的東西,所有的運維指令碼,監控分析指令碼全部整合到agent中,儘可能的整合,不存在其他單獨的指令碼。


工單的執行和高可用是相對獨立的系統,目前還沒法統一走agent。


我的agent功能:

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



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25719946/viewspace-2852120/,如需轉載,請註明出處,否則將追究法律責任。

相關文章