Monitor devices managed by Arista CloudVision, either a self-hosted CloudVision Portal (CVP) instance or CloudVision as a Service (CVaaS), directly from checkmk. The plugin uses the cvprac REST API client to query CloudVision and surfaces per-device health as native checkmk services.
| Component | Minimum version |
|---|---|
| checkmk | 2.5.0p6 |
| Python | 3.8+ (on the checkmk server) |
| Arista CVP (on-prem) | Any supported version |
| Arista CVaaS | Token auth requires CVP 2020.3.0+ |
cvprac (Arista's REST client library) is bundled inside the MKP and requires no separate installation.
One Arista CVP Info service on the CVP/CVaaS host:
- Software version
One Arista CVP Device <hostname> service per managed device (on the CVP host):
| Metric | Default state |
|---|---|
| Connection status (Connected / Registered / Disconnected) | Disconnected → CRIT |
| Compliance (OK / WARNING / ERROR) | WARNING → WARN, ERROR → CRIT |
| Streaming telemetry (Active / Inactive) | Inactive → WARN |
All thresholds are configurable via Setup → Services → Service monitoring rules → Arista CVP Device Status.
When the agent authenticates with a service account token, it also monitors token expiry on the CloudVision host:
- One Arista CVP Token service for the token the agent itself uses (read by decoding the token's expiry claim — no extra API call, works on any CVP/CVaaS version).
- One Arista CVP Service Token <user> / <description> service per service account token configured in CVP/CVaaS, enumerated via the Resource API.
| State | Default |
|---|---|
| Token expires within 14 days | WARN |
| Token expires within 4 days (or already expired) | CRIT |
Thresholds are configurable via Setup → Services → Service monitoring rules → Arista CVP Token.
Token services live only on the CloudVision host — they are never pushed to device hosts via piggyback, since token expiry is a property of the CVP/CVaaS instance.
Enumerating all service account tokens requires the authenticating account to hold the Credentials role permission ("View and configure credentials") in CVP/CVaaS RBAC, plus CVP on-prem ~2021.x+ or CVaaS. When that is unavailable the agent logs a warning and only the Arista CVP Token service (the agent's own token) is reported. Username/password auth has no token expiry, so no token services appear.
Enable piggyback mode in the agent rule to additionally place an Arista CVP Status service on each device's own checkmk host. The piggyback host name can be matched by CVP hostname, FQDN, or IP address.
The rule offers two deployment types, each with their own authentication options:
- Username / Password — CVP local or LDAP account.
- Service Account Token — available from CVP 2020.3.0 and later; recommended for automation. Generate tokens under Settings → Access Control → Service Accounts in the CVP UI.
CVaaS requires a service account token. Username/password auth is not supported. Generate tokens the same way: Settings → Access Control → Service Accounts.
Known regional endpoints:
| Region | Endpoint |
|---|---|
| US 1a | www.arista.io |
| US 1c | www.cv-prod-us-central1-c.arista.io |
| Canada | www.cv-prod-na-northeast1-b.arista.io |
| Europe West 2 | www.cv-prod-euwest-2.arista.io |
| Japan | www.cv-prod-apnortheast-1.arista.io |
| Australia | www.cv-prod-ausoutheast-1.arista.io |
Note: URLs without
wwware not supported by cvprac.
For CVaaS, create a dedicated checkmk host (e.g. cvp-cvaas) and set its IP address/hostname to the regional endpoint. The agent rule overrides the host address with the endpoint configured in the rule form, so the host exists purely as a rule anchor.
mkp install arista_cv-$version.mkp
cmk -R
The MKP is available on the GitHub releases page.
Add a host in checkmk that represents your CVP instance or CVaaS tenant:
- CVP (on-prem): set the host IP/address to your CVP server's hostname or IP.
- CVaaS: set the host address to the regional endpoint (e.g.
www.arista.io). The special agent overrides the address at runtime, so the host just serves as a rule anchor.
Go to Setup → Agents → Other integrations → Networking and add the rule Arista CloudVision (CVP / CVaaS) to the host you created above.
Fill in the required fields:
| Field | CVP | CVaaS |
|---|---|---|
| Deployment type | CloudVision Portal (CVP) | CloudVision as a Service (CVaaS) |
| Authentication | Username/Password or Service Account Token | Service Account Token (required) |
| Endpoint | (taken from host address) | Regional hostname (e.g. www.arista.io) |
| HTTPS port | 443 (default) | — |
Optionally enable piggyback mode to push an Arista CVP Status service onto each device's own checkmk host. If you do, set Piggyback host identifier to match the field (hostname / FQDN / IP) that checkmk uses as the host name for those devices.
Run a service discovery on the CloudVision host. You should see:
- One Arista CVP Info service (software version)
- One Arista CVP Device <hostname> service per managed device
python3 build_mkp.py # produces arista_cv-<version>.mkp
or simply:
make build