本申請涉及云計算,特別是涉及一種容器集群的監(jiān)控采集方法、裝置、計算機設(shè)備和可讀存儲介質(zhì)。
背景技術(shù):
1、kubernetes作為容器編排工具,正越來越多地被用作云平臺的底層計算框架,大量應(yīng)用和組件以容器形式部署于kubernetes中。然而,傳統(tǒng)針對應(yīng)用或組件的監(jiān)控采集方式不夠靈活,易造成對配置文件的頻繁修改。
技術(shù)實現(xiàn)思路
1、基于此,有必要針對上述技術(shù)問題,提供一種能夠提高靈活性的容器集群的監(jiān)控采集方法、裝置、計算機設(shè)備和可讀存儲介質(zhì)。
2、第一方面,本申請?zhí)峁┝艘环N容器集群的監(jiān)控采集方法,包括:
3、獲取容器集群的待監(jiān)控對象;待監(jiān)控對象包括在pod創(chuàng)建過程中完成監(jiān)控標(biāo)簽注入的容器組pod;
4、基于監(jiān)控標(biāo)簽,確定出待監(jiān)控對象中的目標(biāo)pod;
5、基于目標(biāo)pod生成目標(biāo)對象,采集目標(biāo)對象的監(jiān)控指標(biāo),得到監(jiān)控采集結(jié)果。
6、在其中一個實施例中,監(jiān)控指標(biāo)包括jvm監(jiān)控指標(biāo)和數(shù)據(jù)庫監(jiān)控指標(biāo);目標(biāo)對象包括容器集群中的應(yīng)用程序或組件。
7、在其中一個實施例中,獲取容器集群的待監(jiān)控對象,包括:
8、利用statefulset部署監(jiān)控工具到容器集群中;其中,監(jiān)控工具的監(jiān)控目標(biāo)為容器組pod;
9、通過監(jiān)控工具獲取待監(jiān)控對象。
10、在其中一個實施例中,監(jiān)控工具包括prometheus工具;prometheus工具的服務(wù)發(fā)現(xiàn)模式配置為基于k8s的自動發(fā)現(xiàn)模式。
11、在其中一個實施例中,基于監(jiān)控標(biāo)簽,確定出待監(jiān)控對象中的目標(biāo)pod,包括:
12、通過監(jiān)控工具,根據(jù)監(jiān)控標(biāo)簽對待監(jiān)控對象進行過濾,得到目標(biāo)pod。
13、在其中一個實施例中,方法還包括:
14、響應(yīng)于接收到pod創(chuàng)建請求,觸發(fā)目標(biāo)回調(diào)函數(shù);pod創(chuàng)建請求包括pod元數(shù)據(jù);
15、執(zhí)行目標(biāo)回調(diào)函數(shù)以攔截pod創(chuàng)建請求,以及在pod元數(shù)據(jù)中不存在監(jiān)控標(biāo)簽的情況下,將監(jiān)控標(biāo)簽插入到pod元數(shù)據(jù)中,得到目標(biāo)pod元數(shù)據(jù);
16、基于目標(biāo)pod元數(shù)據(jù),創(chuàng)建容器組pod。
17、在其中一個實施例中,目標(biāo)回調(diào)函數(shù)包括基于webhook的回調(diào)函數(shù)。
18、第二方面,本申請還提供了一種容器集群的監(jiān)控采集裝置,包括:
19、監(jiān)控對象獲取模塊,用于獲取容器集群的待監(jiān)控對象;待監(jiān)控對象包括在pod創(chuàng)建過程中完成監(jiān)控標(biāo)簽注入的容器組pod;
20、目標(biāo)確定模塊,用于基于監(jiān)控標(biāo)簽,確定出待監(jiān)控對象中的目標(biāo)pod;
21、采集模塊,用于基于目標(biāo)pod生成目標(biāo)對象,采集目標(biāo)對象的監(jiān)控指標(biāo),得到監(jiān)控采集結(jié)果。
22、第三方面,本申請還提供了一種計算機設(shè)備,包括存儲器和處理器,存儲器存儲有計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)上述容器集群的監(jiān)控采集方法中的各步驟。
23、第四方面,本申請還提供了一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時實現(xiàn)上述容器集群的監(jiān)控采集方法中的各步驟。
24、上述容器集群的監(jiān)控采集方法、裝置、計算機設(shè)備和可讀存儲介質(zhì),在獲取到容器集群的待監(jiān)控對象的情況下,基于監(jiān)控標(biāo)簽,確定出待監(jiān)控對象中的目標(biāo)pod,進而可以基于目標(biāo)pod生成目標(biāo)對象,采集目標(biāo)對象的監(jiān)控指標(biāo),得到監(jiān)控采集結(jié)果,其中,待監(jiān)控對象包括在pod創(chuàng)建過程中完成監(jiān)控標(biāo)簽注入的容器組pod,即本申請為需要被監(jiān)控的應(yīng)用或組件的pod自動注入標(biāo)簽,無需對應(yīng)用或組件提前干預(yù),使得監(jiān)控采集方式更為靈活,實現(xiàn)了應(yīng)用部署的無侵入性。
1.一種容器集群的監(jiān)控采集方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述監(jiān)控指標(biāo)包括jvm監(jiān)控指標(biāo)和數(shù)據(jù)庫監(jiān)控指標(biāo);所述目標(biāo)對象包括所述容器集群中的應(yīng)用程序或組件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取容器集群的待監(jiān)控對象,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述監(jiān)控工具包括prometheus工具;所述prometheus工具的服務(wù)發(fā)現(xiàn)模式配置為基于k8s的自動發(fā)現(xiàn)模式。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述監(jiān)控標(biāo)簽,確定出所述待監(jiān)控對象中的目標(biāo)pod,包括:
6.根據(jù)權(quán)利要求1至5任一項所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述目標(biāo)回調(diào)函數(shù)包括基于webhook的回調(diào)函數(shù)。
8.一種容器集群的監(jiān)控采集裝置,其特征在于,所述裝置包括:
9.一種計算機設(shè)備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。
10.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述的方法的步驟。