Server Monitoring

PixoMonitor uses a lightweight Node.js agent to collect server metrics and send them to the PixoMonitor API over HTTPS.

Every plan includes at least one server agent. Log monitoring requires Starter or higher; database monitoring and auto-discovery require Pro or higher.

What the Agent Collects

Core metrics are collected every 30 seconds:

AreaCollected data
CPUTotal and per-core utilization
MemoryUsed, free, cached, swap, and percentage used
DiskUsed space and percentage used per filesystem; read/write I/O rates
NetworkBytes, packets, and errors per active interface
ProcessesTop 10 processes by CPU, with CPU and resident-memory usage
SystemHostname, platform, release, architecture, type, and uptime

Install the Agent

1

Create a server

Open Servers, select Add Server, and enter a descriptive name such as prod-api-01.

2

Copy the generated command

PixoMonitor creates an API key and shows an installation command tied to that server.

3

Run the command on the server

curl -sSL "https://pixomonitor.com/install-agent.sh?key=YOUR_API_KEY" | sudo bash
4

Verify the service

sudo systemctl status pixomonitor-agent

The installer configures a systemd service. The server should appear online after the agent registers and sends its first metric payload.

Treat the generated API key as a secret. The agent uses it to register and authenticate metric, discovery, and log requests.

Server Detail Tabs

Overview

The Overview tab combines current and historical operating data:

  • CPU and memory pressure
  • Filesystem usage
  • Network traffic and rates
  • Top processes
  • A compact service-topology map when auto-discovery is available

Topology

The Topology tab shows the host, discovered services and listeners, and verified local dependencies. Dashed lines mean a service runs on the host. Dependency arrows appear only for configured or observed relationships; PixoMonitor does not infer missing dependencies.

Discovery

Auto-discovery runs every six hours and reports:

  • Operating-system and hardware details
  • Running systemd services
  • Listening ports and owning process IDs when available
  • Locally detected PostgreSQL, MySQL, and Redis services

PixoMonitor stores discovered services and groups recognized database, web-server, system, and other service types for display.

Auto-discovery does not inventory installed packages. It reports running services, listeners, OS and hardware data, and detected databases.

Logs

The agent watches configured log files. When a new line matches a configured regular-expression pattern, it sends that matching line, file path, severity, and pattern to PixoMonitor.

The Logs tab lets you:

  • Search and filter received matches by severity, file, text, and time
  • Add, update, or remove pattern rules
  • Route matching rules to an alert channel

The agent does not upload complete log files or historical lines that existed before watching began.

Database

Database monitoring currently collects:

DatabaseMetric
PostgreSQLActive connection count
MySQLConnected-thread count

The agent can also detect Redis during discovery, but the current database-metric collector does not publish Redis performance metrics.

Database credentials are configured per server. PixoMonitor stores password fields encrypted and returns masked values to the dashboard.

Alerts

Create threshold rules for collected metrics and route them to an owned alert channel. Server alerting includes:

  • Conditions: >, >=, <, <=, and ==
  • Five-minute delivery cooldowns
  • Triggered and resolved history
  • Flap detection and temporary notification suppression
  • AND/OR alert groups
  • Context such as trend, breach duration, related metrics, and top processes for CPU alerts
  • Test delivery for configured alert rules

Troubleshooting

Server Shows Offline

  1. Check the service:
    sudo systemctl status pixomonitor-agent
  2. Inspect recent logs:
    sudo journalctl -u pixomonitor-agent --since "1 hour ago"
  3. Confirm outbound HTTPS on port 443 is allowed.
  4. Restart the agent:
    sudo systemctl restart pixomonitor-agent

Metrics Are Missing

  • Wait for the next 30-second collection cycle.
  • Check the agent journal for registration or API errors.
  • Confirm the generated API key and PixoMonitor API URL in the agent configuration.

Discovery Is Empty

  • Confirm the account has the serverAutoDiscovery entitlement.
  • Remember that full discovery runs every six hours.
  • Verify the agent can run systemctl and inspect network connections on the host.

Log Matches Are Missing

  • Confirm the file exists and the agent can read it.
  • Confirm new lines match one of the configured regular expressions.
  • Remember that only matching lines written after the watcher starts are sent.

Best Practices

  1. Use names that include environment and role, such as prod-web-1.
  2. Start with conservative thresholds and test the configured delivery channel.
  3. Watch only the log files and patterns needed for incident response.
  4. Use a least-privilege database account when configuring connection metrics.
  5. Review discovered services and dependency evidence before relying on the topology view.