Skip to main content
The VMS agent collector (Vero Metric Collector) is installed at the customer host or site to collect metrics, checks, and logs, then securely push them to the central VMS Master over HTTPS.
Cross-Platform Support: VMS Agent natively runs on Linux as a systemd service and on Windows as a Windows Service, as well as containerized options (Docker / Kubernetes).

Agent Deployment Overview

Below is the connection and reporting structure of the VMS Agent deployed on both Linux and Windows environments: VMS Agent Deployment

Prerequisites (Agent)

PrerequisiteDescription
OSLinux (systemd) or Windows (Windows Service)
ConnectionOutbound HTTPS connectivity to the VMS Master INGRESS_URL. No inbound ports are required
API KeyA valid agent auth key generated from VMS Master
TLS ModeTrusted SSL Certificate or path to the custom CA file

Deployment Flow on Linux (systemd)

These installation steps follow the Step (Action) - Check (Verification) - Result (Expected Outcome) structure:
1

1. Download and Install Agent Binary

  • Step: Download the installation script from your customer domain to pull down the binary:
    curl -fsSL https://CUSTOMER_DOMAIN/agent/install/linux.sh | sudo bash -s -- --ingress-url https://ingest.CUSTOMER_DOMAIN --api-key YOUR_API_KEY
    
  • Check: Verify that the binary runs and displays version information:
    vms-monitor-agent version
    
  • Result: Version, build date, and git commit of the agent are successfully printed.
2

2. Configure Environment and TLS certs

  • Step: Configure /etc/vms-monitor-agent/agent.env with variables and specify the CA cert path if self-signed:
    VMS_METRICS_INGRESS_URL="https://ingest.CUSTOMER_DOMAIN"
    VMS_METRICS_INGRESS_API_KEY="YOUR_API_KEY"
    VMS_TLS_CA_FILE="/etc/vms-monitor-agent/ca.crt"
    
  • Check: Read the file to ensure variables are set:
    cat /etc/vms-monitor-agent/agent.env
    
  • Result: The environment file is generated containing all required connection keys.
3

3. Launch systemd Service

  • Step: Reload systemd configurations, enable and start the agent daemon:
    sudo systemctl daemon-reload
    sudo systemctl enable --now vms-monitor-agent
    
  • Check: Query the systemd service status:
    sudo systemctl status vms-monitor-agent --no-pager
    
  • Result: The service status displays active (running).
4

4. Verify Connection Logs

  • Step: Monitor live logs to confirm successful metric ingest:
    sudo journalctl -u vms-monitor-agent -n 50 -f --no-pager
    
  • Check: Inspect logs for transmission status indicators.
  • Result: Logs report INFO [Ingress] Reporting probe results to vms-ingress... without auth or handshake errors.

Deployment Flow on Windows (Windows Service)

Windows installation steps structured as Step (Action) - Check (Verification) - Result (Expected Outcome):
1

1. Download Installer Script

  • Step: Open an elevated PowerShell session (Admin) and download the install utility script:
    iwr https://CUSTOMER_DOMAIN/agent/install/windows.ps1 -OutFile install.ps1
    
  • Check: Test that the script file was successfully saved:
    Test-Path .\install.ps1
    
  • Result: Output evaluates to True.
2

2. Execute Installation Script

  • Step: Run the helper script specifying the ingest URL and your key:
    PowerShell -ExecutionPolicy Bypass -File .\install.ps1 -IngressUrl "https://ingest.CUSTOMER_DOMAIN" -ApiKey "YOUR_API_KEY"
    
  • Check: Verify the installation target contains the executable:
    .\vms-monitor-agent.exe version
    
  • Result: Executable executes and prints version info.
3

3. Start Windows Service

  • Step: Start the service via Service Controller:
    Start-Service -Name "vms-monitor-agent"
    
  • Check: Verify the service status:
    Get-Service -Name "vms-monitor-agent"
    
  • Result: The status returns Running.
4

4. Verify via Event Viewer Logs

  • Step: Retrieve the latest system logs created by the agent source:
    Get-EventLog -LogName Application -Source vms-monitor-agent -Newest 10
    
  • Check: Read messages to verify heartbeat status.
  • Result: Event log contains startup messages indicating successful authentication and metric delivery.

Generic Probe Configuration Structure

All monitoring configs are structured into a wrapper block containing metadata and a custom config block.
{
  "code": "core-host-resource",
  "name": "Core host resource",
  "type": "host_resource",
  "intervalSeconds": 30,
  "timeoutMs": 5000,
  "retryCount": 1,
  "enabled": true,
  "targetId": "core-host-01",
  "labels": { "system": "Core", "owner": "core-ops" },
  "config": { "collectCpu": true, "collectMemory": true }
}
FieldRequiredMeaning
codeYesUnique probe identifier
nameNoDisplay name on dashboards
typeYesProbe type, for example host_resource, http_check
intervalSecondsNoProbe run interval
timeoutMsNoPer-run timeout
retryCountNoRetry count when a check fails
enabledNoEnable/disable this probe
targetIdNoRelated host/service ID
labelsNoExtra labels such as system, env, owner
configYesProbe-specific config

Supported Probes

See individual probe pages in the left menu for detailed config. Summary:
Probe typeGroupDescription
host_resourceCoreCollect CPU, memory, disk, disk IO, network
check_portCoreCheck TCP port open/closed
pingCoreCheck host reachability (ICMP / TCP fallback)
http_checkCoreCheck HTTP/HTTPS endpoint
dns_checkCoreCheck DNS record resolution
tls_certCoreMonitor TLS certificate expiry
process_monCoreMonitor running processes
service_monCoreCheck systemd / Windows service state
connectionCoreCheck connection count by filter
connection_monCoreMonitor TCP connection between process and service (bidirectional)
file_checkCoreCheck file existence, size, age
log_monCoreCount log lines matching pattern
log_getCoreShip log lines with redaction
auto_discoveryCoreDiscover connection inventory and topology
custom_checkOpt-in (vms_custom_check)Run approved executable
container_monHeavy (vms_heavy)Monitor Docker / Swarm containers
k8s_monHeavy (vms_heavy)Monitor Kubernetes workloads/pods/nodes
snmp_checkHeavy (vms_heavy)Poll SNMP OIDs
wmi_perfHeavy (vms_heavy)WMI queries on Windows

Troubleshooting

SymptomsLikely CauseResolution
Agent fails to start immediatelyMissing ingest URL or API keyCheck environment variables or configuration file
401 Authentication blockedInvalid or rotated API keyFetch a new key from VMS Master and restart agent
x509 unknown authorityIngress using self-signed certSet VMS_TLS_CA_FILE environment variable to CA certificate
Ping transitions to TCP fallbackLack of ICMP socket privilegesAssign CAP_NET_RAW or allow fallback
Connection/Process logs missing namesLack of system process reading accessExecute as privileged user or grant CAP_SYS_PTRACE