

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 進階組態
<a name="inspector-vm-scanner-advanced-config"></a>

 本節說明 Inspector VM Scanner 的進階組態選項。

## 設定本機輸出
<a name="inspector-vm-scanner-local-outputs"></a>

 Inspector VM Scanner 提供下列選項來設定如何寫入本機輸出：
+ `--send-results` 必須設定為 `telemetry`或 `disabled`。如果您通過 `disabled`，則 Inspector VM Scanner 會繼續而不傳送 SBOM。

**提示**  
`--state-dir` 搭配 使用`--send-results disabled`，在本機儲存 SBOM。
+ `--log-dir` 設定寫入日誌的位置。根據預設，日誌會寫入 stdout。
+ `--log-level` 設定日誌的精細程度。根據預設，這是 INFO。
+ `--log-retention` 設定保留日誌的天數。如果在 `--log-retention` 中找到早於 的日誌檔案`--log-dir`，則會將其刪除。根據預設，這是 7 天。
+ `--debug` 設定偵錯層級記錄，並強制目前執行的專用日誌檔案 （而不是嘗試每天維護一個日誌檔案）。
+ `--state-dir` 設定寫入 SBOMs的位置。根據預設，不會儲存 SBOMs。
+ `--metric-dir` 設定指標日誌的寫入位置。根據預設，不會儲存指標日誌。
+ `--cpu-profile` 會啟用 Go 執行時間 CPU 分析器，並設定結果的寫入位置。
+ `--mem-profile` 會啟用 Go 執行時間記憶體分析器，並設定結果的寫入位置。
+ `--config-path` 指示 Inspector VM Scanner 從本機組態檔案衍生引數。如果同時在 CLI 和組態檔案中傳遞相同的引數，則會排定 CLI 值的優先順序。
  + Inspector VM Scanner 組態檔案是在 TOML 中指定，所有引數名稱都與 CLI 相同。

 下列範例顯示組態檔案：

```
# Configuration file for Inspector VM Scanner
log-level = "INFO"
send-results = "telemetry"
cpu-profile = "cpuprofile"
mem-profile = "memprofile"
log-dir = "log"
state-dir = "state"
debug = false
log-retention = 7
scan-timeout = 300

[sbom]
max-scan-depth = 5
target-directory = ["~"]
```

## 設定資源用量
<a name="inspector-vm-scanner-resource-usage"></a>

 Inspector VM Scanner 提供下列選項來設定資源用量：
+ `--scan-timeout` 強制掃描器在指定的秒數後逾時。根據預設，掃描器不會逾時。
+ `--nice-priority` 會設定程序的`nice`優先順序 （適用於 Unix 系統）。根據預設，這是 3。
+ `--cpu-limit` 設定 CPU 用量的硬性上限 （適用於使用 的 Linux 系統`cgroups`)。根據預設，這是 65%。
+ `--process-priority` 設定 程序的優先順序 （適用於 Windows系統）。根據預設，這是`BELOW NORMAL`優先順序。

**注意**  
`--cpu-limit` 和 的預設值`--process-priority`與 Inspector SSM 外掛程式相同。

## 設定掃描目標
<a name="inspector-vm-scanner-scan-targets"></a>

 Inspector VM Scanner 利用 Inspector SBOM 產生器進行庫存收集。因此，許多 Inspector VM Scanner 的掃描涵蓋範圍選項都是直接從 SBOM 產生器取得。

 根據預設，Inspector VM Scanner 會使用 SBOM Generator 的`localhost`掃描器群組，以及 `certificate`和 `windows-kb`掃描器。

 Inspector VM Scanner 提供下列選項來設定掃描目標：
+ `--max-scan-depth` 設定掃描周遊的目錄數量上限。
+ `--target-directories` 設定其他目錄以在預設值之外進行掃描。
+ `--override-scanners` 設定確切的檔案掃描器，覆寫 Inspector VM Scanner 預設值。
+ `--additional-scanners` 除了 Inspector VM Scanner 預設值之外， 還會設定檔案掃描程式使用 。

 您可以使用下列命令列出所有可用的掃描器：

```
./inspector-vm-scanner sbom --list-scanners
```

## 管理定期執行
<a name="inspector-vm-scanner-periodic-execution"></a>

 當您透過套件管理員安裝 Inspector VM Scanner 時，安裝會建立排程任務，以自動執行掃描。您可以檢視、修改或停用此排程。

### Linux （系統化）
<a name="inspector-vm-scanner-linux-systemd"></a>

 **檢視服務狀態和最近的執行** 

```
systemctl status inspector-vm-scanner
```

 **檢視即時日誌** 

```
journalctl -u inspector-vm-scanner -f
```

 **檢視最近的日誌** 

```
journalctl -u inspector-vm-scanner --since "1 hour ago"
```

 **檢查目前的計時器間隔** 

```
systemctl cat inspector-vm-scanner.timer
```

 **更新計時器間隔** 

 若要變更掃描頻率，請編輯計時器單位檔案：

```
# Edit the timer unit file
systemctl edit inspector-vm-scanner.timer

# Add override configuration:
[Timer]
OnCalendar=
OnCalendar=daily

# Reload and restart
systemctl daemon-reload
systemctl restart inspector-vm-scanner.timer
```

 **啟用或停用自動執行** 

```
systemctl enable inspector-vm-scanner.timer   # Enable automatic runs
systemctl disable inspector-vm-scanner.timer  # Disable automatic runs
```

### Windows （任務排程器）
<a name="inspector-vm-scanner-windows-task-scheduler"></a>

 **檢視任務狀態和上次執行** 

```
Get-ScheduledTask -TaskName "Inspector VM Scanner" | Get-ScheduledTaskInfo
```

 **檢視最近的任務日誌** 

```
Get-ScheduledTaskInfo -TaskName "Inspector VM Scanner"
```

 **檢視詳細的任務歷史記錄** 

```
schtasks /query /tn "Inspector VM Scanner" /v /fo list
```

 **檢視目前的任務排程** 

```
Get-ScheduledTask -TaskName "Inspector VM Scanner" | Select-Object -ExpandProperty Triggers
```

 **更新任務排程** 

 若要變更掃描頻率：

```
# Modify trigger to run daily at 2 AM
$trigger = New-ScheduledTaskTrigger -Daily -At 2:00AM
Set-ScheduledTask -TaskName "Inspector VM Scanner" -Trigger $trigger
```

 **啟用或停用任務** 

```
Enable-ScheduledTask -TaskName "Inspector VM Scanner"   # Enable automatic runs
Disable-ScheduledTask -TaskName "Inspector VM Scanner"  # Disable automatic runs
```

### macOS （已啟動）
<a name="inspector-vm-scanner-macos-launchd"></a>

 **檢視啟動的任務** 

```
sudo launchctl print system/com.amazon.inspector.vm-scanner
```

 **執行單一任務** 

```
sudo launchctl start com.amazon.inspector.vm-scanner
```