欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于salt的海量mongodb慢日志管理系統(tǒng)的制作方法

文檔序號(hào):11199272閱讀:406來源:國知局
基于salt的海量mongodb慢日志管理系統(tǒng)的制造方法與工藝

本發(fā)明屬于mongodb數(shù)據(jù)庫慢日志管理和性能調(diào)優(yōu)領(lǐng)域,主要應(yīng)用于互聯(lián)網(wǎng)行業(yè)海量存儲(chǔ)和性能調(diào)優(yōu)場景。



背景技術(shù):

隨著互聯(lián)網(wǎng)行業(yè)蓬勃發(fā)展,業(yè)務(wù)對(duì)數(shù)據(jù)庫的需求更加多樣化,其中,mongodb數(shù)據(jù)庫作為非關(guān)系型數(shù)據(jù)庫,在盛傳環(huán)境應(yīng)用越來越廣泛。對(duì)于大規(guī)模mongodb集群,管理海量的慢日志顯得越來越重要。

現(xiàn)有的管理慢日志系統(tǒng)的缺點(diǎn):

(1)維護(hù)成本高:需要較多的人工維護(hù)mongodb日志管理工作,效率低下。

(2)功能簡單:無法解析mongodb慢日志和展示慢日志,無法查看歷史信息。

(3)缺乏自動(dòng)化:自動(dòng)化程度低下,需要大量的人力操作。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于salt的海量mongodb慢日志管理系統(tǒng),可以管理大規(guī)模mongodb慢日志,并且可以解析慢日志,為性能調(diào)優(yōu)提供參考依據(jù)。

本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種基于salt的海量mongodb慢日志管理系統(tǒng),包括salt管理端、mongodb節(jié)點(diǎn)和分布式存儲(chǔ);

salt管理端是管理salt客戶端的服務(wù)器,用于注冊(cè)和注銷salt客戶端,發(fā)送指令到salt客戶端;salt管理端包括salt管理模塊、元信息管理模塊、采集慢日志模塊和解析慢日志模塊;

mongodb節(jié)點(diǎn)是部署mongodb服務(wù)的服務(wù)器,每個(gè)mongodb節(jié)點(diǎn)均需要部署salt客戶端;salt客戶端接收salt管理端的指令,完成相應(yīng)的操作,返回結(jié)果給salt管理端;mongodb節(jié)點(diǎn)包括慢日志管理模塊;

分布式存儲(chǔ)是指存儲(chǔ)海量小文件的分布式文件系統(tǒng),包括存儲(chǔ)慢日志模塊。

進(jìn)一步地,所述salt管理模塊包括:

在所有mongodb節(jié)點(diǎn)部署salt客戶端,salt管理端部署在單獨(dú)的一臺(tái)服務(wù)器上。該模塊定期調(diào)用salt管理端接口,檢查所有的mongodb節(jié)點(diǎn)上的salt客戶端是否注冊(cè)到salt管理端,如未注冊(cè),調(diào)用salt管理端接口,注冊(cè)所述salt客戶端;如注冊(cè)失敗,則發(fā)送通知給管理員??蛇x擇注銷某個(gè)mongodb節(jié)點(diǎn)的salt客戶端。所有的mongodb節(jié)點(diǎn)對(duì)應(yīng)的salt客戶端全部注冊(cè)到salt管理端后,salt管理端就可以發(fā)送指令和文件給salt客戶端,完成特定的操作。在salt管理端,定期檢測salt客戶端是否通達(dá),如不通,發(fā)送通知給管理員。

進(jìn)一步地,所述元信息管理模塊包括:

salt管理端定期調(diào)用元信息管理模塊,及時(shí)獲取最新的元信息。所述元信息包括mongodb節(jié)點(diǎn)主機(jī)名、mongodb節(jié)點(diǎn)ip、mongodb端口和mongodb慢日志文件名。

