作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。

前兩篇我們和大家展示了Avi方案內有很詳細的連線日誌資訊。回到實務問題,無論是在應用進行測試或是實際上線了,重要系統的連線資訊成千上萬甚至更多,我們要如何快速找到希望要能看到的日誌資訊,能夠馬上進行問題排除呢?

 

這邊當然也是Avi方案的強項了。Avi Controllers內本身就內建像是日誌分析系統的相關功能,無論是透過時間、或是對應相關條件的關鍵字,都可作為搜尋的條件。在下圖內,我們可以看到進行搜尋的方式包含了

 

  • 右上角可定義查詢日誌的時間區間

 

  • 上方的搜尋欄內可輸入一到多項搜尋條件,比如說應用回應時間,用戶端資訊等等

 

  • 選擇要查詢的是重要日誌(Significant Logs)或是非重要日誌(Non-Significant Logs)。重要與非重要日誌的定義,我們在本篇後面會說明

 

  • 而下面就會顯示出相關符合條件的日誌時間軸,以及各日誌大要資訊,點開就可以看到完整內容。

這邊舉出幾個例子。比如說,現在管理者想要查詢在一個月內,應用回應時間超過1.5秒的所有連線日誌。下圖內,我們選擇時間是在一個月內,而搜尋列內輸入應用回應時間>1500 (ms)。此時在時間軸內就可以看到約是在12/28日以及1/17日時,有大量這樣的應用效能不佳事件發生。

或我們想要特別查詢在特定區間(比如說下圖的12/25中午到1/5凌晨)內,來自台灣 (client_location=Taiwan) 且採用Safari瀏覽器 (client_browser=Safari) 的用戶,有哪些需要特別注意的重要連線 (Significant Logs)

很方便吧!另外或許我們想要做一些統計。在上個月,所有連線到我們這個應用的用戶中,分別來自哪些國家以及對應的比例呢?Avi的日誌內除了搜尋外,在右邊也可以拉出日誌分析。下圖內我們選擇用戶分析項內的Location,就可以看出這個服務有哪些不同國家的用戶曾在這個月內進行連線要求

後面這邊我們要解釋一下什麼是 “Significant Logs” 與 “Non-Significant Logs”。Avi方案內有預先定義一些用戶交易連線『不正常』的狀況,當一個連線符合了這些狀況,這個連線就一定會被記錄下來,並且被定義為 “Significant Logs”。不是完整的清單,但一般來說會被當作『不正常』的連線大致上可分成下列這幾類:

 

  • 用戶到負載平衡器,或負載平衡器到後端Server的連線無法建立

 

  • 連線被不正常中斷。比如說,SSL的協議因為兩邊版本不符合,所以無法建立連線

 

  • 網路連線的異常事件,比如說TCP要求的重傳數量過大,網路延遲時間過高等等

 

  • HTTP相關的異常事件,像是異常的HTTP回應如4XX / 5XX,應用回應時間過長等等

 

而如果不符合上述的條件,也就是說,是一個非常正常,品質相當優良的連線,就會被當成 “Non-Significant Logs”。通常在生產環境,因為用戶連線數量龐大,我們會想注意的當然是Significant Logs,而正常完成的連線即使日誌不記錄也沒有關係。但如果是在測試階段,或是有規則要求所有的用戶連線都必須在負載平衡器上有稽核紀錄,那此時就可能有必要需要啟用 “Non-Significant Logs” 了。但當然,此時包含Avi的服務引擎或Controllers在進行查詢時,就要考慮對於效能的影響,而且我們也建議將這些日誌往外部的日誌管理系統發送。一般來說,我們建議在生產環境內僅紀錄Significant Logs即可,Non-Significant Logs用來作為除錯的用途。

 

前面這三篇我們展示了Avi內的日誌分析功能。事實上,部分友商的產品也有支援相關功能,但會需要額外的授權與軟硬體,搜尋與分析功能也不見得強大。而這些功能在Avi授權內都是內建的。通常當我與客戶進行日誌分析功能的相關展示,都能夠得到相當正面的迴響。

 

下一篇我想與大家就Avi在公有雲上面的運作進行介紹。