Skip to content

Commit

Permalink
Merge pull request #230 from mfreeman451/release/1_0_19
Browse files Browse the repository at this point in the history
updates for release
  • Loading branch information
mfreeman451 authored Feb 21, 2025
2 parents a00da7c + 5a09c60 commit ae9e635
Show file tree
Hide file tree
Showing 19 changed files with 151 additions and 75 deletions.
2 changes: 1 addition & 1 deletion Dockerfile-rpm.cloud
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ COPY packaging/cloud/systemd/serviceradar-cloud.service /root/rpmbuild/SOURCES/s
COPY scripts/setup-rpm-*.sh /build/

# Set default version (can be overridden at build time)
ARG VERSION=1.0.18
ARG VERSION=1.0.19
ARG RELEASE=1

# Build the RPM
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.rpm.simple
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ RUN echo "=== Files in BUILD ===" && \
ls -la /root/rpmbuild/SOURCES/config/checkers/

# Set default version (can be overridden at build time)
ARG VERSION=1.0.18
ARG VERSION=1.0.19
ARG RELEASE=1

# Build the RPM
Expand Down
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,52 +46,52 @@ ServiceRadar can be installed via direct downloads from GitHub releases.
Install these components on your monitored host:
```bash
# Download and install core components
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-agent_1.0.18.deb \
-O https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-poller_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-agent_1.0.19.deb \
-O https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-poller_1.0.19.deb

sudo dpkg -i serviceradar-agent_1.0.18.deb serviceradar-poller_1.0.18.deb
sudo dpkg -i serviceradar-agent_1.0.19.deb serviceradar-poller_1.0.19.deb
```

On a separate machine (recommended) or the same host:
```bash
# Download and install cloud service
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-cloud_1.0.18.deb
sudo dpkg -i serviceradar-cloud_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-cloud_1.0.19.deb
sudo dpkg -i serviceradar-cloud_1.0.19.deb
```

#### Optional: SNMP Polling
Download and install the SNMP checker to collect and visualize metrics:
```bash
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-snmp-checker_1.0.18.deb
sudo dpkg -i serviceradar-snmp-checker_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-snmp-checker_1.0.19.deb
sudo dpkg -i serviceradar-snmp-checker_1.0.19.deb
```

#### Optional: Dusk Node Monitoring
If you're running a [Dusk](https://dusk.network/) node and want specialized monitoring:
```bash
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-dusk-checker_1.0.18.deb
sudo dpkg -i serviceradar-dusk-checker_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-dusk-checker_1.0.19.deb
sudo dpkg -i serviceradar-dusk-checker_1.0.19.deb
```

#### Distributed Setup
For larger deployments where components run on different hosts:

1. On monitored hosts:
```bash
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-agent_1.0.18.deb
sudo dpkg -i serviceradar-agent_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-agent_1.0.19.deb
sudo dpkg -i serviceradar-agent_1.0.19.deb
```

2. On monitoring host:
```bash
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-poller_1.0.18.deb
sudo dpkg -i serviceradar-poller_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-poller_1.0.19.deb
sudo dpkg -i serviceradar-poller_1.0.19.deb
```

3. On cloud host:
```bash
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.18/serviceradar-cloud_1.0.18.deb
sudo dpkg -i serviceradar-cloud_1.0.18.deb
curl -LO https://github.com/mfreeman451/serviceradar/releases/download/1.0.19/serviceradar-cloud_1.0.19.deb
sudo dpkg -i serviceradar-cloud_1.0.19.deb
```

## Architecture
Expand Down Expand Up @@ -198,24 +198,24 @@ cd serviceradar

1. **Agent Installation** (on monitored hosts):
```bash
sudo dpkg -i serviceradar-dusk-checker_1.0.18.deb # For Dusk nodes
sudo dpkg -i serviceradar-dusk-checker_1.0.19.deb # For Dusk nodes
# or
sudo dpkg -i serviceradar-agent_1.0.18.deb # For other hosts
sudo dpkg -i serviceradar-agent_1.0.19.deb # For other hosts
```

