Update docs: Unified Agent, Migration checklist, and cleanup
This commit is contained in:
parent
edcf62f193
commit
18deba0b8d
4 changed files with 14 additions and 158 deletions
|
|
@ -1,73 +0,0 @@
|
||||||
# 🐳 Docker Monitoring Agent
|
|
||||||
|
|
||||||
Monitor Docker and Podman hosts alongside your Proxmox infrastructure.
|
|
||||||
|
|
||||||
## 🚀 Quick Start
|
|
||||||
|
|
||||||
Generate an installation command in the UI:
|
|
||||||
**Settings → Agents → Docker Agents → "Install New Agent"**
|
|
||||||
|
|
||||||
### Standard Install
|
|
||||||
```bash
|
|
||||||
curl -fsSL http://<pulse-ip>:7655/install-docker-agent.sh | \
|
|
||||||
sudo bash -s -- --url http://<pulse-ip>:7655 --token <api-token>
|
|
||||||
```
|
|
||||||
*Creates a `pulse-docker-agent` systemd service.*
|
|
||||||
|
|
||||||
### Podman (Rootless)
|
|
||||||
```bash
|
|
||||||
curl -fsSL http://<pulse-ip>:7655/install-container-agent.sh | \
|
|
||||||
bash -s -- --runtime podman --rootless --url http://<pulse-ip>:7655 --token <api-token>
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Features
|
|
||||||
|
|
||||||
- **Container Metrics**: CPU, Memory, Network, Disk I/O.
|
|
||||||
- **Health Checks**: Tracks container health status and restart loops.
|
|
||||||
- **Swarm Support**: Auto-detects Swarm mode and reports service/task data.
|
|
||||||
- **Multi-Target**: Can report to multiple Pulse servers for HA.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Configuration
|
|
||||||
|
|
||||||
The agent is configured via flags or environment variables (in `/etc/pulse/pulse-docker-agent.env`).
|
|
||||||
|
|
||||||
| Flag | Env Var | Description | Default |
|
|
||||||
|------|---------|-------------|---------|
|
|
||||||
| `--url` | `PULSE_URL` | Pulse Server URL | `http://localhost:7655` |
|
|
||||||
| `--token` | `PULSE_TOKEN` | API Token (scope: `docker:report`) | *(required)* |
|
|
||||||
| `--interval` | `PULSE_INTERVAL` | Polling Interval | `30s` |
|
|
||||||
| `--runtime` | `PULSE_RUNTIME` | `docker` or `podman` | `docker` |
|
|
||||||
| `--collect-disk` | `PULSE_COLLECT_DISK` | Monitor container disk usage | `true` |
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><strong>Advanced: Run as Container</strong></summary>
|
|
||||||
|
|
||||||
You can run the agent as a container instead of a system service.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker run -d \
|
|
||||||
--name pulse-agent \
|
|
||||||
--pid=host --uts=host \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-e PULSE_URL="http://pulse:7655" \
|
|
||||||
-e PULSE_TOKEN="<token>" \
|
|
||||||
ghcr.io/rcourtman/pulse-docker-agent:latest
|
|
||||||
```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ Troubleshooting
|
|
||||||
|
|
||||||
- **Agent Rejected?**
|
|
||||||
If a host was previously removed, you must "Allow re-enroll" in **Settings → Docker → Removed Hosts**.
|
|
||||||
|
|
||||||
- **Permission Denied (Socket)?**
|
|
||||||
Ensure the `pulse-docker` user is in the `docker` group (`sudo usermod -aG docker pulse-docker`).
|
|
||||||
|
|
||||||
- **Duplicate Hosts?**
|
|
||||||
If agents flip-flop in the UI, they share a machine-id. Set a unique `--agent-id` flag.
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
# 🖥️ Host Agent
|
|
||||||
|
|
||||||
Monitor standalone Linux, macOS, and Windows servers that don't run Proxmox or Docker.
|
|
||||||
|
|
||||||
## 🚀 Quick Start
|
|
||||||
|
|
||||||
Generate an installation command in the UI:
|
|
||||||
**Settings → Agents → Host Agents → "Install New Agent"**
|
|
||||||
|
|
||||||
### Linux (Universal)
|
|
||||||
```bash
|
|
||||||
curl -fsSL http://<pulse-ip>:7655/install-host-agent.sh | \
|
|
||||||
bash -s -- --url http://<pulse-ip>:7655 --token <api-token>
|
|
||||||
```
|
|
||||||
*Supports systemd, OpenRC, and Unraid.*
|
|
||||||
|
|
||||||
### macOS
|
|
||||||
```bash
|
|
||||||
curl -fsSL http://<pulse-ip>:7655/install-host-agent.sh | \
|
|
||||||
bash -s -- --url http://<pulse-ip>:7655 --token <api-token>
|
|
||||||
```
|
|
||||||
*Installs as a LaunchAgent.*
|
|
||||||
|
|
||||||
### Windows (PowerShell)
|
|
||||||
```powershell
|
|
||||||
$env:PULSE_URL = "http://<pulse-ip>:7655"
|
|
||||||
$env:PULSE_TOKEN = "<api-token>"
|
|
||||||
irm http://<pulse-ip>:7655/install-host-agent.ps1 | iex
|
|
||||||
```
|
|
||||||
*Installs as a Windows Service.*
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 📊 Features
|
|
||||||
|
|
||||||
- **System Metrics**: CPU, Memory, Disk, Network I/O.
|
|
||||||
- **Temperature**: Auto-detects sensors via `lm-sensors` (Linux).
|
|
||||||
- **RAID Monitoring**: Auto-detects `mdadm` arrays (Linux).
|
|
||||||
- **Smart Alerts**: Integrated with Pulse's alerting engine.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚙️ Configuration
|
|
||||||
|
|
||||||
The agent is a single binary configured via flags.
|
|
||||||
|
|
||||||
| Flag | Description | Default |
|
|
||||||
|------|-------------|---------|
|
|
||||||
| `--url` | Pulse Server URL | `http://localhost:7655` |
|
|
||||||
| `--token` | API Token (scope: `host-agent:report`) | *(required)* |
|
|
||||||
| `--interval` | Polling Interval | `30s` |
|
|
||||||
| `--hostname` | Override Hostname | *(OS hostname)* |
|
|
||||||
| `--agent-id` | Unique Agent ID | *(machine-id)* |
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary><strong>Advanced: Manual Installation</strong></summary>
|
|
||||||
|
|
||||||
Download the binary from [Releases](https://github.com/rcourtman/Pulse/releases) and run it manually:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Linux / macOS
|
|
||||||
sudo ./pulse-host-agent --url http://pulse:7655 --token <token> --interval 30s
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
.\pulse-host-agent.exe --url http://pulse:7655 --token <token>
|
|
||||||
```
|
|
||||||
|
|
||||||
To run as a service, create a systemd unit or use `sc.exe` on Windows.
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ⚠️ Troubleshooting
|
|
||||||
|
|
||||||
- **Duplicate Hosts?**
|
|
||||||
If cloned VMs show up as the same host, they likely share a `/etc/machine-id`.
|
|
||||||
Run `sudo rm /etc/machine-id && sudo systemd-machine-id-setup` to fix.
|
|
||||||
|
|
||||||
- **No Temperature Data?**
|
|
||||||
Ensure `lm-sensors` is installed and configured (`sudo sensors-detect`).
|
|
||||||
|
|
||||||
- **Check Status**
|
|
||||||
Go to **Settings → Agents → Host Agents** to verify connection status.
|
|
||||||
|
|
@ -43,6 +43,19 @@ The export file works across all installation methods. You can migrate from Dock
|
||||||
2. Import your latest backup.
|
2. Import your latest backup.
|
||||||
3. Restored in < 5 minutes.
|
3. Restored in < 5 minutes.
|
||||||
|
|
||||||
|
## 📋 Post-Migration Checklist
|
||||||
|
|
||||||
|
Because authentication secrets are excluded from exports, you must:
|
||||||
|
|
||||||
|
1. **Re-create Admin User**: If not using `.env` overrides, create your admin account on the new instance.
|
||||||
|
2. **Re-issue API Tokens**:
|
||||||
|
* Go to **Settings → Security**.
|
||||||
|
* Generate new tokens for your agents and scripts.
|
||||||
|
3. **Update Agents**:
|
||||||
|
* **Unified Agent**: Update the `--token` flag in your service definition.
|
||||||
|
* **Docker**: Update `PULSE_TOKEN` in your container config.
|
||||||
|
* *Tip: You can use the "Install New Agent" wizard to generate updated install commands.*
|
||||||
|
|
||||||
## 🔒 Security
|
## 🔒 Security
|
||||||
|
|
||||||
* **Encryption**: Exports are encrypted with PBKDF2 (100k iterations).
|
* **Encryption**: Exports are encrypted with PBKDF2 (100k iterations).
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,7 @@ Welcome to the Pulse documentation portal. Here you'll find everything you need
|
||||||
|
|
||||||
## 📡 Monitoring & Agents
|
## 📡 Monitoring & Agents
|
||||||
|
|
||||||
- **[Docker Monitoring](DOCKER_MONITORING.md)** – Docker/Podman agent installation.
|
- **[Unified Agent](UNIFIED_AGENT.md)** – Single binary for Host and Docker monitoring.
|
||||||
- **[Host Agent](HOST_AGENT.md)** – Host agent installers for Linux, macOS, Windows.
|
|
||||||
- **[VM Disk Monitoring](VM_DISK_MONITORING.md)** – Enabling QEMU Guest Agent for disk stats.
|
- **[VM Disk Monitoring](VM_DISK_MONITORING.md)** – Enabling QEMU Guest Agent for disk stats.
|
||||||
- **[Temperature Monitoring](TEMPERATURE_MONITORING.md)** – Setting up hardware sensors.
|
- **[Temperature Monitoring](TEMPERATURE_MONITORING.md)** – Setting up hardware sensors.
|
||||||
- **[Webhooks](WEBHOOKS.md)** – Custom notification payloads.
|
- **[Webhooks](WEBHOOKS.md)** – Custom notification payloads.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue