@@ -16,7 +16,7 @@ A lightweight Prometheus forwarder written in Go. It scrapes metrics from `node_
1616- ✅ ** Simpler** : No custom metrics collection
1717- ✅ ** Standard** : Uses Prometheus text format
1818- ✅ ** Buffered** : Write-Ahead Log pattern for reliability
19- - ❌ ** No TUI** : ` pulse watch` command removed
19+ - ❌ ** No TUI** : ` nodepulse watch` command removed
2020- ❌ ** No JSON** : Prometheus text format only
2121
2222** Why Prometheus?**
@@ -92,39 +92,39 @@ Download the latest release for your architecture:
9292
9393``` bash
9494# For amd64
95- wget https://github.com/node-pulse/agent/releases/latest/download/pulse -linux-amd64.tar.gz
96- tar -xzf pulse -linux-amd64.tar.gz
97- sudo mv pulse /usr/local/bin/
98- sudo chmod +x /usr/local/bin/pulse
95+ wget https://github.com/node-pulse/agent/releases/latest/download/nodepulse -linux-amd64.tar.gz
96+ tar -xzf nodepulse -linux-amd64.tar.gz
97+ sudo mv nodepulse /usr/local/bin/
98+ sudo chmod +x /usr/local/bin/nodepulse
9999
100100# For arm64
101- wget https://github.com/node-pulse/agent/releases/latest/download/pulse -linux-arm64.tar.gz
102- tar -xzf pulse -linux-arm64.tar.gz
103- sudo mv pulse /usr/local/bin/
104- sudo chmod +x /usr/local/bin/pulse
101+ wget https://github.com/node-pulse/agent/releases/latest/download/nodepulse -linux-arm64.tar.gz
102+ tar -xzf nodepulse -linux-arm64.tar.gz
103+ sudo mv nodepulse /usr/local/bin/
104+ sudo chmod +x /usr/local/bin/nodepulse
105105```
106106
107107### From Source
108108
109109``` bash
110110git clone https://github.com/node-pulse/agent.git
111111cd agent
112- go build -o pulse
113- sudo mv pulse /usr/local/bin/
114- sudo chmod +x /usr/local/bin/pulse
112+ go build -o nodepulse
113+ sudo mv nodepulse /usr/local/bin/
114+ sudo chmod +x /usr/local/bin/nodepulse
115115```
116116
117117## Usage
118118
119119### Initialize Configuration (First Time Setup)
120120
121121``` bash
122- sudo pulse setup --yes --endpoint-url https://dashboard.nodepulse.io/metrics/prometheus --server-id < your-uuid>
122+ sudo nodepulse setup --yes --endpoint-url https://dashboard.nodepulse.io/metrics/prometheus --server-id < your-uuid>
123123```
124124
125125Quick setup wizard that:
126126
127- - Creates necessary directories (` /etc/node-pulse ` , ` /var/lib/node-pulse ` )
127+ - Creates necessary directories (` /etc/nodepulse ` , ` /var/lib/nodepulse ` )
128128- Creates configuration file with your settings
129129- Uses provided server ID (assigned by dashboard when adding server)
130130
@@ -135,7 +135,13 @@ Quick setup wizard that:
135135#### Foreground Mode (Development/Testing)
136136
137137``` bash
138- pulse start
138+ nodepulse start
139+ ```
140+
141+ Or run without subcommand (equivalent):
142+
143+ ``` bash
144+ nodepulse --config /etc/nodepulse/nodepulse.yml
139145```
140146
141147Runs the agent in the foreground (blocks the terminal). Best for development and testing.
@@ -146,16 +152,16 @@ Runs the agent in the foreground (blocks the terminal). Best for development and
146152#### Daemon Mode (Background - Development Only)
147153
148154``` bash
149- pulse start -d
155+ nodepulse start -d
150156```
151157
152158Runs the agent in the background for quick testing. ** Not recommended for production.**
153159- Detaches from terminal and runs in background
154160- Creates PID file for process management
155- - Stop with: ` pulse stop`
161+ - Stop with: ` nodepulse stop`
156162
157163``` bash
158- pulse stop
164+ nodepulse stop
159165```
160166
161167Stops the background daemon agent:
@@ -169,22 +175,22 @@ Stops the background daemon agent:
169175For production deployments, use systemd service management:
170176
171177``` bash
172- sudo pulse service install
173- sudo pulse service start
178+ sudo nodepulse service install
179+ sudo nodepulse service start
174180```
175181
176182Benefits:
177183- Automatic restart on failure
178184- Starts on system boot
179185- Managed by systemd (no PID file needed)
180- - Stop with: ` sudo pulse service stop `
186+ - Stop with: ` sudo nodepulse service stop `
181187
182- ** Important** : ` pulse stop` will not stop systemd-managed agents. Use ` pulse service stop` instead.
188+ ** Important** : ` nodepulse stop` will not stop systemd-managed agents. Use ` nodepulse service stop` instead.
183189
184190### Check Agent Status
185191
186192``` bash
187- pulse status
193+ nodepulse status
188194```
189195
190196Shows comprehensive agent status including server ID, configuration, service status, buffer state, and logging.
@@ -196,60 +202,60 @@ Node Pulse Agent Status
196202=====================
197203
198204Server ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
199- Persisted at: /var/lib/node-pulse /server_id
205+ Persisted at: /var/lib/nodepulse /server_id
200206
201- Config File: /etc/node-pulse /nodepulse.yml
207+ Config File: /etc/nodepulse /nodepulse.yml
202208Endpoint: https://dashboard.nodepulse.io/metrics/prometheus
203209Interval: 15s
204210
205211Agent: running (via systemd)
206212
207- Buffer: 3 report(s) pending in /var/lib/node-pulse /buffer
213+ Buffer: 3 report(s) pending in /var/lib/nodepulse /buffer
208214
209- Log File: /var/log/node-pulse /agent.log
215+ Log File: /var/log/nodepulse /agent.log
210216```
211217
212218### Service Management
213219
214220#### Install as systemd service
215221
216222``` bash
217- sudo pulse service install
223+ sudo nodepulse service install
218224```
219225
220226#### Start the service
221227
222228``` bash
223- sudo pulse service start
229+ sudo nodepulse service start
224230```
225231
226232#### Check service status
227233
228234``` bash
229- sudo pulse service status
235+ sudo nodepulse service status
230236```
231237
232238#### Stop the service
233239
234240``` bash
235- sudo pulse service stop
241+ sudo nodepulse service stop
236242```
237243
238244#### Restart the service
239245
240246``` bash
241- sudo pulse service restart
247+ sudo nodepulse service restart
242248```
243249
244250#### Uninstall the service
245251
246252``` bash
247- sudo pulse service uninstall
253+ sudo nodepulse service uninstall
248254```
249255
250256## Configuration
251257
252- Configuration file at ` /etc/node-pulse /nodepulse.yml ` :
258+ Configuration file at ` /etc/nodepulse /nodepulse.yml ` :
253259
254260``` yaml
255261server :
@@ -266,15 +272,15 @@ prometheus:
266272 timeout : 3s
267273
268274buffer :
269- path : " /var/lib/node-pulse /buffer"
275+ path : " /var/lib/nodepulse /buffer"
270276 retention_hours : 48
271277 batch_size : 5
272278
273279logging :
274280 level : " info" # Options: debug, info, warn, error
275281 output : " stdout" # Options: stdout, file, both
276282 file :
277- path : " /var/log/node-pulse /agent.log"
283+ path : " /var/log/nodepulse /agent.log"
278284 max_size_mb : 10
279285 max_backups : 3
280286 max_age_days : 7
@@ -327,8 +333,8 @@ The server ID uniquely identifies your server in the NodePulse system:
327333
328334- **Dashboard Assignment**: When you add a server in the dashboard, it assigns a UUID
329335- **Ansible Deployment**: Pass the UUID as `server_id` variable
330- - **Persistence**: The agent stores the ID in `/var/lib/node-pulse /server_id`
331- - **Fallback Locations**: `/etc/node-pulse /server_id`, `~/.node-pulse /server_id`, `./server_id`
336+ - **Persistence**: The agent stores the ID in `/var/lib/nodepulse /server_id`
337+ - **Fallback Locations**: `/etc/nodepulse /server_id`, `~/.nodepulse /server_id`, `./server_id`
332338
333339# # Metrics Collected
334340
@@ -388,7 +394,7 @@ When HTTP forwarding fails (timeout or error):
388394
3893951. **Metrics are saved to buffer first** (before sending)
3903962. **Background goroutine drains buffer continuously** with random jitter
391- 3. **Format** : ` /var/lib/node-pulse /buffer/YYYYMMDD-HHMMSS-<server_id>.prom`
397+ 3. **Format** : ` /var/lib/nodepulse /buffer/YYYYMMDD-HHMMSS-<server_id>.prom`
3923984. **Batch processing** : Sends up to 5 reports per request (configurable)
3933995. **Oldest first** : Processes files in chronological order
3944006. **Cleanup** : Files older than 48 hours are automatically deleted
@@ -431,7 +437,7 @@ make release
431437make build
432438
433439# Or using go directly
434- go build -o build/pulse .
440+ go build -o build/nodepulse .
435441
436442# For Linux amd64
437443make build-linux-amd64
@@ -446,8 +452,8 @@ make build-linux-arm64
446452- **Architectures**: amd64, arm64
447453- **Dependencies**: `node_exporter` running on `localhost:9100`
448454- **Permissions**:
449- - Normal user for `pulse start`, `pulse start -d`, `pulse stop`
450- - Root (sudo) for `pulse service` commands and `pulse setup`
455+ - Normal user for `nodepulse start`, `nodepulse start -d`, `nodepulse stop`
456+ - Root (sudo) for `nodepulse service` commands and `nodepulse setup`
451457
452458# # Data Retention
453459
@@ -473,39 +479,39 @@ make build-linux-arm64
473479 - New buffer format stores Prometheus text format (`.prom` files)
474480
4754813. **Commands removed:**
476- - ` pulse watch` no longer exists (TUI removed)
482+ - ` nodepulse watch` no longer exists (TUI removed)
477483
478484# ## Migration Steps
479485
4804861. **Install node_exporter** (see Prerequisites above)
4814872. **Stop old agent:**
482488 ` ` ` bash
483- sudo pulse service stop
484- sudo pulse service uninstall
489+ sudo nodepulse service stop
490+ sudo nodepulse service uninstall
485491 ` ` `
4864923. **Update agent binary:**
487493 ` ` ` bash
488- sudo pulse update
494+ sudo nodepulse update
489495 # Or manually download v2.0
490496 ` ` `
4914974. **Update config file:**
492498 ` ` ` bash
493- sudo nano /etc/node-pulse /nodepulse.yml
499+ sudo nano /etc/nodepulse /nodepulse.yml
494500 # Add prometheus section, change interval to 15s
495501 ` ` `
4965025. **Clear old buffer** (optional) :
497503 ` ` ` bash
498- sudo rm -rf /var/lib/node-pulse /buffer/*
504+ sudo rm -rf /var/lib/nodepulse /buffer/*
499505 ` ` `
5005066. **Reinstall service:**
501507 ` ` ` bash
502- sudo pulse service install
503- sudo pulse service start
508+ sudo nodepulse service install
509+ sudo nodepulse service start
504510 ` ` `
5055117. **Verify:**
506512 ` ` ` bash
507- sudo pulse status
508- sudo journalctl -u node-pulse -f
513+ sudo nodepulse status
514+ sudo journalctl -u nodepulse -f
509515 ` ` `
510516
511517# # Development
@@ -555,7 +561,7 @@ go run . start
555561
556562# Or build and run
557563make build
558- ./build/pulse start
564+ ./build/nodepulse start
559565```
560566
561567## License
0 commit comments