2. **Poller Installation** (on any host in your network):
```bash
sudo dpkg -i serviceradar-poller_1.0.18.deb
sudo dpkg -i serviceradar-poller_1.0.19.deb
```

3. **Cloud Installation** (on a reliable host):
```bash
sudo dpkg -i serviceradar-cloud_1.0.18.deb
sudo dpkg -i serviceradar-cloud_1.0.19.deb
```

4. **SNMP Poller** (Optional):
```bash
sudo dpkg -i serviceradar-snmp-checker_1.0.18.deb
sudo dpkg -i serviceradar-snmp-checker_1.0.19.deb
```

## Configuration
Expand Down
8 changes: 7 additions & 1 deletion packaging/agent/config/agent.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,11 @@
"checkers_dir": "/etc/serviceradar/checkers",
"listen_addr": ":50051",
"service_type": "grpc",
"service_name": "AgentService"
"service_name": "AgentService",
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"server_name": "changeme",
"role": "agent"
}
}
5 changes: 5 additions & 0 deletions packaging/cloud/config/cloud.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
"retention": 100,
"max_nodes": 10000
},
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"role": "cloud"
},
"webhooks": [
{
"enabled": false,
Expand Down
13 changes: 13 additions & 0 deletions packaging/dusk-checker/config/dusk.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "dusk",
"type": "grpc",
"node_address": "localhost:8080",
"address": "localhost:50052",
"listen_addr": ":50052",
"timeout": "5m",
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"role": "checker"
}
}
5 changes: 5 additions & 0 deletions packaging/dusk-checker/config/external.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name": "dusk",
"type": "grpc",
"address": "localhost:50052"
}
12 changes: 11 additions & 1 deletion packaging/poller/config/poller.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
"agents": {
"local-agent": {
"address": "127.0.0.1:50051",
"security": {
"server_name": "changeme",
"mode": "none"
},
"checks": [
{
"service_type": "process",
Expand Down Expand Up @@ -36,5 +40,11 @@
"poll_interval": "30s",
"poller_id": "dusk",
"service_name": "PollerService",
"service_type": "grpc"
"service_type": "grpc",
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"server_name": "changeme",
"role": "poller"
}
}
2 changes: 1 addition & 1 deletion pkg/cloud/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ func (s *Server) sendStartupNotification(ctx context.Context) error {
Timestamp: time.Now().UTC().Format(time.RFC3339),
NodeID: "cloud",
Details: map[string]any{
"version": "1.0.18",
"version": "1.0.19",
"hostname": getHostname(),
},
}
Expand Down
2 changes: 1 addition & 1 deletion scripts/buildAll.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

VERSION=${VERSION:-1.0.18}
VERSION=${VERSION:-1.0.19}


./scripts/setup-deb-poller.sh
Expand Down
2 changes: 1 addition & 1 deletion scripts/buildRpms.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
set -e

export VERSION=${VERSION:-1.0.18}
export VERSION=${VERSION:-1.0.19}
export RELEASE=${RELEASE:-1}

# Create directories if they don't exist
Expand Down
2 changes: 1 addition & 1 deletion scripts/deployTesting.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# Define the version of the packages
VERSION=${VERSION:-1.0.18}
VERSION=${VERSION:-1.0.19}

# Define the list of remote machines
MACHINES=("192.168.2.10" "192.168.2.11" "192.168.2.12" "192.168.2.68")
Expand Down
10 changes: 8 additions & 2 deletions scripts/setup-deb-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# setup-deb-agent.sh
set -e # Exit on any error

VERSION=${VERSION:-1.0.18}
VERSION=${VERSION:-1.0.19}
echo "Building serviceradar-agent version ${VERSION}"

echo "Setting up package structure..."
Expand Down Expand Up @@ -64,7 +64,13 @@ cat > "${PKG_ROOT}/etc/serviceradar/agent.json" << EOF
"checkers_dir": "/etc/serviceradar/checkers",
"listen_addr": ":50051",
"service_type": "grpc",
"service_name": "AgentService"
"service_name": "AgentService",
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"server_name": "changeme",
"role": "agent"
}
}
EOF

