11# Redis Radar Agent Deployment Guide for Linux
22
3- This guide covers deployment methods for the ` redis- radar-agent` binary on Linux systems with systemd (Ubuntu 18.04+, RHEL/CentOS 7+, Fedora, etc.).
3+ This guide covers deployment methods for the ` radar-agent ` binary on Linux systems with systemd (Ubuntu 18.04+, RHEL/CentOS 7+, Fedora, etc.).
44
55## Prerequisites
66
7- - Built ` redis- radar-agent` binary
7+ - Built ` radar-agent ` binary
88- ` agent.yml ` configuration file
99- Linux system with systemd (Ubuntu 18.04+, RHEL/CentOS 7+, Fedora, etc.)
1010
@@ -19,8 +19,8 @@ This guide covers deployment methods for the `redis-radar-agent` binary on Linux
1919- To allow the service to write to log files with SELinux enabled:
2020 ``` bash
2121 sudo setsebool -P httpd_can_network_connect 1
22- sudo semanage fcontext -a -t admin_home_t " /var/log/redis- radar-agent(/.*)?"
23- sudo restorecon -R /var/log/redis- radar-agent
22+ sudo semanage fcontext -a -t admin_home_t " /var/log/radar-agent(/.*)?"
23+ sudo restorecon -R /var/log/radar-agent
2424 ```
2525- Package management uses ` yum ` (RHEL/CentOS 7) or ` dnf ` (RHEL/CentOS 8+):
2626 ``` bash
@@ -43,22 +43,22 @@ For simple background execution during development or testing:
4343
4444``` bash
4545# Run in background with logs redirected to file
46- nohup ./redis- radar-agent --config ./agent.yml > /var/log/redis- radar.log 2>&1 &
46+ nohup ./radar-agent --config ./radar- agent.yml > /var/log/radar-agent/ radar-agent .log 2>&1 &
4747
4848# Check if running
49- ps aux | grep redis- radar-agent
49+ ps aux | grep radar-agent
5050
5151# View logs
5252tail -f redis-radar.log
5353
5454# Stop the process
55- pkill redis- radar-agent
55+ pkill radar-agent
5656```
5757
5858To run with a specific config file location:
5959
6060``` bash
61- nohup ./redis- radar-agent --config /path/to/your/agent.yml > /var/log/redis- radar.log 2>&1 &
61+ nohup ./radar-agent --config /path/to/your/radar- agent.yml > /var/log/radar-agent/ radar-agent .log 2>&1 &
6262```
6363
6464## Production Deployment with systemd
@@ -67,74 +67,74 @@ nohup ./redis-radar-agent --config /path/to/your/agent.yml > /var/log/redis-rada
6767
6868``` bash
6969# Create application directory
70- sudo mkdir -p /opt/redis- radar-agent
70+ sudo mkdir -p /opt/radar-agent
7171
7272# Create configuration directory
73- sudo mkdir -p /etc/redis- radar-agent
73+ sudo mkdir -p /etc/radar-agent
7474
7575# Create log directory
76- sudo mkdir -p /var/log/redis- radar-agent
76+ sudo mkdir -p /var/log/radar-agent
7777```
7878
7979### 2. Install Files
8080
8181``` bash
8282# Copy binary to application directory
83- sudo cp ./redis- radar-agent /opt/redis- radar-agent/
83+ sudo cp ./radar-agent /opt/radar-agent/
8484
8585# Copy configuration to system config directory
86- sudo cp ./agent.yml /etc/redis- radar-agent/
86+ sudo cp ./radar- agent.yml /etc/radar-agent/
8787
8888# Set appropriate permissions
89- sudo chown -R root:root /opt/redis- radar-agent
90- sudo chmod 755 /opt/redis- radar-agent/redis- radar-agent
91- sudo chown -R root:root /etc/redis- radar-agent
92- sudo chmod 644 /etc/redis- radar-agent/agent.yml
89+ sudo chown -R root:root /opt/radar-agent
90+ sudo chmod 755 /opt/radar-agent/radar-agent
91+ sudo chown -R root:root /etc/radar-agent
92+ sudo chmod 644 /etc/radar-agent/radar- agent.yml
9393```
9494
9595### 3. Create systemd Service
9696
97- Create the service file at ` /etc/systemd/system/redis- radar-agent.service ` :
97+ Create the service file at ` /etc/systemd/system/radar-agent.service ` :
9898
9999``` ini
100100[Unit]
101101Description =Redis Radar Agent
102- Documentation =https://github.com/your-org/redis- radar-agent
102+ Documentation =https://github.com/your-org/radar-agent
103103After =network.target
104104Wants =network.target
105105
106106[Service]
107107Type =simple
108108User =nobody
109109Group =nogroup
110- WorkingDirectory =/opt/redis- radar-agent
111- ExecStart =/opt/redis- radar-agent/redis- radar-agent --config /etc/redis- radar-agent/agent.yml
110+ WorkingDirectory =/opt/radar-agent
111+ ExecStart =/opt/radar-agent/radar-agent --config /etc/radar-agent/radar- agent.yml
112112Restart =always
113113RestartSec =10
114114TimeoutStartSec =30
115115TimeoutStopSec =30
116116
117117# Logging
118- StandardOutput =append:/var/log/redis- radar-agent/redis- radar-agent.log
119- StandardError =append:/var/log/redis- radar-agent/redis- radar-agent.log
118+ StandardOutput =append:/var/log/radar-agent/radar-agent.log
119+ StandardError =append:/var/log/radar-agent/radar-agent.log
120120
121121# Security settings
122122NoNewPrivileges =true
123123PrivateTmp =true
124124ProtectSystem =strict
125125ProtectHome =true
126- ReadWritePaths =/var/log/redis- radar-agent
126+ ReadWritePaths =/var/log/radar-agent
127127
128128[Install]
129129WantedBy =multi-user.target
130130```
131131
132132### 4. Configure Log Rotation
133133
134- Create log rotation configuration at ` /etc/logrotate.d/redis- radar-agent ` :
134+ Create log rotation configuration at ` /etc/logrotate.d/radar-agent ` :
135135
136136```
137- /var/log/redis- radar-agent/*.log {
137+ /var/log/radar-agent/*.log {
138138 daily
139139 rotate 30
140140 compress
@@ -143,7 +143,7 @@ Create log rotation configuration at `/etc/logrotate.d/redis-radar-agent`:
143143 notifempty
144144 create 0644 nobody nogroup
145145 postrotate
146- /bin/systemctl reload redis- radar-agent.service > /dev/null 2>&1 || true
146+ /bin/systemctl reload radar-agent.service > /dev/null 2>&1 || true
147147 endscript
148148}
149149```
@@ -152,73 +152,73 @@ Create log rotation configuration at `/etc/logrotate.d/redis-radar-agent`:
152152
153153``` bash
154154# Set correct permissions for log directory
155- sudo chown -R nobody:nogroup /var/log/redis- radar-agent
155+ sudo chown -R nobody:nogroup /var/log/radar-agent
156156
157157# Reload systemd configuration
158158sudo systemctl daemon-reload
159159
160160# Enable service to start on boot
161- sudo systemctl enable redis- radar-agent.service
161+ sudo systemctl enable radar-agent.service
162162
163163# Start the service
164- sudo systemctl start redis- radar-agent.service
164+ sudo systemctl start radar-agent.service
165165
166166# Check service status
167- sudo systemctl status redis- radar-agent.service
167+ sudo systemctl status radar-agent.service
168168```
169169
170170## Service Management
171171
172172### Check Service Status
173173``` bash
174- sudo systemctl status redis- radar-agent.service
174+ sudo systemctl status radar-agent.service
175175```
176176
177177### View Logs
178178``` bash
179179# Follow live logs
180- sudo journalctl -u redis- radar-agent.service -f
180+ sudo journalctl -u radar-agent.service -f
181181
182182# View recent logs
183- sudo journalctl -u redis- radar-agent.service -n 100
183+ sudo journalctl -u radar-agent.service -n 100
184184
185185# View logs since specific time
186- sudo journalctl -u redis- radar-agent.service --since " 2024-01-01 00:00:00"
186+ sudo journalctl -u radar-agent.service --since " 2024-01-01 00:00:00"
187187
188188# View application logs directly
189- sudo tail -f /var/log/redis- radar-agent/redis- radar-agent.log
189+ sudo tail -f /var/log/radar-agent/radar-agent.log
190190```
191191
192192### Restart Service
193193``` bash
194- sudo systemctl restart redis- radar-agent.service
194+ sudo systemctl restart radar-agent.service
195195```
196196
197197### Stop Service
198198``` bash
199- sudo systemctl stop redis- radar-agent.service
199+ sudo systemctl stop radar-agent.service
200200```
201201
202202### Disable Service
203203``` bash
204- sudo systemctl disable redis- radar-agent.service
204+ sudo systemctl disable radar-agent.service
205205```
206206
207207## Configuration Management
208208
209209### Update Configuration
210210``` bash
211211# Edit configuration
212- sudo nano /etc/redis- radar-agent/agent.yml
212+ sudo nano /etc/radar-agent/radar- agent.yml
213213
214214# Restart service to apply changes
215- sudo systemctl restart redis- radar-agent.service
215+ sudo systemctl restart radar-agent.service
216216```
217217
218218### Validate Configuration
219219``` bash
220220# Test configuration before applying
221- /opt/redis- radar-agent/redis- radar-agent --config /etc/redis- radar-agent/agent.yml --dry-run
221+ /opt/radar-agent/radar-agent --config /etc/radar-agent/radar- agent.yml --dry-run
222222```
223223
224224## Deployment Script
@@ -229,9 +229,9 @@ Create a deployment script `deploy.sh`:
229229#! /bin/bash
230230set -e
231231
232- BINARY_PATH=" ./redis- radar-agent"
233- CONFIG_PATH=" ./agent.yml"
234- SERVICE_NAME=" redis- radar-agent"
232+ BINARY_PATH=" ./radar-agent"
233+ CONFIG_PATH=" ./radar- agent.yml"
234+ SERVICE_NAME=" radar-agent"
235235
236236echo " Deploying Redis Radar Agent..."
237237
@@ -249,13 +249,13 @@ sudo mkdir -p /var/log/$SERVICE_NAME
249249# Install binary and config
250250echo " Installing binary and configuration..."
251251sudo cp $BINARY_PATH /opt/$SERVICE_NAME /
252- sudo cp $CONFIG_PATH /etc/$SERVICE_NAME /agent.yml
252+ sudo cp $CONFIG_PATH /etc/$SERVICE_NAME /radar- agent.yml
253253
254254# Set permissions
255255sudo chown -R root:root /opt/$SERVICE_NAME
256256sudo chmod 755 /opt/$SERVICE_NAME /$SERVICE_NAME
257257sudo chown -R root:root /etc/$SERVICE_NAME
258- sudo chmod 644 /etc/$SERVICE_NAME /agent.yml
258+ sudo chmod 644 /etc/$SERVICE_NAME /radar- agent.yml
259259sudo chown -R nobody:nogroup /var/log/$SERVICE_NAME
260260
261261# Create systemd service (service file content would be here)
@@ -278,21 +278,21 @@ echo "View logs with: sudo journalctl -u $SERVICE_NAME -f"
278278### Service Won't Start
279279``` bash
280280# Check service status for errors
281- sudo systemctl status redis- radar-agent.service
281+ sudo systemctl status radar-agent.service
282282
283283# Check systemd journal for detailed errors
284- sudo journalctl -u redis- radar-agent.service -n 50
284+ sudo journalctl -u radar-agent.service -n 50
285285
286286# Verify binary permissions and paths
287- ls -la /opt/redis- radar-agent/
288- ls -la /etc/redis- radar-agent/
287+ ls -la /opt/radar-agent/
288+ ls -la /etc/radar-agent/
289289```
290290
291291### Permission Issues
292292``` bash
293293# Check if user 'nobody' can access required files
294- sudo -u nobody ls -la /opt/redis- radar-agent/
295- sudo -u nobody ls -la /etc/redis- radar-agent/
294+ sudo -u nobody ls -la /opt/radar-agent/
295+ sudo -u nobody ls -la /etc/radar-agent/
296296```
297297
298298### SELinux Troubleshooting (RHEL/CentOS/Fedora)
@@ -304,8 +304,8 @@ sestatus
304304sudo ausearch -m avc -ts recent
305305
306306# If SELinux is blocking the service, create a custom policy
307- sudo ausearch -m avc -ts recent | audit2allow -M redis- radar-agent
308- sudo semodule -i redis- radar-agent.pp
307+ sudo ausearch -m avc -ts recent | audit2allow -M radar-agent
308+ sudo semodule -i radar-agent.pp
309309
310310# Alternative: Set SELinux to permissive mode for testing
311311sudo setenforce 0
@@ -314,10 +314,10 @@ sudo setenforce 0
314314### Log Issues
315315``` bash
316316# Check log directory permissions
317- ls -la /var/log/redis- radar-agent/
317+ ls -la /var/log/radar-agent/
318318
319319# Test log rotation
320- sudo logrotate -f /etc/logrotate.d/redis- radar-agent
320+ sudo logrotate -f /etc/logrotate.d/radar-agent
321321```
322322
323323## Security Considerations
0 commit comments