自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

日志對于運維的重要性

運維 系統(tǒng)運維
一個成功的軟件,全力開發(fā)的時間可能占其整個生命周期的1/4還不到,軟件發(fā)布后要運維(Operation),運維的視角和開發(fā)的視角是很不一樣的,但是有一點,運維的數據能反哺開發(fā),同時,開發(fā)的時候也得考慮可運維性,其中非常重要的一點是日志,沒有日志,運維就瞎了大半。

一個成功的軟件,全力開發(fā)的時間可能占其整個生命周期的1/4還不到,軟件發(fā)布后要運維(Operation),運維的視角和開發(fā)的視角是很不一樣的,但是有一點,運維的數據能反哺開發(fā),同時,開發(fā)的時候也得考慮可運維性,其中非常重要的一點是日志,沒有日志,運維就瞎了大半。怎么寫日志,就得從運維的需求來看了,通常會有以下一些常見的場景(已典型互聯網應用為例):

1. 訪問來源,包括訪問量,訪問者數據,如用戶名、IP等等。

2. 基于上一點細化,訪問的接口,讀、寫、刪……

3. 軟件系統(tǒng)內部的核心鏈路,比如我這有個系統(tǒng)要在中美直接同步文件,那同步的情況運維的時候就要掌握。

4. 軟件系統(tǒng)對其他所依賴系統(tǒng)的訪問情況,比如我這個系統(tǒng)依賴一個分布式緩存,那訪問緩存的量、是否超時等情況需要了解。

5. 系統(tǒng)異常,比如磁盤滿了。

記錄這些信息的目的大抵有:幫助分析系統(tǒng)容量方便擴容;在系統(tǒng)某些部分工作不正常的時候及早發(fā)現;發(fā)生嚴重故障后方面定位問題原因。認識到這些需求后,下一步就是怎么實現的問題了。

前面提到的5點,有些可以通過拋異常實現,例如訪問分布式緩存超時,有些則顯然不是異常,例如就是正常的緩存訪問。我覺得可以用一種統(tǒng)一、規(guī)范的方式記錄,這種方法就是打碼。我記得以前用Windows 98/2000的時候,經常會遇到藍屏,藍屏上會有一堆我看不懂的英文,并且總是伴隨著一個錯誤碼。

雖然我看這玩意兒沒一點好心情,但我相信微軟的工程師肯定能從那個奇怪的狀態(tài)碼上判斷出是哪里出了問題,硬盤壞道?光驅卡死?諸如此類……其實類似的做法數據庫也用,比如MySQL。

用統(tǒng)一的代碼表示錯誤(也可以表示正常但核心的業(yè)務點)***的好處就是便于搜索、統(tǒng)計和分析,在動輒數以萬行記的日志文件中尋找感興趣的信息,一頁一頁翻看是不現實的,稍微做過點運維的必然會用上 grep,awk,wc 等工具,這個時候如果信息都有代碼標識,那真是再方便不過了!例如,我用代碼 FS_DOWN_200 表示對系統(tǒng)的正常下載訪問,日志是寫在 monitor.log 文件中的,我就可以使用一行shell統(tǒng)計4月22號5點到6點之間的正常訪問量:

  1. $ grep FS_DOWN_200 monitor.log | grep "2014-04-22 05:" | wc -l 

具體每條日志記錄什么,那就是更詳細的了,基本就是時間、日志編碼、額外的有用信息,如:

  1. 2014-04-22 05:06:18,561 - FS_DOWN_200 216 UT8TFSDXc8XXXagOFbXj.jpg 

除了時間和日志編碼外,還有響應時間(216ms)和具體訪問的文件名。

當然如果你有日志監(jiān)控和分析系統(tǒng)就更棒了!你就可以在系統(tǒng)中錄入關鍵字監(jiān)控,比如每分鐘統(tǒng)計次數,然后看一天、一周的訪問量趨勢圖。進一步的,如果這個量發(fā)生異常,讓系統(tǒng)發(fā)出報警。如果沒有關鍵字,從海量日志中分析紛繁復雜形態(tài)各異的信息,再監(jiān)控,是非常難的一件事情。

為什么要把日志代碼設計成 FS_DOWN_200 這樣子的,下面稍微解釋下,這個代碼分成三段: 
1. FS: 表示我們的系統(tǒng),這是***的級別,公司中有很多系統(tǒng),那各自定義自己的標識。 
2. DOWN: 表示我們系統(tǒng)中的一個核心業(yè)務點或者對其他依賴系統(tǒng)的訪問,還可以是UP(上傳),SYNC(同步),或者TAIR(對緩存系統(tǒng)訪問)。 
3. 200: 具體健康碼,參考HTTP規(guī)范,200表示OK,其他包括404(不存在),504(超時)等等。

有了這些代碼,再結合公司的監(jiān)控系統(tǒng),我們做統(tǒng)計分析就非常方便了,每天多少下載、多少上傳、多少成功、多少失敗、對其他依賴系統(tǒng)訪問多少量、多少失敗率,一目了然。進一步的加上監(jiān)控,當某些值突然發(fā)生變化,比如下載量/上傳量暴跌、訪問其他系統(tǒng)依賴超時大量增多,就能及時響應。

日志對于運維實在太重要了,而如果不接觸運維,又怎能理解其真正的需求,因此我說,不做運維,不懂日志。

責任編輯:黃丹 來源: juvenxu.com
相關推薦

2015-10-30 10:40:45

意義數據運維運維

2009-04-22 08:59:08

2018-08-20 06:24:51

2021-04-13 08:00:00

開發(fā)文檔編碼

2022-05-12 11:26:40

云技術供應鏈

2009-06-30 09:35:00

企業(yè)IT運維管理制度

2010-03-24 15:17:52

IT服務運維管理摩卡軟件

2016-04-26 13:58:51

大數據平安城市

2020-11-08 13:38:34

網絡日志網絡安全漏洞

2021-10-13 10:49:15

物聯網智能建筑IoT

2011-09-06 14:47:10

100G網絡云計算

2023-10-24 11:07:57

2010-07-30 16:28:06

2017-06-13 08:33:10

程序日志代碼

2013-08-08 10:10:06

備份策略全備份增量備份

2020-08-27 07:00:00

代碼軟件應用程序

2017-12-29 10:14:48

IT項目

2011-07-05 18:30:44

站內優(yōu)化

2023-07-27 11:07:29

蜂窩連接eSIM 技術

2009-12-25 15:00:48

WPF軟件
點贊
收藏

51CTO技術棧公眾號