Nginx分詞
更新時間 2025-02-17 10:36:52
最近更新時間: 2025-02-17 10:36:52
分享文章
本文主要介紹如何使用Nginx分詞模板。
Nginx 是一種常見的反向代理服務,實際業務中承載著大量服務請求。在運行過程中,服務會產生大量訪問日志,通常導致用戶面臨日志分散、數據量龐大等問題。因此,如何高效地收集和管理這些日志數據,對業務的運維和運營具有重要意義。天翼云云日志服務支持Nginx日志提取采集。
Nginx 日志格式
Nginx 日志的格式可通過 log_format 命令進行定義,如下列格式:
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
其中各字段含義為:
| 字段名 | 含義 |
| remote_addr | 客戶端 的IP 地址 |
| remote_user | 客戶端的名稱 |
| time_local | 服務器的本地時間 |
| request | HTTP 請求方法及 url 地址 |
| status | HTTP 請求的狀態碼 |
| body_bytes_sent | 發送給客戶端的字節數 |
| http_referer | 訪問來源的頁面鏈接地址 |
| http_user_agent | 客戶端瀏覽器信息 |
Nginx 配置方式
在日志接入流程中-創建采集配置步驟中,按如下參數說明配置切割模式:
在Nginx日志配置中,您需要填寫 Nginx 配置文件(通常為 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf)中日志模板,通常以 log_format 開頭,如以下所示:
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';LTS將根據 Nginx日志配置中的日志模板,自動生成日志提取正則表達式,如下所示
在正則表達式下方的樣例日志中填寫你需要采集的實際 Nginx 日志,并點擊“驗證”按鈕,用來驗證上述提取模式配置是否正確,如下所示
驗證成功后,可在抽取結果中為每個字段設定名稱或直接使用默認值: