版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3 4 5 6 6 6 7 8 8 8 9 9 10 10 11 11 12 13 14 14 14 14 14 15 1日志概述日志是應(yīng)用最重要的基礎(chǔ)運(yùn)維數(shù)據(jù)之一,應(yīng)用運(yùn)行過(guò)程中的日志數(shù)據(jù)可以用于監(jiān)控,故障分析,問(wèn)題回溯等日常運(yùn)維活動(dòng),也可用于挖掘、聚類(lèi)等智能分析,有效支撐亞健康檢測(cè),故障預(yù)測(cè)等主動(dòng)預(yù)防活動(dòng)。日志的特點(diǎn):信息量大,基于時(shí)間序列生成,純文本格式,生成后不再修改。本文結(jié)合華為實(shí)踐經(jīng)驗(yàn)給出行業(yè)應(yīng)用日志的參考規(guī)范。2 2行業(yè)業(yè)務(wù)應(yīng)用類(lèi)場(chǎng)景多、廠商多,并且各應(yīng)用對(duì)日志的實(shí)現(xiàn)差異較大。本文所述日志參考規(guī)范的使用范圍為行業(yè)業(yè)務(wù)應(yīng)用。而其他各層的軟件、硬件通常會(huì)有相對(duì)應(yīng)的標(biāo)準(zhǔn)來(lái)規(guī)范化日志生成、記錄、存儲(chǔ)等活動(dòng),例如:rfc3164或rfc5424。 參考ISO/IECITU-TX.735中定義的通用日志模型,一般日志處理框架如下圖所示:1)業(yè)務(wù)模塊:日志產(chǎn)生的源,各個(gè)業(yè)務(wù)模塊產(chǎn)生日志原始信息并發(fā)送給OM日志預(yù)處2)日志預(yù)處理:接收處理所有業(yè)務(wù)模塊的日志通知(含大量日志消息時(shí)的緩沖、流控等處理形成日志消息發(fā)送給日志處理模塊,完成所有業(yè)務(wù)模塊日志的集中存儲(chǔ)。3)日志處理:根據(jù)配置的日志格式,在文本文件、數(shù)據(jù)庫(kù)中記錄各類(lèi)的日志信息,實(shí)現(xiàn)業(yè)務(wù)模塊日志的集中存儲(chǔ);根據(jù)設(shè)置的過(guò)濾條件,日志上報(bào)模塊將特定日志通過(guò)相關(guān)協(xié)議發(fā)送給日志服務(wù)器、采集工具等。在行業(yè)應(yīng)用開(kāi)發(fā)中可以使用日志標(biāo)準(zhǔn)組件加快開(kāi)發(fā)進(jìn)度,如Syslog組件,Log4j,Log4j2,Logback等。 4.1日志分類(lèi)日志范圍比較廣,凡是管理對(duì)象的相應(yīng)事件和異?;顒?dòng)都可用日志形式記錄下來(lái)。因此一般認(rèn)為日志具有記錄用戶(hù)活動(dòng)、管理系統(tǒng)安全的功能,同時(shí)也能為系統(tǒng)進(jìn)行故障診斷和維護(hù)提供依據(jù)。規(guī)則:日志按照使用基本場(chǎng)景劃分為用戶(hù)日志、運(yùn)行日志、安全日志、調(diào)試日志等類(lèi)類(lèi)別定義用戶(hù)日志記錄實(shí)際用戶(hù)的關(guān)鍵訪問(wèn)信息,例如登錄、退出,關(guān)鍵操作,關(guān)鍵配置更改等。運(yùn)行日志記錄系統(tǒng)的運(yùn)行狀況或執(zhí)行過(guò)程中的一些關(guān)鍵信息。安全日志記錄系統(tǒng)管理用戶(hù)登錄、注銷(xiāo)和鑒權(quán),增加、刪除用戶(hù),用戶(hù)的鎖定和解鎖,角色權(quán)限變更等活動(dòng)。調(diào)試日志記錄調(diào)試級(jí)別的相關(guān)信息,一般用于跟蹤運(yùn)行路徑,如記錄函數(shù)的調(diào)用和返回值,大部分為代碼級(jí)的信息輸出,調(diào)試日志用于產(chǎn)品研發(fā)人員定位復(fù)雜的問(wèn)題。日志級(jí)別用來(lái)表達(dá)日志所反映的事件的嚴(yán)重程度。級(jí)別的的分類(lèi)方法較多,通常分為五級(jí),可滿足業(yè)務(wù)需要,也方便理解和記憶。(信息)、Debug(調(diào)試)五個(gè)級(jí)別。級(jí)別簡(jiǎn)寫(xiě)含義CriticalCRITICAL導(dǎo)致系統(tǒng)業(yè)務(wù)嚴(yán)重受損或者完全不可用的緊急情況,規(guī)模性的用戶(hù)受影響,需要運(yùn)維人員緊急處理。ErrorERROR導(dǎo)致系統(tǒng)運(yùn)行環(huán)境受損甚至喪失部分功能,或非預(yù)期的數(shù)據(jù)/事件影響模塊功能實(shí)現(xiàn)的錯(cuò)誤,需要運(yùn)維人員關(guān)注和處理。Warning系統(tǒng)和預(yù)期的狀態(tài)不一致,但是不影響整個(gè)系統(tǒng)的運(yùn)InformationalINFO用于系統(tǒng)運(yùn)行正常的信息記錄,輸出一些狀態(tài)或狀態(tài)變化的信息,例如當(dāng)前系統(tǒng)的狀態(tài)、數(shù)據(jù)庫(kù)的連接狀DebugDEBUG調(diào)試,用于跟蹤運(yùn)行路徑,如跟蹤函數(shù)的進(jìn)入和退出等,記錄調(diào)試信息。記載的信息比較全面,是給開(kāi)發(fā)人員用于定位復(fù)雜的問(wèn)題。2、上述級(jí)別與syslog(附錄A)中級(jí)別中的映射關(guān)系如下表:表3與syslog日志級(jí)別的映射級(jí)別對(duì)應(yīng)syslog中的日志級(jí)別CriticalEmergency、Alert、CriticalErrorErrorWarningWarningInformationalNotice、InformationalDebugDebug4.3典型字段日志通常包括如下典型字段。必選說(shuō)明時(shí)間戳必選包括年月日時(shí)分秒信息。主機(jī)名可選記錄日志的主機(jī)名稱(chēng)或者主機(jī)IP地址。進(jìn)程名可選記錄日志的進(jìn)程名稱(chēng)。模塊名可選記錄日志的軟件模塊對(duì)象。級(jí)別必選日志的級(jí)別:CRITICAL,ERROR,WARN,INFO,DEBUG。必選內(nèi)容的詳細(xì)描述。處理建議可選Critical級(jí)別優(yōu)先給出處理建議。日志生成是指應(yīng)用在其本地的日志文件增加日志記錄的功能,也可記錄在日志數(shù)據(jù)庫(kù)或者同步發(fā)送給遠(yuǎn)端日志服務(wù)器。以下對(duì)各類(lèi)日志時(shí)機(jī)、格式進(jìn)行規(guī)定。規(guī)則:同一個(gè)應(yīng)用的不同模塊要采用相同的日志格式。建議:對(duì)于以文本文件記錄的日志,為了便于字段內(nèi)容的理解和解析,關(guān)鍵字段內(nèi)容可采用固定分隔符進(jìn)行分隔,如使用“|”“[]”作為分隔符。規(guī)則:日志記錄中的時(shí)間應(yīng)包括年月日時(shí)分秒,優(yōu)先使用本地時(shí)間,根據(jù)需要可使用UTC時(shí)間。時(shí)間樣例:2019-07-0821:06:094.4.1用戶(hù)日志規(guī)則:對(duì)用戶(hù)日志的內(nèi)容要求包括但不限于如下信息:查詢(xún)類(lèi)操作,關(guān)鍵信息查詢(xún),查詢(xún)結(jié)果是否成功;設(shè)置類(lèi)操作,需要包括設(shè)置對(duì)象標(biāo)識(shí)、名稱(chēng)、相關(guān)屬性名稱(chēng)和屬性新值和舊值;創(chuàng)建類(lèi)操作,需要包括創(chuàng)建涉及對(duì)象標(biāo)識(shí)、名稱(chēng);刪除類(lèi)操作,需要包括刪除涉及對(duì)象標(biāo)識(shí)、名稱(chēng);用戶(hù)日志通常較多,是否記錄日志可以結(jié)合實(shí)際情況考慮。規(guī)則:系統(tǒng)運(yùn)行過(guò)程中的異常狀態(tài)、異常動(dòng)作、系統(tǒng)運(yùn)行過(guò)程中的關(guān)鍵事件和系統(tǒng)資源占用的相關(guān)信息等需要記錄運(yùn)行日志。運(yùn)行日志記錄創(chuàng)建的場(chǎng)景包括但不限于以下列出的幾種情形:-記錄系統(tǒng)運(yùn)行過(guò)程中的異常狀態(tài)和異常動(dòng)作,如存儲(chǔ)過(guò)程執(zhí)行失敗,系統(tǒng)死循環(huán);-記錄系統(tǒng)運(yùn)行過(guò)程中的重要的狀態(tài)變化,如服務(wù)狀態(tài)變化;-記錄系統(tǒng)進(jìn)程運(yùn)行過(guò)程中的關(guān)鍵事件,如系統(tǒng)啟動(dòng)、系統(tǒng)關(guān)閉、中斷處理、任務(wù)切換、系統(tǒng)重啟、進(jìn)程吊死;-記錄系統(tǒng)關(guān)鍵線程的運(yùn)行情況,如線程啟動(dòng)、線程掛起、線程恢復(fù)、線程退出,線-記錄系統(tǒng)軟硬件資源的相關(guān)信息,如服務(wù)器/CPU/內(nèi)存/硬盤(pán)等器件的異常和恢復(fù)信息、資源破壞信息、資源操作錯(cuò)誤信息、數(shù)據(jù)庫(kù)表鎖定等;-記錄重要事件的處理軌跡;-記錄交互中斷、恢復(fù)信息,如業(yè)務(wù)模塊連接數(shù)據(jù)庫(kù)失敗、模塊間通信中斷;-License加載成功/失敗,配置文件加載成功/失?。?服務(wù)的加載、卸載、激活、去激活;-定時(shí)任務(wù)執(zhí)行失??;-資源創(chuàng)建、存取、釋放、大小改變、并發(fā)處理(如臨界點(diǎn))等;-業(yè)務(wù)相關(guān)資源統(tǒng)計(jì)處等;-跨模塊的服務(wù)調(diào)用;-關(guān)鍵業(yè)務(wù)指標(biāo)(如訪問(wèn)人數(shù)、訪問(wèn)成功率、訪問(wèn)時(shí)長(zhǎng)等)可以通過(guò)周期性記錄日志的方式保存為日志。規(guī)則:對(duì)于系統(tǒng)運(yùn)行過(guò)程出現(xiàn)的登錄認(rèn)證、帳戶(hù)管理等安全事件需要記錄安全日志。安全日志記錄創(chuàng)建的場(chǎng)景包括以下列出的幾種情形:-管理員登錄:系統(tǒng)用戶(hù)(指系統(tǒng)管理員、操作維護(hù)員、系統(tǒng)監(jiān)控員等)登錄、注銷(xiāo)和鑒權(quán)等;-賬戶(hù)管理:增加、刪除用戶(hù)和用戶(hù)屬性(帳號(hào)、口令、權(quán)限范圍等)的變更、用戶(hù)的鎖定和解鎖,禁用和恢復(fù)等;-用戶(hù)登陸鑒權(quán):包括登錄結(jié)果,失敗原因,失敗次數(shù);需要包括鑒權(quán)用戶(hù)名,失敗的原因等信息;授權(quán)操作,需要包括被授權(quán)對(duì)象名,授權(quán)內(nèi)容等。規(guī)則:以下場(chǎng)景(包括但不限于這些場(chǎng)景)可記錄為調(diào)試級(jí)別的日志:-接口調(diào)用、函數(shù)調(diào)用等所有調(diào)用的入口、出口處;-任務(wù)/線程創(chuàng)建、啟動(dòng)、中止、暫停、恢復(fù)等處;-數(shù)據(jù)庫(kù)連接建立、連接釋放、SQL提交、結(jié)果返回處;-文件的創(chuàng)建、讀寫(xiě)、備份、轉(zhuǎn)移、刪除、重命名、獲取文件屬性等處;-操作入口處和設(shè)置預(yù)置條件處;-通信連接(如Socket連接)建立、斷開(kāi)處;-定時(shí)器啟動(dòng)、超時(shí)處;-狀態(tài)設(shè)置、狀態(tài)遷移條件判斷前后處;-消息創(chuàng)建、編解碼、收發(fā)處;-資源創(chuàng)建、存取、釋放、大小改變、內(nèi)容改變、并發(fā)處理處;-業(yè)務(wù)相關(guān)資源統(tǒng)計(jì)處、業(yè)務(wù)處理出入口、性能計(jì)算統(tǒng)計(jì)處;-處理失敗、返回值異常等。日志內(nèi)容是指日志輸出的信息,以下為對(duì)日志描述內(nèi)容的相關(guān)規(guī)定要求。建議:除數(shù)據(jù)信息外,日志內(nèi)容優(yōu)先使用英文描述。建議:?jiǎn)螚l日志的內(nèi)容長(zhǎng)度不要超過(guò)1024字節(jié)。規(guī)則:日志內(nèi)容不能存在語(yǔ)法、拼寫(xiě)錯(cuò)誤,日志表達(dá)應(yīng)完整準(zhǔn)確,言簡(jiǎn)意賅。規(guī)則:日志內(nèi)容中涉及到度量信息需要標(biāo)識(shí)相應(yīng)的度量單位。規(guī)則:非調(diào)試類(lèi)日志內(nèi)容中不出現(xiàn)魔鬼數(shù)字,任何帶有程序邏輯意義的數(shù)值需被解釋為有意義的可讀字符串后再進(jìn)行輸出。規(guī)則:敏感信息(如銀行賬號(hào)、密碼、秘鑰等)不能以明文形式記錄在日志文件中,如需要輸出則采用星號(hào)(*)形式。建議:不要在非調(diào)試類(lèi)日志中出現(xiàn)編碼中的對(duì)象結(jié)構(gòu)、方法接口名稱(chēng)等涉及代碼內(nèi)部實(shí)現(xiàn)的細(xì)節(jié)信息。建議:不要在非調(diào)試類(lèi)日志中輸出Java異常堆棧。規(guī)則:不要在非調(diào)試類(lèi)日志中輸出消息原始碼流。日志的存儲(chǔ)主要描述日志記錄在設(shè)備磁盤(pán)或數(shù)據(jù)庫(kù)中的存儲(chǔ),轉(zhuǎn)儲(chǔ)是指將日志壓縮存儲(chǔ)到指定位置,同時(shí)刪除這部分日志以釋放存儲(chǔ)空間用于記錄新的日志。規(guī)則:?jiǎn)我粦?yīng)用不同模塊的日志,統(tǒng)一保存到一個(gè)日志文件,方便進(jìn)行跨模塊的問(wèn)題建議:日志量較大時(shí)可以把日志文件分別記錄為調(diào)試日志和非調(diào)試日志。說(shuō)明:調(diào)試日志內(nèi)容較多,容易淹沒(méi)非調(diào)試日志。規(guī)則:當(dāng)正在記錄的日志文件大小超過(guò)設(shè)定門(mén)限,或文件記錄時(shí)長(zhǎng)達(dá)到設(shè)定的文件更替周期時(shí),需新生成一個(gè)日志文件進(jìn)行記錄。規(guī)則:?jiǎn)蝹€(gè)日志文件大小不應(yīng)超過(guò)100M。文檔版本01(2019)說(shuō)明:日志文件太大,可能導(dǎo)致日志文件打開(kāi)時(shí)間過(guò)長(zhǎng),影響整個(gè)故障處理時(shí)長(zhǎng),因此對(duì)日志文件大小進(jìn)行了限制。規(guī)則:日志分區(qū)空間全部被占用時(shí),不能影響系統(tǒng)的正常運(yùn)行。說(shuō)明:例如系統(tǒng)根分區(qū)空間占滿時(shí)會(huì)影響系統(tǒng)運(yùn)行,因此日志文件不能記錄在系統(tǒng)根建議:對(duì)于記錄在文件中的日志,支持文件壓縮,以減少占用磁盤(pán)空間。建議:日志建議使用文本文件進(jìn)行存儲(chǔ),便于日志的解析。說(shuō)明:避免使用二進(jìn)制文件保存日志,后端工具難以進(jìn)行解析。日志超限,即日志記錄占用空間已達(dá)到日志的最大容量,剩余存儲(chǔ)空間將不能再存放一個(gè)日志文件的大?。?00M對(duì)于日志數(shù)據(jù)庫(kù)記錄指剩余存儲(chǔ)空間將不能再存放一個(gè)日志記錄。規(guī)則:在日志超限時(shí),最早的日志記錄被刪除以釋放出空間來(lái)存儲(chǔ)新的日志記錄。例如刪除最早記錄的日志文件,或者刪除數(shù)據(jù)庫(kù)中最早的日志記錄。除了在所需要的地方記錄日志外,也需要關(guān)注避免海量日志的情況。短時(shí)間內(nèi)打印大量的日志,為高速海量日志,長(zhǎng)時(shí)間周期性的打印相同的日志,為低速海量日志。海量日志帶來(lái)的典型問(wèn)題有:1、異常情況下(例如在隊(duì)列滿或者數(shù)據(jù)庫(kù)操作出現(xiàn)異常的時(shí)候日志重復(fù)打印產(chǎn)生的持續(xù)海量日志輸出,導(dǎo)致真正有用的日志信息被淹沒(méi),大大降低了日志的有效性。2、海量日志導(dǎo)致日志難以快速傳輸、分析,給事故快速定界/恢復(fù)造成困難。3、海量日志輸出給系統(tǒng)性能、磁盤(pán)IO等帶來(lái)了較大的壓力,甚至影響正常的應(yīng)用運(yùn)導(dǎo)致日志泛濫的根源在于日志設(shè)計(jì)中沒(méi)有考慮日志信息是否會(huì)大量冗余輸出,在日志的設(shè)計(jì)中要包含對(duì)日志泛濫抑制的分析設(shè)計(jì),是避免日志泛濫的根本方法。 日志上報(bào)是指應(yīng)用以消息接口、文件接口、流式接口等將日志上報(bào)到日志服務(wù)器、網(wǎng)管、采集分析工具等。支持日志文件的壓縮上報(bào)。同一系統(tǒng)建議提供統(tǒng)一集中的日志上報(bào)/傳輸接口,各模塊通過(guò)調(diào)用統(tǒng)一接口進(jìn)行記錄、上報(bào)功能。首選實(shí)時(shí)上報(bào)接口:如消息接口syslog等,或流式接口logstash、filebeat等。 行業(yè)應(yīng)用軟件的可維護(hù)性主要依賴(lài)日志來(lái)實(shí)現(xiàn),日志可以幫助運(yùn)維工程師快速發(fā)現(xiàn)問(wèn)題和解決問(wèn)題,提升運(yùn)維效率和降低成本。日志也是企業(yè)軟件能力成熟度的衡量標(biāo)準(zhǔn)之一,需要加以重視并在實(shí)踐中持續(xù)改進(jìn),提升日志質(zhì)量。行業(yè)應(yīng)用日志運(yùn)維參考規(guī)范Syslog協(xié)議是傳輸日志信息的標(biāo)準(zhǔn),由rfc3164和rfc5424等一系列協(xié)議構(gòu)成。主要作用是實(shí)時(shí)發(fā)送日志消息給指定的日志收集設(shè)備,使用比較廣泛。Syslog定義了8個(gè)級(jí)別,嚴(yán)重程度從低到高依次為:Debug,Informational,Notice,Warning,Error,Critical,Alert,Emergency。RFC3164制訂了UDP協(xié)議上承載的Syslog協(xié)議。Syslog簡(jiǎn)單靈活,一方面,協(xié)議信息可以保存成本地的一個(gè)或多個(gè)文件,也可以輸出到終端窗口;另一方面,也可把信息的接收者配置成遠(yuǎn)端機(jī)器,遠(yuǎn)端機(jī)器也可把信息保存下來(lái),也可再轉(zhuǎn)發(fā)給其他的機(jī)Syslog使用的SOCKET宿端口為514,任何在514端口上出現(xiàn)的UDP包都會(huì)被視為一條Syslog消息,Syslog包格式如下圖所示:Syslog報(bào)文由三部分組成:PRI、HEADER、MSG。整個(gè)消息包的最大長(zhǎng)度為1024字節(jié)。PRI部分定義了日志消息的優(yōu)先級(jí);HEADER部分定義了時(shí)間戳和主機(jī)名或者主機(jī)IP地址;MSG部分,其TAG字段可以是程序、模塊或者進(jìn)程名,CONTENT是日志的詳細(xì)信息,其內(nèi)容和格式由使用者自己定義。大部分Linux版本自帶Syslog服務(wù)組件,可以較方便的把Linux服務(wù)器配置為日志的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工分包合同樣本3篇
- 效果圖設(shè)計(jì)合同范本2篇
- 攝影器材運(yùn)輸合同案例3篇
- 斷橋隔窗合同3篇
- 安全預(yù)案審核與修改服務(wù)合同3篇
- 房屋買(mǎi)賣(mài)合同證實(shí)函3篇
- 旅游大數(shù)據(jù)分析勞動(dòng)合同模板3篇
- 安居房施工合同解除權(quán)行使指南3篇
- 房屋買(mǎi)賣(mài)定金合同的問(wèn)題解答3篇
- 文化活動(dòng)承包合同3篇
- 陸軍第七十五集團(tuán)軍醫(yī)院招聘筆試真題2023
- 吉林省吉林市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 【MOOC】知識(shí)圖譜導(dǎo)論-浙江大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 無(wú)人機(jī)任務(wù)規(guī)劃
- 音樂(lè)行業(yè)在線音樂(lè)平臺(tái)開(kāi)發(fā)及運(yùn)營(yíng)策略方案
- GB/T 25042-2024膜結(jié)構(gòu)用玻璃纖維膜材料
- AltiumDesigner電路與PCB設(shè)計(jì)知到智慧樹(shù)期末考試答案題庫(kù)2024年秋四川郵電職業(yè)技術(shù)學(xué)院
- 化工企業(yè)職業(yè)健康安全和環(huán)境目標(biāo)、指標(biāo)分解表
- 企業(yè)新員工師徒結(jié)對(duì)方案
- 2023年藥品流通行業(yè)運(yùn)行統(tǒng)計(jì)分析報(bào)告
- 現(xiàn)代小說(shuō)課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論