首先,salt管理端獲取所有的mongodb節(jié)點(diǎn)主機(jī)名;然后,針對(duì)每個(gè)mongodb節(jié)點(diǎn),salt管理端通過發(fā)送指令給salt客戶端,獲取每個(gè)mongodb節(jié)點(diǎn)上所有的mongodb進(jìn)程信息,通過mongodb進(jìn)程信息,可以解析得到mongodb配置文件名,通過所述mongodb配置文件名,可以獲取mongodb端口和mongodb慢日志文件名。同時(shí),根據(jù)mongodb節(jié)點(diǎn)主機(jī)名獲取到mongodb節(jié)點(diǎn)ip。所述mongodb節(jié)點(diǎn)主機(jī)名、mongodb節(jié)點(diǎn)ip、mongodb端口和mongodb慢日志文件名保存在元信息表中。存儲(chǔ)慢日志模塊運(yùn)行結(jié)束后,慢日志文件名和存儲(chǔ)路徑保存在慢日志元信息表中。

進(jìn)一步地,所述慢日志管理模塊包括:

需要傳入的參數(shù):mongodb節(jié)點(diǎn)主機(jī)名mongodb慢日志文件名

慢日志管理模塊定期切割慢日志文件和清理無用慢日志文件。

在salt管理端,采用定時(shí)任務(wù)形式,定期切割所有mongodb節(jié)點(diǎn)上的mongodb慢日志文件:

針對(duì)每個(gè)所述mongodb節(jié)點(diǎn),根據(jù)所述mongodb慢日志文件名,執(zhí)行歸檔操作,將mongodb慢日志文件內(nèi)容打印到一個(gè)以日期為后綴的文件里,記為歸檔文件;同時(shí),清空mongodb慢日志文件內(nèi)容。所述日期是當(dāng)天的日期。對(duì)于3天前的歸檔文件,定期刪除。在salt管理端,定期清理3天前的mongodb慢日志文件和慢日志解析文件。

進(jìn)一步地,所述采集慢日志模塊包括:

需要傳入如下兩個(gè)參數(shù):mongodb節(jié)點(diǎn)主機(jī)名、歸檔mongdb慢日志文件名。

慢日志管理模塊執(zhí)行結(jié)束后,salt管理端發(fā)送操作指令到mongodb節(jié)點(diǎn)上salt客戶端,采集mongodb節(jié)點(diǎn)上的歸檔mongodb慢日志文件,這樣,歸檔mongodb慢日志文件傳輸?shù)絪alt管理端指定目錄。

進(jìn)一步地,所述解析慢日志模塊包括:

需要傳入的參數(shù):歸檔mongodb慢日志文件名

分析歸檔mongodb慢日志文件內(nèi)容,得到慢日志統(tǒng)計(jì)信息,保存在相應(yīng)的慢日志解析文件。

salt管理端在調(diào)用采集慢日志模塊結(jié)束之后,所有的歸檔mongodb慢日志文件存放在salt管理端指定目錄中,此時(shí),定時(shí)任務(wù)調(diào)用慢日志解析腳本,解析每個(gè)歸檔mongodb慢日志文件,分別得到相應(yīng)的慢日志解析文件。

進(jìn)一步地,所述存儲(chǔ)慢日志模塊包括:

需要傳入的參數(shù):歸檔mongodb慢日志文件名、歸檔mongodb慢日志解析文件名

在salt管理端,通過調(diào)用分布式存儲(chǔ)接口,上傳所述歸檔mongodb慢日志文件和慢日志解析文件到分布式存儲(chǔ),然后返回mongodb慢日志文件和慢日志解析文件的存儲(chǔ)路徑,分別記為慢日志存儲(chǔ)路徑和慢日志解析文件存儲(chǔ)路徑。然后調(diào)用元信息管理模塊,把慢日志文件名,慢日志存儲(chǔ)路徑,慢日志解析文件和慢日志解析文件存儲(chǔ)路徑記錄到慢日志元信息表中。

進(jìn)一步地,該系統(tǒng)還包括慢日志管理平臺(tái),用于在web頁面展示慢日志的詳細(xì)信息,方便查看mongodb數(shù)據(jù)庫存在的性能問題和及時(shí)進(jìn)行調(diào)優(yōu);包括展示慢日志模塊,存儲(chǔ)慢日志模塊執(zhí)行結(jié)束后,慢日志管理平臺(tái)調(diào)用慢日志元信息表展示所述慢日志解析文件,便于直觀查看mongodb存在的性能問題,為性能調(diào)優(yōu)提供準(zhǔn)確參考。

