Files
rmm-backend/AGENT_DEPLOYMENT_GUIDE.md

144 lines
4.6 KiB
Markdown

# 🛡️ SeekRight RMM Agent — Client Deployment Guide
### *AnyDesk Remote Access Workflow*
---
## 📋 Prerequisites (before you connect)
| What you need | Where to get it |
|---|---|
| AnyDesk installed on **your** machine | anydesk.com |
| AnyDesk installed on the **client** machine | Ask client to install from anydesk.com |
| Client's AnyDesk ID / address | Ask client to share it with you |
| `deploy_agent.sh` file | In your workspace: `RMM-BE/rmm-backend/deploy_agent.sh` |
| Client ID to register with | Agreed upon name (e.g. `NH-8`, `BS-13`) |
---
## 🔗 Step 1 — Connect to the Client via AnyDesk
1. Open **AnyDesk** on your machine.
2. Enter the **client's AnyDesk ID** in the address bar.
3. Click **Connect** → client approves the session.
4. Once inside: right-click the desktop or press `Ctrl+Alt+T` to open a **Terminal**.
**Tip:** Ask the client to set up **unattended access** in AnyDesk settings so you don't need them to approve each connection.
---
## 📤 Step 2 — Transfer the Deploy Script
### Option A — AnyDesk File Transfer (easiest, recommended)
1. In AnyDesk, click the **File Manager** icon in the top toolbar.
2. Drag `deploy_agent.sh` from your machine to the **client's Desktop** or `~/Downloads`.
### Option B — Download directly on the client machine
```bash
curl -O http://rmm-backend.seekright.com/deploy_agent.sh
# OR if curl is not available:
wget http://rmm-backend.seekright.com/deploy_agent.sh
```
---
## ⚙️ Step 3 — Run the Deployment Script
In the client's terminal, navigate to where you placed the script and run it:
```bash
# Make the script executable (only needed the first time)
chmod +x deploy_agent.sh
# Run with the agreed Client ID (replace NH-8 with the actual ID)
sudo ./deploy_agent.sh NH-8
```
> **The script MUST be run with `sudo`** — it installs a systemd service and writes to `/opt/seekright-agent/`.
### What you'll see during deployment:
```
🚀 Preparing SeekRight RMM Agent installation...
📍 Target Client ID: NH-8
🌐 Central Server URL: http://rmm-backend.seekright.com
🔄 Updating system package indexes...
📁 Creating installation workspace...
📝 Generating client agent file...
⚙️ Configuring background systemd daemon service...
🔄 Reloading system daemons and starting agent service...
✨ ============================================= ✨
✅ SeekRight RMM Agent successfully deployed!
📍 Location: /opt/seekright-agent/client_agent_prototype.py
📋 System Service: seekright-agent.service
✨ ============================================= ✨
```
---
## ✅ Step 4 — Verify the Agent is Running
After deployment, the script shows live logs automatically. Confirm you see:
```
seekright-agent[XXXXX]: Starting Agent for NH-8...
seekright-agent[XXXXX]: [*] Telemetry pushed successfully.
seekright-agent[XXXXX]: [*] Checking for commands...
seekright-agent[XXXXX]: -> No pending commands.
```
-**`Telemetry pushed successfully`** → agent is live and sending data.
-**`SyntaxError` or `exit-code`** → redeploy with the latest version of the script.
Press `Ctrl+C` to exit the log view. The agent continues running in the background as a system service.
---
## 🔍 Step 5 — Confirm in the RMM Dashboard
1. Open the **SeekRight Pulse RMM** dashboard in your browser.
2. Within ~30 seconds the new client node appears with a 🟢 **Online** status.
3. Verify that disk drives, CPU, and memory telemetry are loading correctly.
---
## 🛠️ Useful Troubleshooting Commands (run on the client machine)
| Task | Command |
|---|---|
| Check agent status | `sudo systemctl status seekright-agent` |
| View live logs | `sudo journalctl -u seekright-agent -f` |
| Restart the agent | `sudo systemctl restart seekright-agent` |
| Stop the agent | `sudo systemctl stop seekright-agent` |
| View installed agent file | `cat /opt/seekright-agent/client_agent_prototype.py` |
| Re-run full deployment | `sudo ./deploy_agent.sh <CLIENT_ID>` |
---
## 🆔 Client ID Naming Convention
Use a consistent, short identifier. No spaces.
| ✅ Good | ❌ Avoid |
|---|---|
| `NH-8` | `New HP Workstation 8` |
| `BS-13` | `bs 13 machine` |
| `SHOWROOM-PC-01` | `showroom pc` |
> If no Client ID is provided, the script defaults to the machine's **hostname** (e.g. `nh8gglamsrv01`).
---
## 🔄 Re-deploying / Updating the Agent
Whenever you push a bug fix or new version of `deploy_agent.sh`, simply re-run on the client:
```bash
sudo ./deploy_agent.sh NH-8
```
The script is **idempotent** — safely overwrites the previous installation and restarts the service.
---
*SeekRight Pulse RMM · Internal Documentation · v1.0*