feat: add agent deployment documentation and improve disk telemetry filtering in deploy script
This commit is contained in:
143
AGENT_DEPLOYMENT_GUIDE.md
Normal file
143
AGENT_DEPLOYMENT_GUIDE.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# 🛡️ 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*
|
||||
Reference in New Issue
Block a user