本發(fā)明提出的基于salt的海量mongodb慢日志管理系統(tǒng),優(yōu)點(diǎn)如下:

(1)支持海量存儲(chǔ):本發(fā)明采用分布式存儲(chǔ),可以支持大規(guī)模mongodb慢日志存儲(chǔ)。

(2)維護(hù)成本低:采用自動(dòng)化方式管理慢日志,維護(hù)成本很低

(3)便于性能調(diào)優(yōu):解析mongodb慢日志,可以輕松查看效率低下的慢查詢,大大提升性能調(diào)優(yōu)效果。

(4)可視化展示:采用平臺(tái)方式展示慢日志解析文件,更加直觀,可視化效果更好。

附圖說明

圖1是本發(fā)明基于salt的海量mongodb慢日志管理系統(tǒng)總體架構(gòu)圖。

圖2是本發(fā)明各個(gè)模塊相互調(diào)用的流程圖。

具體實(shí)施方式

圖1是本發(fā)明基于salt的海量mongodb慢日志管理系統(tǒng)總體架構(gòu)圖??傮w包括四部分:salt管理端、mongodb節(jié)點(diǎn)、分布式存儲(chǔ)和慢日志管理平臺(tái)。salt管理端首先獲取所有mongodb節(jié)點(diǎn)的mongodb慢日志元信息,然后采集慢日志并進(jìn)行解析,把慢日志文件和慢日志解析文件存儲(chǔ)在分布式存儲(chǔ)中,在慢日志管理平臺(tái)中展示mongodb慢日志解析文件內(nèi)容。

圖2是本發(fā)明各個(gè)模塊相互調(diào)用的流程圖。首先,salt管理模塊通過salt客戶端獲取所有mongodb節(jié)點(diǎn)上mongodb服務(wù)元信息,并注冊(cè)到元信息管理模塊;通過salt客戶端定期切割慢日志文件,采集慢日志模塊采集所述慢日志并發(fā)送所述慢日志到salt管理端;解析慢日志模塊在salt管理端解析所述慢日志得到解析文件,然后存儲(chǔ)慢日志模塊發(fā)送所述解析文件和慢日志文件到分布式存儲(chǔ),并把慢日志和解析文件名稱以及存儲(chǔ)路徑注冊(cè)到元信息管理模塊??蛇x的,展示慢日志模塊調(diào)用元信息管理模塊,展示所述慢日志解析文件內(nèi)容。

下面詳細(xì)介紹各模塊的實(shí)現(xiàn)過程:

(1)salt管理端

salt管理端是管理salt客戶端的服務(wù)器,用于注冊(cè)和注銷salt客戶端,發(fā)送指令到salt客戶端。所述指令一般是通過一個(gè)或者多個(gè)linux命令完成的操作。salt客戶端接收salt管理端的指令,完成相應(yīng)的操作,返回結(jié)果給salt管理端。salt管理端包括salt管理模塊、元信息管理模塊、采集慢日志模塊和解析慢日志模塊。

(2)mongodb節(jié)點(diǎn)

mongodb節(jié)點(diǎn)是指部署mongodb服務(wù)的服務(wù)器,每個(gè)mongodb節(jié)點(diǎn)均需要部署salt客戶端。主要包括慢日志管理模塊。

(3)分布式存儲(chǔ)

分布式存儲(chǔ)是指存儲(chǔ)海量小文件的分布式文件系統(tǒng),支持分布式,易擴(kuò)容,可伸縮。所述分布式存儲(chǔ)是指fastdfs存儲(chǔ)。主要包括存儲(chǔ)慢日志模塊。

(4)慢日志管理平臺(tái)

可選的,主要是用于在web頁面展示慢日志的詳細(xì)信息,方便查看mongodb數(shù)據(jù)庫存在的性能問題和及時(shí)進(jìn)行調(diào)優(yōu)。包括展示慢日志模塊。

各子模塊實(shí)現(xiàn)如下:

(1)salt管理模塊

主要功能是在所有mongodb節(jié)點(diǎn)部署salt客戶端,salt管理端部署在單獨(dú)的一臺(tái)服務(wù)器上。

