在 OpenResty Edge 中配置閘道器的訪問日誌檔案
今天我將演示如何為 OpenResty Edge 中的應用配置訪問日誌格式。
在全域性配置頁面配置訪問日誌格式
像往常一樣,讓我們進入 OpenResty Edge 的 Admin Web 控制檯。這是我們的控制檯的樣本部署。每個使用者都有自己的本地部署。
我們先來配置一下訪問日誌的格式。
轉到 Global Config 頁面。
當前的全域性配置屬於名為 “default” 的網路分割槽。
直接跳到設定日誌的部分。
這裡是預設使用的日誌檔案目錄。如果想修改這個目錄,你必須確保修改以後的目錄在所有閘道器伺服器上都存在。
這是名為 “main” 的預設訪問日誌格式。
這個格式記錄了很多資訊,如遠端 IP 地址、請求體、上游狀態等。
“As default” 是指將這個日誌格式設定為該網路分割槽的預設訪問日誌格式。在應用中,如果我們不做任何改動,預設就是使用這個日誌格式。
如果你想新增一個新的格式,你可以點選這個按鈕。
在本教程中,我們使用這個現有的格式 “tutorial-example”。
它記錄了請求耗時、遠端 IP 地址、HTTP 主機和請求體。
為示例應用配置訪問日誌
現在讓我們為應用配置這種訪問日誌格式。
轉到應用列表頁。
我們可以繼續使用之前的示例應用,test-edge.com。
進入該應用。
進入設定頁面。
之前我們為這個應用配置了名為 “default” 的網路分割槽。
可以看到該應用預設使用全域性配置的預設訪問日誌格式。
在使用預設的日誌格式時,我們不能改變訪問日誌的檔名。
現在來改一下使用的日誌格式。我們選擇使用名為 “tutorial-example” 的訪問日誌格式。
現在可以改動日誌檔名了。我們把它改為 “example.access.log”。
儲存這個改動。
像往常一樣,我們需要釋出來推送這個新改動。
點選這個按鈕。
釋出!
改動現在已經同步到所有的閘道器伺服器。
現在,剛才的改動已經被推送到所有的閘道器叢集和伺服器。
我們的配置變化不需要伺服器過載、重啟或二進位制升級。所以它是非常高效和可擴充套件的。
測試訪問日誌
在之前的教程中我們已經定義了一個上游。
這個 my_backend
上游定義了一個後端伺服器。
我們也已經定義了一個頁面規則。
這個頁面規則設定了一個反向代理到我們剛才看到的上游。
所以當我們訪問應用時,會有上游的內容返回。
現在讓我們看看我們的應用程式屬於哪個閘道器伺服器。
轉到閘道器叢集頁面。
我們的應用屬於名為 “default” 的網路分割槽。
可以看到有許多閘道器叢集屬於名為 “default” 的網路分割槽。
我們選擇其中一個來檢視訪問日誌資訊。
首先讓我們透過訪問應用來生成訪問日誌訊息。
在終端上,我們透過 curl 傳送一個請求。
curl -sSI -H 'Host: test-edge.com' http://52.53.251.226/
訪問成功!
然後,檢查一下訪問日誌資訊。我們登入到 OpenResty Edge 閘道器伺服器。
檢查 example.access.log 檔案中的最後一條訪問日誌資訊。
日誌檔案目錄是在全域性配置中定義的。
而日誌檔名是在我們的應用中定義的。
執行該命令。
我們可以看到訪問日誌資訊包含了請求耗時。
和遠端 IP 地址。
HTTP 主機。
和請求體。
可以看到,訪問日誌資訊與訪問日誌格式 “tutorial-example” 相匹配。
順便說一下,除了在設定頁面為應用配置訪問日誌格式外,我們還可以在建立新的應用時進行配置。
回到應用列表頁。
點選新的應用按鈕,看看在哪裡可以設定訪問日誌格式。
我們可以在這裡設定訪問日誌格式。
關於 OpenResty Edge
OpenResty Edge 是一款專為微服務和分散式流量架構設計的全能型閘道器軟體,由我們自主研發。它集流量管理、私有 CDN 構建、API 閘道器、安全防護等功能於一體,幫助您輕鬆構建、管理和保護現代應用程式。OpenResty Edge 擁有業界領先的效能和可擴充套件性,能夠滿足高併發、高負載場景下的苛刻需求。它支援排程 K8s 等容器應用流量,並可管理海量域名,輕鬆滿足大型網站和複雜應用的需求。
如果你喜歡這個教程,請訂閱這個部落格網站和我們的 YouTube 頻道 或 B 站頻道。謝謝!
關於作者
章亦春是開源 OpenResty® 專案創始人兼 OpenResty Inc. 公司 CEO 和創始人。
章亦春(Github ID: agentzh),生於中國江蘇,現定居美國灣區。他是中國早期開源技術和文化的倡導者和領軍人物,曾供職於多家國際知名的高科技企業,如 Cloudflare、雅虎、阿里巴巴, 是 “邊緣計算“、”動態追蹤 “和 “機器程式設計 “的先驅,擁有超過 22 年的程式設計及 16 年的開源經驗。作為擁有超過 4000 萬全球域名使用者的開源專案的領導者。他基於其 OpenResty® 開源專案打造的高科技企業 OpenResty Inc. 位於美國矽谷中心。其主打的兩個產品 OpenResty XRay(利用動態追蹤技術的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最適合微服務和分散式流量的全能型閘道器軟體),廣受全球眾多上市及大型企業青睞。在 OpenResty 以外,章亦春為多個開源專案貢獻了累計超過百萬行程式碼,其中包括,Linux 核心、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,並編寫過 60 多個開源軟體庫。
關注我們
如果您喜歡本文,歡迎關注我們 OpenResty Inc. 公司的部落格網站 。也歡迎掃碼關注我們的微信公眾號:
翻譯
我們提供了英文版原文和中譯版(本文)。我們也歡迎讀者提供其他語言的翻譯版本,只要是全文翻譯不帶省略,我們都將會考慮採用,非常感謝!