Glossary¶
A¶
Acknowledgement (ACK)¶
Operator confirmation that a problem has been seen. Suppresses further notifications and blocks the promotion degraded → alerting until recovery. → Acknowledgements
Active Check¶
Check with check_mode = active — run by the Active Collector (or, if it's offline, by the Python hybrid fallback in the worker). One of three equal monitoring modes, not a legacy path. → Architecture → Three monitoring modes
Active Collector¶
Systemd service running on the Vesana machine itself (the same binary as the collector), runs check_mode='active' checks across all tenants. Max. one instance per Vesana install. → Architecture → Active Collector
Accepted exception¶
Special case of an acknowledgement: the operator unchecked the "is a problem" box. The status stays visibly red/true but no longer counts in any problem rollup. Breaks automatically if the check gets worse than when it was marked. → State model → Acknowledged
Automatic setup¶
Discovery → "Set up automatically" tab: Vesana adopts discovered devices itself (determine device type, try stored credentials, create host, activate profile checks) and creates tasks for everything else. → Automatic setup
Agent¶
Go single binary running on the monitored machine, executing checks locally. Push-based — reports results via HTTPS POST to the receiver. → Agents & collectors → Agent
Agent Gateway¶
Optional, separate port for machine endpoints only (agent/collector traffic), off by default. Lets you firewall off the normal UI port while still letting agents from external networks report in (typical MSP scenario). The UI port keeps serving everything — existing agents never break. → Installation → Distribution & reachability
Aggregate¶
Standalone object (not a regular check) that evaluates the status of a group of redundant members K-of-N: all healthy → OK, at least K healthy → WARNING, fewer than K healthy → CRITICAL. The WARNING level deliberately doesn't suppress dependent services. → Architecture → Aggregates (K-of-N)
Agent token¶
Token in format vesana_agent_<32 url-safe chars>. 1:1 bound to a host. Stored as SHA256 hash on the server. Shown exactly once at creation. → Security → Tokens
AI analysis¶
Service-specific diagnosis by an LLM with wiki RAG, web search, and state context. Built into error overview and host detail. → AI chat & analysis
Alerting (state)¶
Phase in the three-layer state model — failure sustained, push notification sent, operator alerted. Column: current_status.alerting_state = 'alerting'. → State model
Alert rule¶
Rule defining when a notification is triggered. Thresholds, patterns, escalation, grouping. → Alert rules
API key¶
Token for collectors. Format: custom prefix + 32 bytes. SHA256 hash in api_keys.key_hash. → Security → Tokens
Auto-discovery¶
Automatic detection of new hosts via nmap scan and SNMP sysOID match. Implemented in the collector. → Hosts → Discovery
B¶
Baseline¶
28-day mean + standard deviation per service, stored per 1-hour bucket (168 buckets). Foundation for anomaly detection. → Anomaly detection
Builtin¶
Profiles, profile-checks, or wiki articles shipped with Vesana. is_builtin = true. Updated via seed scripts (upsert); modified builtins (is_modified = true) are skipped.
C¶
Check¶
A single measurement — e.g. "CPU load" or "battery voltage". In Vesana realized as profile-check (definition) and host-service (instance). → Profiles & checks
Check mode¶
active (server runs check itself), passive (collector runs remote), agent (agent runs locally).
Check result¶
An incoming measurement with status, value, message, timestamp. Stored in check_results (TimescaleDB hypertable).
Collector¶
Linux VM in the customer network, running remote checks (SNMP, ping, SSH, HTTP). Push-based like the agent. → Agents & collectors → Collector
Compose profile¶
Optional service groups in docker-compose.prod.yml — e.g. ai, backup. Activated via --profile <name>.
Confirmation interval¶
In the probing state, the worker waits confirmation_interval_seconds (default 10 s) before running the check again — after confirmation_attempts (default 1) confirmed failures, the UI state moves to degraded. → State model
Custom dashboard¶
Freely configured view from widgets. Variables, sharing, public links. → Custom dashboards
D¶
Deadband¶
Storage optimization: a check result is only stored again in check_results if the value moved a sufficient relative amount, or a heartbeat interval has elapsed. Reduces time-series size for stable values (e.g. CPU load that barely moves) without missing real changes.
Dead-agent watcher / dead-collector watcher¶
Background job marking hosts NO_DATA when agent/collector is silent for too long. Distributed lock via Redis ensures only one replica runs.
Degraded¶
Phase in the three-layer state model — failure confirmed via confirmation, no push notification yet. Promotion to alerting runs after the sustained threshold (60-120 s). Column: current_status.ui_state = 'degraded'. ACK during this phase blocks the promotion. → State model
Dependency¶
Parent-child relationship between hosts or services. Foundation for inhibition. → Dependencies & inhibition
Discovery result¶
Result of a network scan per IP, with sysOID, sysDescr, service detection, suggested profile.
Distributed locking¶
Redis-based lock with 55 s timeout, so watchers run only once in multi-replica setups.
Downtime¶
Planned or unplanned maintenance window during which alerts are suppressed. One-shot or recurring via RRULE. → Downtimes
E¶
Effective config¶
Merge of profile-check default and host-service override. Computed via COALESCE and JSONB merge in SQL. → Profiles & checks → Effective config
Configurable values¶
Values a monitoring script declares via a header line in its body and every check fills in individually (environment variables VESANA_*). → Configurable values on scripts
Expected values¶
Named target values on a profile check (overridable per host) against which the server compares the check result. Formerly "custom fields". → Expected values & comparison
Escalation¶
Multi-stage alert strategy: stage 1 first (e.g. email to operator), after 15 min without ack stage 2 (push to manager), after 30 min stage 3.
F¶
FCM (Firebase Cloud Messaging)¶
Google service for push to Android devices. Vesana no longer uses it (since 08/2026) — push runs on the browser standard Web Push (VAPID), which every instance operates itself without a vendor account. → Vesana on your phone
Field encryption¶
AES-256-GCM encryption of sensitive columns (e.g. hosts.snmp_community). Key in FIELD_ENCRYPTION_KEY. → Security → Encryption
H¶
Heartbeat¶
Regular liveness ping from agent to server (POST /api/v1/agent/heartbeat). Default: every 60 s. Updates agent_tokens.last_seen_at.
Host¶
Concrete monitored machine or device. Has exactly one profile. → Hosts
Host-service¶
Instance of a profile-check for a concrete host. With optional overrides. → Profiles & checks
Hypertable¶
TimescaleDB construct for time-series tables with automatic partitioning. In Vesana: check_results, logs, agent_metrics.
I¶
Info mode¶
Permanent check configuration: pure statistics, real status stays visible, but never reaches alerting_state='alerting' — no notifications, escalation, or inhibition. Counts as its own bucket instead of a problem, hidden by default in the error overview. Difference from an accepted exception: permanently configured instead of state-bound. → State model → Info mode
Identity confirmation (step-up)¶
Fresh proof (passkey, authenticator code or password) within the last 15 minutes that sensitive actions require in addition to the permission — per session. → Sessions
Inhibition¶
Suppression of alerts for dependent services when the parent host is in alerting state (not already at degraded). → Dependencies & inhibition
Instance UUID¶
Unique ID of a Vesana install, in system_settings.instance_uuid. Created at first phone-home or feedback, race-safe via INSERT ON CONFLICT.
Jump¶
Instance-wide quick search across menu entries, settings, devices, checks, tenants, folders and more — Cmd/Ctrl+K or the button at the top of the sidebar. → Interface & navigation
Categories¶
The chip group of the error overview: Open, ACK (marked as error), ACK (marked as no error), Downtime, Dependency down, Info — selected means "is shown". → Error overview
L¶
License tier¶
Community, Professional, MSP — differ only in host/tenant limits and price, not in feature scope. → License tiers
LLD (Low-Level Discovery)¶
Concept from Zabbix for dynamic item generation — e.g. "for each found filesystem, create a disk check". Currently not implemented in Vesana; workaround: agent_services_auto check and SNMP picker.
M¶
MIB (Management Information Base)¶
SNMP data description. Vendor-specific (e.g. Cisco-ENVMON-MIB, APC-PowerNet-MIB).
MIB snippet¶
YAML file with vendor MIB knowledge — OIDs, status mappings, discovery hints. → MIB snippets
Mobile push¶
Push notification to the installed Vesana web app (Android, iPhone, iPad) via Web Push. The channel only selects the users (and optionally devices); which statuses and whether recoveries are sent is defined in the alert rule. → Vesana on your phone
MSP (Managed Service Provider)¶
IT service provider monitoring multiple customer environments. Standard user of multi-tenant mode. Also the name of the top license tier (unlimited hosts/tenants). → License tiers
N¶
NO_DATA¶
Status value: no data within expected interval. Orange in UI. → State model
Notification channel¶
Configured output for alerts: email, mobile push, webhook, Slack, Teams. → Notification channels
NSCA¶
Nagios Service Check Acceptor. Legacy protocol on port 5667. Vesana can act as receiver — migration path for Nagios estates. → NSCA migration
O¶
OID (Object Identifier)¶
SNMP identifier, e.g. .1.3.6.1.2.1.1.5.0 for sysName.
Override¶
Host-specific deviation from a profile-check default. → Effective config
P¶
Passive check¶
Check run by a collector (check_mode = passive).
PENDING¶
Blue "awaiting data" display — a read-time special case of NO_DATA for freshly created or reactivated services, as long as there's no first result yet (no time window — ends only with a result or an offline verdict). Not its own DB status. → State model → PENDING
Permission¶
Access bit. Examples: host.create, alert_rule.edit, ai.query. → Roles & permissions
Pipeline health¶
System endpoint /api/v1/admin/health/snapshot with stream backlog, insert rate, DB+disk free, worker pool status. → System health
Policy¶
Declarative rule: match condition (JsonLogic subset) + action (create check, set tag, patch config). Applies automatically to all matching hosts — bulk configuration without SSH. A dry run is mandatory before saving, a circuit breaker stops runaway syncs. → Architecture → Policies
Probing¶
First phase in the three-layer state model — check has failed once, confirmation retry running. Operator sees a gray-pulsing pill. Column: current_status.ui_state = 'probing'. Goes either to degraded after confirmation, or straight back to ok if the retry is green. → State model
Profile¶
Device definition with capabilities and visual layout type. → Profiles & checks
Profile-check¶
Check definition per profile. → Profiles & checks
R¶
RAG (Retrieval-Augmented Generation)¶
Technique where an LLM is given relevant context from a database. Vesana uses pgvector + wiki embeddings as RAG source. → AI features
Reachability hint¶
Ping-based live hint on whether a host is currently reachable. Foundation for host-down inhibition (parent host genuinely "down", not just some check alerting) and for suspending child-service fast polls while the parent is unreachable. → Alerting → Reachability hint
Receiver¶
Ingest service accepting agent and collector packets, writing them to the Redis stream. Fastest path — no DB writes.
Recovery¶
Transition from alerting back to ok. Optional dedicated notification.
Recovery poll interval¶
In the degraded state, the worker scheduler polls active checks more tightly (default 15 s) for faster recovery detection. Field: recovery_poll_interval_seconds. → State model
S¶
Severity¶
Severity order: CRITICAL > WARNING > NO_DATA > UNKNOWN > OK.
Site¶
Geo-truth for physical maps. A host belongs to exactly one site (fallback: the host's own location if no site is maintained). A physical map hangs off exactly one site; decorative nodes on physical maps never trigger dependencies.
Soft delete¶
Logical delete via deleted_at column. Items land in trash, physically deleted after 30 days. → Soft delete & trash
Status page¶
Publicly reachable page with selected component status. Branding per tenant. → Public status pages
Structure column¶
The tree on the left of the hosts page: tenants as sections, inside them your own nestable folders; sort devices in by dragging or right-click. → Hosts page & structure
Suppression¶
A check counts in no problem rollup if it's suppressed: in downtime OR (accepted AND NOT "is a problem") OR (info mode AND status ≠ OK). The error overview deliberately shows everything anyway. → State model → Suppression rule
Sustained threshold¶
How long a degraded state must persist uninterrupted before the watcher promotes to alerting. Defaults: 60 s for CRITICAL, 120 s for WARNING (settings default_alert_after_critical_seconds, default_alert_after_warning_seconds). → State model
sysOID¶
SNMP object ID identifying a device (.1.3.6.1.2.1.1.2.0). Foundation for profile auto-match.
T¶
Tenant¶
Tenant separator. Every host, alert rule, dashboard has a tenant_id. → Architecture
Tester mode¶
Env bypass for beta testers. All limits lifted, no license key. → License
Three-layer state model¶
Current state model since v0.48 (migration 147 removed the old soft/hard model). Separates UI state (probing/degraded/alerting/no_data/unknown/ok — what the operator sees) from alerting state (ok/alerting — what drives notifications and SLA). → State model
track_change¶
Audit helper that stores old_values and new_values of an update operation as JSONB in the audit log. → Audit log
U¶
UI state¶
Operator-visible layer in the three-layer state model. Values: ok, probing, degraded, alerting, no_data, unknown. Drives the pill in the error overview. → State model
UNKNOWN¶
Status value: check ran, result not unambiguous. Gray in UI. → State model
Updater sidecar¶
Container that runs GUI updates: pre-update backup, pull, migrations, restart, auto-rollback. → Updates
V¶
Variable (dashboard)¶
Placeholder like $host, $tenant for dynamic widget filtering. Multi-select possible. URL-persisted. → Custom dashboards
Visual type¶
Special hardware visualization per profile (switch_portmap, ups_panel, …).
W¶
Watchdog¶
Background job watching status transitions (dead-agent, dead-collector, service-overdue, downtime-expiry).
Wiki¶
Built-in knowledge base. Markdown, categories, tags, service linking, pgvector embeddings. → Wiki
Worker¶
Consumer service processing Redis stream messages, updating status, evaluating alerts. Multiple instances supported.
Z¶
Zone¶
Group of hosts on the logical map (formerly "bubble"): a panel with status bar; drags from the zone border create real dependencies via the status hosts, the zone itself never alerts. → Logical map
Credential set¶
Tenant-wide stored device credentials (SNMP v2c/v3, SSH, API token), selectable when adding hosts and in Automatic setup; secrets are never shown again. → Credentials
Zstd¶
Compression algorithm for log packets. Agent compresses log entries before POST.