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:
| Area | Collected data |
|---|---|
| CPU | Total and per-core utilization |
| Memory | Used, free, cached, swap, and percentage used |
| Disk | Used space and percentage used per filesystem; read/write I/O rates |
| Network | Bytes, packets, and errors per active interface |
| Processes | Top 10 processes by CPU, with CPU and resident-memory usage |
| System | Hostname, platform, release, architecture, type, and uptime |
Install the Agent
Create a server
Open Servers, select Add Server, and enter a descriptive name such as prod-api-01.
Copy the generated command
PixoMonitor creates an API key and shows an installation command tied to that server.
Run the command on the server
curl -sSL "https://pixomonitor.com/install-agent.sh?key=YOUR_API_KEY" | sudo bashVerify the service
sudo systemctl status pixomonitor-agentThe 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:
| Database | Metric |
|---|---|
| PostgreSQL | Active connection count |
| MySQL | Connected-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
- Check the service:
sudo systemctl status pixomonitor-agent - Inspect recent logs:
sudo journalctl -u pixomonitor-agent --since "1 hour ago" - Confirm outbound HTTPS on port 443 is allowed.
- 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
serverAutoDiscoveryentitlement. - Remember that full discovery runs every six hours.
- Verify the agent can run
systemctland 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
- Use names that include environment and role, such as
prod-web-1. - Start with conservative thresholds and test the configured delivery channel.
- Watch only the log files and patterns needed for incident response.
- Use a least-privilege database account when configuring connection metrics.
- Review discovered services and dependency evidence before relying on the topology view.
