Step-by-Step Guide to Installing Revolver Server Monitor on LinuxRevolver Server Monitor is a lightweight, configurable tool for tracking server uptime, resource usage, and service health. This guide walks through preparing your Linux machine, installing Revolver Server Monitor, configuring it for common use cases, and verifying that it’s running correctly. Examples use a modern Debian/Ubuntu-based distribution; commands are provided for RHEL/CentOS/Fedora where they differ.
Prerequisites
- A Linux server (Debian/Ubuntu 18.04+, CentOS/RHEL 7+, Fedora 30+).
- Root or sudo privileges.
- Basic familiarity with the command line, systemd, and editing text files.
- Network access to download packages and repositories.
If your system uses a strict firewall, open ports specified by Revolver (commonly HTTP/HTTPS ports for web dashboards; check product docs to confirm).
1. Update the system and install dependencies
First, update package lists and upgrade installed packages.
Debian/Ubuntu:
sudo apt update sudo apt upgrade -y
RHEL/CentOS/Fedora:
sudo yum update -y # or `sudo dnf update -y` on newer Fedora/RHEL
Install common dependencies often required by monitoring software: curl, wget, tar, and a PostgreSQL or MySQL client if you plan to integrate with external databases.
Debian/Ubuntu:
sudo apt install -y curl wget tar gnupg ca-certificates
RHEL/CentOS/Fedora:
sudo yum install -y curl wget tar gnupg2 ca-certificates
2. Obtain the Revolver Server Monitor package
Check the official Revolver download page or repository for the latest release. You can usually download a prebuilt tarball or install via a package repository.
Example (tarball):
wget https://example.com/releases/revolver-server-monitor-1.2.3-linux-amd64.tar.gz tar -xzf revolver-server-monitor-1.2.3-linux-amd64.tar.gz sudo mv revolver-server-monitor-1.2.3-linux-amd64 /opt/revolver sudo ln -s /opt/revolver/revolver-server-monitor /usr/local/bin/revolver
If Revolver provides a Debian/RedHat repository, follow their repository setup instructions (import GPG key, add apt/yum repo, then install via package manager).
3. Create a dedicated user and directories
Run Revolver under a non-root user for security.
sudo useradd --system --no-create-home --shell /usr/sbin/nologin revolver sudo mkdir -p /var/lib/revolver /etc/revolver /var/log/revolver sudo chown -R revolver:revolver /var/lib/revolver /etc/revolver /var/log/revolver
Move or create the default configuration file:
sudo cp /opt/revolver/config.example.yaml /etc/revolver/config.yaml sudo chown revolver:revolver /etc/revolver/config.yaml
4. Configure Revolver Server Monitor
Open the configuration file in your preferred editor and set the essential parameters:
- Listening address and port for the web UI (e.g., 0.0.0.0:8080).
- Data directory location.
- Alerting settings (email, Slack, PagerDuty, or webhooks).
- Authentication (enable an admin user and password, or integrate with OAuth/LDAP if supported).
- Which checks to enable (ICMP/ping, HTTP, TCP, disk usage, process checks, custom scripts).
Example edits:
server: address: "0.0.0.0" port: 8080 storage: path: "/var/lib/revolver" alerts: email: enabled: true smtp_server: "smtp.example.com" username: "[email protected]" password: "changeme" from: "[email protected]"
Save changes and ensure file permissions keep secrets protected:
sudo chmod 640 /etc/revolver/config.yaml
5. Create systemd service
Create a systemd service file to run Revolver as a background service and allow easy management.
Create /etc/systemd/system/revolver.service with content similar to:
[Unit] Description=Revolver Server Monitor After=network.target [Service] User=revolver Group=revolver ExecStart=/usr/local/bin/revolver --config /etc/revolver/config.yaml Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target
Reload systemd, enable and start the service:
sudo systemctl daemon-reload sudo systemctl enable revolver sudo systemctl start revolver
Check status and logs:
sudo systemctl status revolver sudo journalctl -u revolver -f
6. Configure firewall and reverse proxy (optional)
If you run a firewall, allow the Revolver port:
Debian/Ubuntu with ufw:
sudo ufw allow 8080/tcp
RHEL with firewalld:
sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload
For production, place Revolver behind an HTTPS reverse proxy (NGINX/Apache) to terminate TLS and handle authentication. Example NGINX server block:
server { listen 80; server_name monitor.example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name monitor.example.com; ssl_certificate /etc/letsencrypt/live/monitor.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/monitor.example.com/privkey.pem; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
7. Add and test checks
Use the web UI (or API/CLI if provided) to add targets to monitor:
- Ping an IP or hostname.
- HTTP check for your website (with response code and content validation).
- TCP check for services like SSH (port 22) or database ports.
- Disk usage threshold checks and process presence checks.
- Custom script checks for application-specific health.
Example: Create an HTTP check for https://example.com with an expected 200 and body contains “Welcome”.
Trigger a manual run or wait for the scheduled interval, then verify the status in the dashboard and check logs for any errors.
8. Configure alerts and notifications
Set up alerting channels in Revolver:
- Email: configure SMTP details in config.yaml.
- Slack: add a webhook URL and channel.
- PagerDuty/OpsGenie: add integration keys.
- Webhooks: POST to custom endpoints used by incident management systems.
Test each channel by sending a test alert from the UI or using a test-check that intentionally fails.
9. Backups and maintenance
- Regularly back up /etc/revolver and /var/lib/revolver (or the configured data path).
- Rotate logs via logrotate. Example /etc/logrotate.d/revolver:
/var/log/revolver/*.log { daily rotate 7 compress missingok notifempty copytruncate }
- Keep the software updated by monitoring release notes and applying updates during maintenance windows.
10. Troubleshooting tips
- Service won’t start: check
sudo journalctl -u revolver -e
for errors. - Port in use: confirm no other process listens on the configured port using
ss -tlnp
. - Failed checks but service up: verify target connectivity from the server and check proxy/firewall rules.
- Authentication issues: inspect configuration for correct credentials and restart the service.
Example: Quick install script (Debian/Ubuntu)
This is an example script you can adapt (replace URLs, package names, and credentials as needed):
#!/usr/bin/env bash set -e RELEASE_URL="https://example.com/releases/revolver-server-monitor-1.2.3-linux-amd64.tar.gz" TMPDIR=$(mktemp -d) ARCHIVE="$TMPDIR/revolver.tar.gz" apt update apt install -y curl wget tar wget -O "$ARCHIVE" "$RELEASE_URL" tar -xzf "$ARCHIVE" -C /opt mv /opt/revolver-server-monitor-1.2.3-linux-amd64 /opt/revolver ln -sf /opt/revolver/revolver-server-monitor /usr/local/bin/revolver useradd --system --no-create-home --shell /usr/sbin/nologin revolver mkdir -p /var/lib/revolver /etc/revolver /var/log/revolver chown -R revolver:revolver /var/lib/revolver /etc/revolver /var/log/revolver cp /opt/revolver/config.example.yaml /etc/revolver/config.yaml chown revolver:revolver /etc/revolver/config.yaml chmod 640 /etc/revolver/config.yaml cat > /etc/systemd/system/revolver.service <<'EOF' [Unit] Description=Revolver Server Monitor After=network.target [Service] User=revolver Group=revolver ExecStart=/usr/local/bin/revolver --config /etc/revolver/config.yaml Restart=on-failure LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now revolver echo "Installation complete. Check service: sudo systemctl status revolver"
Final notes
- Replace example URLs, credentials, and configuration snippets with values appropriate to your environment.
- For large fleets, consider running Revolver in a high-availability configuration, using external storage, and integrating with central logging/alerting systems.
- Consult the official Revolver Server Monitor documentation for product-specific options and advanced integrations.
Leave a Reply