該模塊定期調(diào)用salt管理端接口,檢查所有的mongodb節(jié)點(diǎn)上的salt客戶端是否注冊(cè)到salt管理端,檢測方式如下:

#salt‐key‐l‐acc|grep‘mongodb節(jié)點(diǎn)主機(jī)名’

如果返回值為假,需要調(diào)用salt管理端接口,注冊(cè)所述salt客戶端,注冊(cè)方式如下:

#salt‐key–a–y‘mongodb節(jié)點(diǎn)主機(jī)名’

否則,不需要調(diào)用注冊(cè)所述salt客戶端。如果注冊(cè)失敗,那么發(fā)送通知給管理員處理。

如果需要注銷某個(gè)mongodb節(jié)點(diǎn)的所述salt客戶端,需要手動(dòng)執(zhí)行如下指令:

#salt‐key–d‘mongodb節(jié)點(diǎn)主機(jī)名’

所有的mongodb節(jié)點(diǎn)對(duì)應(yīng)的salt客戶端全部注冊(cè)到salt管理端后,salt管理端就可以發(fā)送指令和文件給salt客戶端,完成特定的操作。

并且,在salt管理端,定期檢測salt客戶端是否通達(dá),檢測方式如下:

#salt'mongodb節(jié)點(diǎn)主機(jī)名'cmd.run'exit'

如果返回值為真,說明該mongodb節(jié)點(diǎn)主機(jī)名所述salt客戶端可以通達(dá);否則,需要發(fā)送通知給管理員,需要人工處理。

(2)元信息管理模塊

所述元信息包括mongodb節(jié)點(diǎn)主機(jī)名、mongodb節(jié)點(diǎn)ip、mongodb端口和mongodb慢日志文件名。

salt管理端定期調(diào)用元信息管理模塊,及時(shí)獲取最新的元信息。

首先,salt管理端獲取所有的mongodb節(jié)點(diǎn)主機(jī)名,獲取方式如下:

#salt‐key–l|grepmongodb節(jié)點(diǎn)主機(jī)名前綴

mongodb節(jié)點(diǎn)主機(jī)名前綴是mongodb節(jié)點(diǎn)主機(jī)名的前綴字符,基于此可以過濾得到所有的mongodb節(jié)點(diǎn)。

然后,針對(duì)每個(gè)mongodb節(jié)點(diǎn),salt管理端通過發(fā)送指令給salt客戶端,獲取每個(gè)mongodb節(jié)點(diǎn)上所有的mongodb進(jìn)程信息,命令如下:

#salt‘mongodb節(jié)點(diǎn)主機(jī)名’cmd.run‘ps–ef|egrepmongod|egrep–vgrep’

通過mongodb進(jìn)程信息,可以解析得到mongodb配置文件名,通過所述mongodb配置文件名,可以獲取mongodb端口和mongodb慢日志文件名。

同時(shí),根據(jù)mongodb節(jié)點(diǎn)主機(jī)名獲取到mongodb節(jié)點(diǎn)ip。

所述mongodb節(jié)點(diǎn)主機(jī)名、mongodb節(jié)點(diǎn)ip、mongodb端口和mongodb慢日志文件名保存在元信息表中。

存儲(chǔ)慢日志模塊執(zhí)行結(jié)束后,慢日志文件名和存儲(chǔ)路徑保存在慢日志元信息表中。

(3)慢日志管理模塊

需要傳入的參數(shù):mongodb節(jié)點(diǎn)主機(jī)名mongodb慢日志文件名

主要功能是定期切割慢日志文件和清理無用慢日志文件。

在salt管理端,采用定時(shí)任務(wù)形式,定期切割所有mongodb節(jié)點(diǎn)上的mongodb慢日志文件:

20***sh/tmp/incision_slowlog.sh

每天00:02:00執(zhí)行該定時(shí)任務(wù)。

incision_slowlog.sh主要邏輯如下:

for所有的mongodb節(jié)點(diǎn)主機(jī)名

do

salt‘mognodb節(jié)點(diǎn)主機(jī)名’cmd.run‘rsyncmongdb慢日志文件名歸檔mongodb慢日志文件&&echo>’mongdb慢日志文件名’

