

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 高级配置
<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`配置日志的粒度。默认情况下，这是信息。
+ `--log-retention`配置保留日志的天数。如果在中找到的日志文件早`--log-retention`于该文件`--log-dir`，则该文件将被删除。默认情况下，这是 7 天。
+ `--debug`配置调试级别的日志记录并强制为当前执行创建专用的日志文件（而不是尝试每天维护一个日志文件）。
+ `--state-dir`配置 SBOM 的写入位置。默认情况下，不保存 SBOM。
+ `--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
```