Expand Down
67 changes: 36 additions & 31 deletions scripts/setup-deb-cloud.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e # Exit on any error

echo "Setting up package structure..."

VERSION=${VERSION:-1.0.18}
VERSION=${VERSION:-1.0.19}

# Create package directory structure
PKG_ROOT="serviceradar-cloud_${VERSION}"
Expand Down Expand Up @@ -77,36 +77,41 @@ EOF
if [ ! -f "/etc/serviceradar/cloud.json" ]; then
# Create default config file
cat > "${PKG_ROOT}/etc/serviceradar/cloud.json" << EOF
{
"listen_addr": ":8090",
"grpc_addr": ":50052",
"alert_threshold": "5m",
"known_pollers": ["home-poller-1"],
"metrics": {
"enabled": true,
"retention": 100,
"max_nodes": 10000
},
"webhooks": [
{
"enabled": false,
"url": "https://your-webhook-url",
"cooldown": "15m",
"headers": [
{
"key": "Authorization",
"value": "Bearer your-token"
}
]
},
{
"enabled": true,
"url": "https://discord.com/api/webhooks/changeme",
"cooldown": "15m",
"template": "{\"embeds\":[{\"title\":\"{{.alert.Title}}\",\"description\":\"{{.alert.Message}}\",\"color\":{{if eq .alert.Level \"error\"}}15158332{{else if eq .alert.Level \"warning\"}}16776960{{else}}3447003{{end}},\"timestamp\":\"{{.alert.Timestamp}}\",\"fields\":[{\"name\":\"Node ID\",\"value\":\"{{.alert.NodeID}}\",\"inline\":true}{{range $key, $value := .alert.Details}},{\"name\":\"{{$key}}\",\"value\":\"{{$value}}\",\"inline\":true}{{end}}]}]}"
}
]
}
{
"listen_addr": ":8090",
"grpc_addr": ":50052",
"alert_threshold": "5m",
"known_pollers": ["home-poller-1"],
"metrics": {
"enabled": true,
"retention": 100,
"max_nodes": 10000
},
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"role": "cloud"
},
"webhooks": [
{
"enabled": false,
"url": "https://your-webhook-url",
"cooldown": "15m",
"headers": [
{
"key": "Authorization",
"value": "Bearer your-token"
}
]
},
{
"enabled": true,
"url": "https://discord.com/api/webhooks/changeme",
"cooldown": "15m",
"template": "{\"embeds\":[{\"title\":\"{{.alert.Title}}\",\"description\":\"{{.alert.Message}}\",\"color\":{{if eq .alert.Level \"error\"}}15158332{{else if eq .alert.Level \"warning\"}}16776960{{else}}3447003{{end}},\"timestamp\":\"{{.alert.Timestamp}}\",\"fields\":[{\"name\":\"Node ID\",\"value\":\"{{.alert.NodeID}}\",\"inline\":true}{{range $key, $value := .alert.Details}},{\"name\":\"{{$key}}\",\"value\":\"{{$value}}\",\"inline\":true}{{end}}]}]}"
}
]
}
EOF
fi

Expand Down
9 changes: 7 additions & 2 deletions scripts/setup-deb-dusk-checker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e # Exit on any error

echo "Setting up package structure..."

VERSION=${VERSION:-1.0.18}
VERSION=${VERSION:-1.0.19}

# Create package directory structure
PKG_ROOT="serviceradar-dusk-checker_${VERSION}"
Expand Down Expand Up @@ -67,7 +67,12 @@ cat > "${PKG_ROOT}/etc/serviceradar/checkers/dusk.json" << EOF
"node_address": "localhost:8080",
"address": "localhost:50052",
"listen_addr": ":50052",
"timeout": "5m"
"timeout": "5m",
"security": {
"mode": "none",
"cert_dir": "/etc/serviceradar/certs",
"role": "checker"
}
}
EOF

Expand Down
Loading

0 comments on commit ae9e635

Please sign in to comment.