Skip to content

Monitoring

ollikurki edited this page May 21, 2026 · 2 revisions

Monitoring

Zabbix-based infrastructure monitoring for HomePilot and Proxmox VE.

Overview

HomePilot Agent includes Zabbix monitoring for:

  • 5 zabbix-agent2 hosts: database, monitoring, proxy, app-server, agent
  • 3 Proxmox VE nodes: monitored via API (no SSH agent possible on PVE bare-metal)
  • Docker containers: tracked per host
  • CVE tracking: automated vulnerability scanning

Architecture

┌──────────────────┐
│   Zabbix Server   │  (PostgreSQL backend)
│   + Web UI        │
└────────┬─────────┘
         │
    ┌────┼────┬─────┬─────┐
    │    │    │     │     │
    ▼    ▼    ▼     ▼     ▼
  Host  Host  Host  Host  Host
  (db)  (mon) (proxy)(app) (agent)
         │
         ▼
    Proxmox API
    (3 PVE nodes)

Zabbix Setup

Server

  1. Install Zabbix server with PostgreSQL backend
  2. Configure zabbix-server.conf:
    DBHost=<database-host>
    DBName=zabbix
    DBUser=zabbix
    DBPassword=<password>
  3. Install PHP PostgreSQL extension: apt install php8.3-pgsql
  4. Generate locale: locale-gen en_US.UTF-8

Agent (on each managed host)

apt install zabbix-agent2
# /etc/zabbix/zabbix_agent2.conf
Server=<monitoring-host-ip>
ServerActive=<monitoring-host-ip>
systemctl restart zabbix-agent2

PVE Nodes (API-only)

Proxmox VE bare-metal hosts reject SSH (PermitRootLogin=no), so use HTTP agent monitoring:

  1. Create a PVE API token (read-only, PVEAuditor role)
  2. In Zabbix, add PVE hosts with HTTP agent items pointing to https://<pve-host>:8006/api2/json/
  3. Use the PVE token in HTTP headers for authentication

Hosts

Host Type Monitoring
database-host LXC zabbix-agent2 (active)
monitoring-host LXC zabbix-agent2 (active)
proxy-host LXC zabbix-agent2 (active)
app-server VM zabbix-agent2 (active)
agent-host VM zabbix-agent2 (active)
pve1 Bare-metal Proxmox API (HTTP agent)
pve2 Bare-metal Proxmox API (HTTP agent)
pve3 Bare-metal Proxmox API (HTTP agent)

Key Metrics

  • CPU utilization per host
  • Memory usage and availability
  • Disk space and I/O
  • Network traffic and errors
  • Docker container status
  • Proxmox VM/LXC status and resource usage
  • PVE cluster health

Alerting

Zabbix triggers and actions can be configured to send alerts via:

  • Email: Critical severity alerts
  • Webhook: Real-time notifications to Matrix/Slack/Discord
  • Scripts: Custom remediation actions

Known Limitations

  • PVE bare-metal hosts cannot run zabbix-agent2 (SSH access restricted)
  • PVE local-lvm at ~90% is normal for thin provisioning — monitor actual allocation
  • Ollama embedding service uses an SSH reverse tunnel (ephemeral) — restart required after reboot

Screenshots

Zabbix Dashboard Zabbix Hosts

See Also

  • Deployment — Docker Compose setup and configuration
  • Security — Hardening and least-privilege setup

Clone this wiki locally