伴隨著 TiDB 6.0 的發(fā)布,PingCAP Clinic 服務(wù)也揭開(kāi)了她的面紗,提供 Tech Preview 版本給廣大用戶(hù)試用。Clinic 服務(wù)源于 TiDB Cloud,以智能診斷提升 TiDB Cloud SLA ,以 AIOPS 方式降低 TiDB Cloud 成本;同時(shí) Clinic 也會(huì)將 Cloud 中積累的診斷經(jīng)驗(yàn)、運(yùn)維最佳實(shí)踐以診斷服務(wù)方式提供給本地部署的集群,使所有的云下用戶(hù)也從中受益。
本次發(fā)布的 Tech Preview 版本,對(duì)本地部署的用戶(hù)提供了診斷數(shù)據(jù)的快速采集和診斷環(huán)境的線上復(fù)現(xiàn),當(dāng) TiDB 集群遇到問(wèn)題,邀請(qǐng) PingCAP 技術(shù)支持人員協(xié)助遠(yuǎn)程定位時(shí),或者在 AskTUG 社區(qū)提問(wèn)時(shí),通過(guò) Clinic 服務(wù)采集并上傳診斷數(shù)據(jù),將大大加快問(wèn)題定位的速度。
Clinic 在 TiDB Cloud 中的應(yīng)用
小吳是 TiDB Cloud 的技術(shù)工程師,在協(xié)助 TiDB Cloud 用戶(hù)進(jìn)行 POC 時(shí),需要實(shí)時(shí)關(guān)注客戶(hù)集群的健康狀態(tài)和各種監(jiān)控指標(biāo),根據(jù)客戶(hù)的業(yè)務(wù)壓力指標(biāo),推薦最優(yōu)的集群拓?fù)渑渲煤蛿?shù)據(jù)庫(kù)參數(shù)配置;當(dāng)用戶(hù)集群出現(xiàn)異常時(shí),及時(shí)分析并解決問(wèn)題,保證集群 SLA。
Clinic 診斷場(chǎng)景
小吳登錄到 Clinic 診斷服務(wù),可以快速查詢(xún)到用戶(hù)所在集群的各個(gè)時(shí)間段的診斷數(shù)據(jù)。Clinic 將TiDB Cloud 平臺(tái)上的日志、監(jiān)控指標(biāo)等診斷數(shù)據(jù)安全存儲(chǔ),并提供可視化的展示。
除了基礎(chǔ)查看以外,Clinic 還提供智能分析。
智能分析延遲問(wèn)題
某個(gè)用戶(hù)抱怨這段時(shí)間的延遲突然變大了,小吳同學(xué)會(huì)很直覺(jué)地去找系統(tǒng)中哪個(gè)環(huán)節(jié)哪個(gè)實(shí)例的耗時(shí)更大,這似乎不是一件很難的事情,但是他需要在各個(gè) Grafana 面板之間反復(fù)橫跳地查找瓶頸,并從中眾多節(jié)點(diǎn)中找出一個(gè)問(wèn)題節(jié)點(diǎn),這是一件費(fèi)時(shí)費(fèi)力并且考驗(yàn)?zāi)托牡墓ぷ?。Clinic 診斷服務(wù)的智能分析很貼心地直接為小吳準(zhǔn)備好了結(jié)果如下:
在診斷延遲變大問(wèn)題時(shí),識(shí)別當(dāng)前的負(fù)載類(lèi)型也是一個(gè)重要的步驟。如果只是單單看讀寫(xiě)的比例可能還好,但是如果要看哪個(gè)實(shí)例間的讀寫(xiě)不平衡度呢?現(xiàn)在有些用戶(hù)集群的 TiKV 實(shí)例已經(jīng)達(dá)到數(shù)十甚至上百,想要分析這些實(shí)例上的讀寫(xiě)不平衡,幾乎是一件不適宜人眼工作的事情。但對(duì)于機(jī)器來(lái)說(shuō),計(jì)算這些并不是一個(gè)難事,Clinic 會(huì)結(jié)合上述問(wèn)題時(shí)間段(比如延遲升高時(shí)),給出這段時(shí)間內(nèi)不平衡度與平時(shí)(基線數(shù)據(jù))的區(qū)別。下圖是一個(gè)智能分析輸出的例子:
從上圖的分析上可以看出,在問(wèn)題時(shí)間段內(nèi),點(diǎn)讀請(qǐng)求和 coprocessor 讀請(qǐng)求比平時(shí)上升,小吳可以根據(jù)這個(gè)線索繼續(xù)定位。
智能日志聚類(lèi)分析
小吳同學(xué)除了分析 Metrics ,也要對(duì)集群日志進(jìn)行分析查看。咱們 TiDB 集群的日志量是相當(dāng)驚人的,組件再正交上實(shí)例,這個(gè)工作量也是非常大的。Clinic 提供智能日志聚類(lèi),幫助小吳同學(xué)在海量的日志中快速發(fā)現(xiàn)問(wèn)題。
日志聚類(lèi)將每個(gè)時(shí)間段內(nèi)的不同日志的趨勢(shì)以可視化的方式展示,哪類(lèi)日志的數(shù)量發(fā)生了突變,哪個(gè)實(shí)例的日志數(shù)量發(fā)生了突變,小吳同學(xué)一目了然,抓大放小,迅速聚焦到主要矛盾上。從下圖來(lái)看,當(dāng)前時(shí)間段,TiDB 集群處理最多的是紅框中的兩件事,數(shù)量占比多的可以考慮優(yōu)先排查。
TiDB Cloud 場(chǎng)景小結(jié)
Clinic 的智能診斷還處于初級(jí)階段,在近期還會(huì)有更多的分析模型上線并應(yīng)用到 TiDB Cloud 的診斷中,在實(shí)戰(zhàn)中不斷的訓(xùn)練模型,輸出高準(zhǔn)確率的問(wèn)題判斷規(guī)則,提前發(fā)現(xiàn)集群風(fēng)險(xiǎn)點(diǎn),提高問(wèn)題修復(fù)速度,從而不斷提升 TiDB Cloud 服務(wù)的 SLA。
Clinic 助力云下本地部署集群的問(wèn)題診斷
Clinic 診斷服務(wù)在 TiDB Cloud 上為小吳帶來(lái)了巨大的幫助,我們把 Clinic 的功能也提供給本地部署的集群,讓云下集群也能使用該功能進(jìn)行問(wèn)題診斷,這樣可以大大加速用戶(hù)問(wèn)題的解決。
在 Tech Preview 階段,Clinic 中數(shù)據(jù)導(dǎo)出、診斷環(huán)境重建的功能開(kāi)放給了本地部署的集群。當(dāng)本地部署的TiDB集群遇到問(wèn)題,邀請(qǐng) PingCAP 技術(shù)支持人員協(xié)助遠(yuǎn)程定位時(shí),或者在 AskTUG 社區(qū)提問(wèn)時(shí),通過(guò) Clinic 服務(wù)采集并上傳診斷數(shù)據(jù),將大大加快問(wèn)題定位的速度。
注意 Clinic 的智能分析相關(guān)功能暫時(shí)未在 Tech Preview 階段開(kāi)放給本地部署的集群。我們需要在 TiDB Cloud 中做更多的數(shù)據(jù)訓(xùn)練,當(dāng)分析模型的準(zhǔn)確度和計(jì)算成本都達(dá)到一定標(biāo)準(zhǔn)后,即會(huì)對(duì)云下的集群開(kāi)放。
數(shù)據(jù)采集和上傳
小宇是 TiDB 集群的 DBA,近期集群接入了一個(gè)新的上層業(yè)務(wù),集群出現(xiàn)性能問(wèn)題, 小宇向 PingCAP 技術(shù)支持上報(bào)了問(wèn)題,期望能盡快得到優(yōu)化的建議。
在以往的類(lèi)似場(chǎng)景中,上報(bào)問(wèn)題以后,PingCAP 技術(shù)支持會(huì)要求小宇上傳各種診斷信息,小宇需要去集群上手動(dòng)執(zhí)行多個(gè)復(fù)雜的命令,包括抓取各個(gè)節(jié)點(diǎn)的日志文件、使用 Metrics Tool 逐個(gè) Dashboard 保存數(shù)據(jù)等,一套采集、溝通和傳送數(shù)據(jù),往往就花了大半天時(shí)間。如今 PingCAP 技術(shù)支持同學(xué)建議小宇使用 Clinic 的采集工具,只需要一條命令,快速完成數(shù)據(jù)采集,然后直接上傳數(shù)據(jù)分享給技術(shù)支持。
小宇運(yùn)行一條簡(jiǎn)單的命令,就能采集最近 2 小時(shí)的集群各節(jié)點(diǎn)日志、metrics、配置項(xiàng)、硬件參數(shù)信息:
采集完成后,直接上傳至 Clinic 服務(wù):
Clinic 的診斷環(huán)境復(fù)現(xiàn)
數(shù)據(jù)上傳后,小宇登錄 Clinic,就能可視化的查看自己的診斷數(shù)據(jù)。將數(shù)據(jù)鏈接分享給 PingCAP 技術(shù)支持以后,PingCAP 技術(shù)專(zhuān)家也能立即查看全面的診斷數(shù)據(jù),加速問(wèn)題定位。
·查看 Metrics
支持在線查看 Metrics,提供多個(gè) Grafana Dashboard 模板以方便查看。
·查看日志
支持在線查看日志,可以通過(guò)各種過(guò)濾條件高效查看日志。
·查看慢查詢(xún)
支持在線查看慢查詢(xún)信息,與在集群內(nèi)部的 TiDB Dashboard 上看到的信息一致。
Clinic 的未來(lái)
Clinic 服務(wù)的發(fā)布,代表 PingCAP 會(huì)在保證數(shù)據(jù)庫(kù)的健康運(yùn)行方面持續(xù)地投入,Clinic 的最終愿景是通過(guò) TiDB Cloud 的技術(shù)積淀,整體提升云上云下 TiDB 集群的穩(wěn)定性,降低運(yùn)維成本,讓數(shù)據(jù)庫(kù)的運(yùn)維更簡(jiǎn)單。
Clinic 服務(wù)后續(xù)發(fā)展的方向主要集中在這幾點(diǎn):
·云上云下兼顧:Clinic 服務(wù)始終堅(jiān)持在云上做技術(shù)沉淀,將云上積累的經(jīng)驗(yàn)通過(guò)診斷服務(wù)、運(yùn)維服務(wù)的方式提供給云下集群 ,讓所有部署類(lèi)型的集群都受益。
·AI for DB:Clinic 服務(wù)使用最新的 AI 技術(shù),由數(shù)據(jù)庫(kù)領(lǐng)域?qū)<液?AI 領(lǐng)域?qū)<疑钊牒献鬟M(jìn)行模型建立和訓(xùn)練,最大限度地借助 AI 能力進(jìn)行問(wèn)題預(yù)判、問(wèn)題診斷和根因排查。
·數(shù)據(jù)庫(kù)自治服務(wù):Clinic 服務(wù)逐步實(shí)現(xiàn)數(shù)據(jù)庫(kù)自預(yù)判、自?xún)?yōu)化、自修復(fù),以自治的方式替代人工運(yùn)維操作,幫助用戶(hù)消除數(shù)據(jù)庫(kù)管理的復(fù)雜性及人工操作引發(fā)的服務(wù)故障,及時(shí)分析并解決問(wèn)題,保證集群穩(wěn)定運(yùn)行。
(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。 )