# Nginx Log

本節介紹 Nginx UI 中 Nginx 日誌處理和分析功能的設定選項。

## 索引

### IndexingEnabled

- 類型: `boolean`
- 預設值: `false`
- 環境變數: `NGINX_UI_NGINX_LOG_INDEXING_ENABLED`
- 版本: `>= v2.2.0`

此選項啟用 Nginx 日誌的索引功能，提供高效能的日誌搜尋和分析能力。

#### 關閉時的行為（基礎模式）

當 `IndexingEnabled` 為 `false` 時，Nginx UI 仍會從 Nginx 設定中發現日誌入口，並在日誌列表中顯示。在基礎模式下：

- 可檢視已偵測到的日誌檔列表（基於簡單的輪轉規則進行分組），但不提供索引指標、文件計數與分片搜尋等進階功能。
- 依據解析出的存取/錯誤日誌路徑，即時檢視（tail）仍可使用。

### IndexPath

- 類型：`string`
- 版本：`>= v2.2.0`

- 預設情況下，Bleve 索引檔存放於 Nginx UI 設定目錄下的 `log-index` 目錄（例如：`/usr/local/nginx-ui/log-index`）。
- 若無法判定設定目錄，則回退至應用相對路徑的 `./log-index`。

### IncrementalIndexInterval

- 類型：`int`（分鐘）
- 預設值：設定為 `0` 或負數時使用 `15`
- 版本：`>= v2.2.0`

控制增量索引任務掃描存取日誌的頻率。數值越小，分析資料越接近即時，但背景 CPU 使用率越高；數值越大則降低 CPU 負載，但分析資料更新會更滯後。設定為 `0` 或負數時會自動回退到安全的預設 15 分鐘。


## 系統需求

### 最低需求
- **CPU**: 最少 1 核心
- **記憶體**: 最少 2GB RAM
- **儲存**: 至少 20GB 可用磁碟空間

### 建議配置
- **CPU**: 建議 2 核心或以上
- **記憶體**: 建議 4GB RAM 或以上
- **儲存**: 建議使用 SSD 以獲得更好的 I/O 效能

## 效能指標

基於生產環境驗證和全面測試（M2 Pro 12核心，2025年9月）：

| 指標 | 數值 | 說明 |
|------|------|------|
| **生產環境管道** | **~10,000 條記錄/秒** | 包含搜尋功能的完整索引 |
| **解析器效能** | **~932K 條記錄/秒** | 僅串流處理 |
| **CPU 使用率** | **90%+** | 最佳化的多核處理 |
| **記憶體效率** | **零分配設計** | 進階記憶體池系統 |
| **自適應擴展** | **12→36 工作執行緒** | 動態資源最佳化 |
| **批次處理最佳化** | **1000→6000** | 即時吞吐量調優 |

## 功能特性

啟用進階索引後，您將獲得以下功能：

### 核心能力
- **零分配管道** - 最佳化記憶體使用以實現高效能處理
- **動態分片管理** - 智慧分布日誌資料到各個分片
- **增量索引掃描** - 僅索引新的日誌條目以提高效率
- **自動日誌輪轉偵測** - 無縫處理輪轉的日誌檔案

### 搜尋與分析
- **進階搜尋和過濾** - 支援多條件的複雜查詢
- **支援正規表示式的全文搜尋** - 強大的模式比對能力
- **跨檔案時間線關聯** - 分析多個日誌檔案中的事件
- **錯誤模式識別** - 自動偵測錯誤模式

### 資料處理
- **壓縮日誌檔案支援** - 支援 gzip 和其他壓縮格式
- **離線 GeoIP 分析** - 無需外部服務的位置分析
- **即時分析儀表板** - 即時監控和統計
- **多維資料視覺化** - 進階圖表和圖形

### 使用注意事項

::: tip 效能影響提示
進階索引提供企業級效能，完整日誌處理吞吐量達到 **~10,000 條記錄/秒**。系統會根據您的硬體自動最佳化 CPU 使用率（90%+）並調整工作執行緒數量（12→36）以獲得最佳效能。
:::

::: info 開源限制
- 進階日誌索引功能對所有使用者免費開源
- 我們不接受該功能的功能請求
- 如需商業或專業使用，請聯絡 business@uozi.com
:::

::: warning 初始索引
當您啟用進階索引時，系統將立即開始索引現有日誌檔案。此初始索引過程可能會暫時影響系統效能。
:::