salt‘mongodb節(jié)點(diǎn)主機(jī)名’cmd.run‘rm–f3天譴的歸檔mongodb慢日志文件’done

說明:

歸檔mongodb慢日志文件是以日期為后綴的mongodb慢日志文件,如mongod.log.20170501,

每天00:02:00,切割所有mongodb節(jié)點(diǎn)的mongodb慢日志文件,然后刪除mongodb節(jié)點(diǎn)3天前的歸檔mongodb慢日志文件。

在salt管理端,定期運(yùn)行如下定時(shí)任務(wù):

12***sh/tmp/del_old_md_slowlog.sh

所述定時(shí)任務(wù)包含腳本del_old_md_slowlog.sh,功能是每天02:01:00清理salt管理端本地3天之前的歸檔mongodb慢日志文件和慢日志解析文件。

(4)采集慢日志模塊

需要傳入如下兩個(gè)參數(shù):mongodb節(jié)點(diǎn)主機(jī)名、歸檔mongdb慢日志文件名。

慢日志管理模塊執(zhí)行結(jié)束后,salt管理端發(fā)送操作指令到mongodb節(jié)點(diǎn)上salt客戶端,采集mongodb節(jié)點(diǎn)上的歸檔mongodb慢日志文件。

所述操作指令如下:

salt"mongodb節(jié)點(diǎn)主機(jī)名"cp.push歸檔mongodb慢日志文件名

通過所述方式,歸檔mongodb慢日志文件傳輸?shù)絪alt管理端指定目錄。

(5)解析慢日志模塊

需要傳入的參數(shù):歸檔mongodb慢日志文件名

主要功能是分析歸檔mongodb慢日志文件內(nèi)容,得到慢日志統(tǒng)計(jì)信息,保存在相應(yīng)的慢日志解析文件。

salt管理端在調(diào)用采集慢日志模塊結(jié)束之后,所有的歸檔mongodb慢日志文件存放在salt管理端指定目錄中,此時(shí),定時(shí)任務(wù)調(diào)用慢日志解析腳本(可以采用mtools工具或者自行編寫慢日志解析工具),解析每個(gè)歸檔mongodb慢日志文件,分別得到相應(yīng)的慢日志解析文件。

定時(shí)任務(wù)如下:

34***解析慢日志文件腳本

解析慢日志文件腳本就是解析mongodb慢日志文件的工具,每天04:03:00執(zhí)行該腳本,解析所有歸檔mongodb慢日志文件,得到對(duì)應(yīng)的慢日志解析文件。(6)存儲(chǔ)慢日志模塊

需要傳入的兩個(gè)參數(shù):歸檔mongodb慢日志文件名、歸檔mongodb慢日志解析文件名

在salt管理端,通過調(diào)用分布式存儲(chǔ)接口,上傳mongodb慢日志文件和mongodb慢日志解析文件到分布式存儲(chǔ),然后返回mongodb慢日志文件和mongodb慢日志解析文件的存儲(chǔ)路徑,分別記為慢日志存儲(chǔ)路徑和慢日志解析文件存儲(chǔ)路徑。然后調(diào)用元信息管理模塊,把慢日志文件名,慢日志存儲(chǔ)路徑,慢日志解析文件和慢日志解析文件存儲(chǔ)路徑記錄到慢日志元信息表中。

(7)展示慢日志模塊

可選的,存儲(chǔ)慢日志模塊執(zhí)行結(jié)束后,慢日志管理平臺(tái)調(diào)用慢日志元信息表展示所述慢日志解析文件,便于直觀查看mongodb存在的性能問題,為性能調(diào)優(yōu)提供準(zhǔn)確參考。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大城县| 大竹县| 辽源市| 长葛市| 济阳县| 壶关县| 揭西县| 青龙| 临武县| 龙胜| 迁西县| 淮滨县| 龙南县| 囊谦县| 长乐市| 镇平县| 长宁县| 疏勒县| 香格里拉县| 林周县| 沈阳市| 越西县| 蛟河市| 晋中市| 伊金霍洛旗| 南京市| 海口市| 黄冈市| 建始县| 邵阳市| 萍乡市| 平潭县| 米林县| 永昌县| 黄山市| 家居| 兴安盟| 江陵县| 万盛区| 南漳县| 安化县|