文件预览

cli-reference.md

查看 Vmware Monitor 技能包中的文件内容。

文件内容

references/cli-reference.md

# CLI Reference

Full command reference for `vmware-monitor`.

## Diagnostics

```bash
vmware-monitor doctor [--skip-auth]
```

Checks config file, connectivity, authentication, and pyVmomi version. Use `--skip-auth` to test config parsing without connecting.

## MCP Config Generator

```bash
vmware-monitor mcp-config generate --agent <goose|cursor|claude-code|continue|vscode-copilot|localcowork|mcp-agent>
vmware-monitor mcp-config list
```

Generates MCP configuration files for supported agents. `list` shows all available agent templates.

## Inventory

```bash
vmware-monitor inventory vms [--target <name>] [--limit <n>] [--sort-by name|cpu|memory_mb|power_state|folder_path] [--power-state poweredOn|poweredOff] [--folder-filter <pattern>]
vmware-monitor inventory hosts [--target <name>]
vmware-monitor inventory datastores [--target <name>]
vmware-monitor inventory clusters [--target <name>]
```

- `--target`: Named target from `config.yaml` (default: first target)
- `--limit`: Max VMs to return (default: unlimited)
- `--sort-by`: Sort field for VM listing — `name` | `cpu` | `memory_mb` | `power_state` | `folder_path`
- `--power-state`: Filter VMs by power state
- `--folder-filter`: Case-insensitive substring match against `folder_path` (e.g. `--folder-filter "Production"` returns VMs anywhere under a folder containing "production", including nested subfolders like `/Datacenters/Production/Web Tier`).

**Output fields** (CLI and MCP): each VM entry includes `folder_path` — the vCenter inventory folder path (e.g. `/Datacenters/Production/Web Tier`). Present in both compact and full modes.

## Health

```bash
vmware-monitor health alarms [--target <name>]
vmware-monitor health events [--hours 24] [--severity warning] [--target <name>]
```

- `--hours`: Time range for event query (default: 24)
- `--severity`: Minimum severity filter — `info`, `warning`, `error`, `critical` (default: `warning`)

## VM Info (Read-Only)

```bash
vmware-monitor vm info <vm-name> [--target <name>]
vmware-monitor vm snapshot-list <vm-name> [--target <name>]
```

Returns detailed VM information: CPU, memory, disks, NICs, guest OS, IP, VMware Tools status, and snapshots.

`snapshot-list` lists existing snapshots with name and creation time. No create, revert, or delete operations exist.

## Scanning & Daemon

```bash
vmware-monitor scan now [--target <name>]
vmware-monitor daemon start
vmware-monitor daemon stop
vmware-monitor daemon status
```

- `scan now`: Run a one-time scan of alarms, events, and host logs
- `daemon start`: Start APScheduler-based background scanner (default: every 15 min)
- `daemon stop`: Stop the background scanner
- `daemon status`: Check if the daemon is running

## Init

```bash
vmware-monitor init
```

Generates `config.yaml` and `.env` templates in `~/.vmware-monitor/`.

## Architecture

```
User (Natural Language)
  |
AI Tool (Claude Code / Aider / Gemini / Codex / Cursor / Trae / Kimi)
  |
  +-- CLI mode (default): vmware-monitor CLI --> pyVmomi --> vSphere API
  |
  +-- MCP mode (optional): MCP Server (stdio) --> pyVmomi --> vSphere API
  |
vCenter Server --> ESXi Clusters --> VMs
    or
ESXi Standalone --> VMs
```