Synadia Insights

Installation

Insights ships as a single binary, as container images, and as a Helm chart. Synadia distributes all of them. To get access, contact Synadia or start a Trial.

Upgrading

Moving an existing deployment to 1.2.0? Read Upgrading to 1.2.0 before you install.

Platforms

  • Linux (amd64, arm64)
  • macOS (amd64, arm64)
  • Windows (amd64)

The Linux binaries are fully static and don't depend on any system libraries, so the same binary runs on any distribution, including Alpine and distroless images. They need Linux 3.2 or newer and any 64-bit x86 or ARM CPU.

Insights uses its own DNS resolver. Normal DNS names and /etc/hosts entries work, but multicast DNS (.local) names don't, so refer to NATS servers by IP address or DNS name.

Download

Release archives are on artifacts.synadia.io. Log in with the credentials Synadia gave you. There are two archives per platform:

  • insights-v1.2.0-<os>-<arch>.tar.gz: the insights binary.
  • insights-collector-v1.2.0-<os>-<arch>.tar.gz: the insights-collector binary, a smaller build that only scrapes. You need it only for a federated deployment that uses collectors.

<os> is linux, darwin, or windows, and <arch> is amd64 or arm64. Windows is amd64 only and uses .zip.

Each release is under insights/v<version>/:

curl -fLO -u <user>:<password> \
  https://artifacts.synadia.io/insights/v1.2.0/insights-v1.2.0-linux-amd64.tar.gz

Extract the archive and check that the binary runs:

tar -xzf insights-v1.2.0-linux-amd64.tar.gz
cd insights-v1.2.0-linux-amd64
./insights --version

It prints 1.2.0.

Container Images

Images are on registry.synadia.io, which requires a login. Use the registry credentials Synadia gave you:

docker login registry.synadia.io
  • registry.synadia.io/insights:1.2.0: the insights binary, for linux/amd64 and linux/arm64.
  • registry.synadia.io/insights:1.2.0-collector: the insights-collector binary, for linux/amd64 and linux/arm64.
  • registry.synadia.io/insights:1.2.0-windows: the insights binary for Windows (amd64).

The Linux images run as UID and GID 1000. They have no shell, so to inspect a running container, attach a debug container (for example with kubectl debug) instead of using exec.

To monitor a NATS system and keep the data in a named volume:

docker run -p 8080:8080 \
  -v insights-data:/var/lib/insights \
  -v /path/to/sys.creds:/etc/insights/sys.creds:ro \
  registry.synadia.io/insights:1.2.0 \
  --sys.server nats://your-nats:4222 \
  --sys.creds /etc/insights/sys.creds \
  --data-dir /var/lib/insights \
  --web.hostname 0.0.0.0

Mount the data volume at /var/lib/insights. The image owns that directory as UID 1000, so a new named volume there works as is. A volume mounted anywhere else, or a bind mount, keeps its own owner, and Insights exits with permission denied if UID 1000 can't write to it. Fix the owner first:

chown -R 1000:1000 /path/to/insights-data

The collector image needs no data volume. Mount a directory with the collector config and the credentials it names:

docker run -v /path/to/collector:/etc/insights:ro \
  registry.synadia.io/insights:1.2.0-collector \
  -c /etc/insights/collector.yaml

Kubernetes with Helm

The Synadia Helm chart deploys a single Insights instance with persistent storage. Everything under config in the values is written to the instance's config.yaml, so the keys are the same as in the Configuration reference.

Create a pull secret with your registry credentials:

kubectl create secret docker-registry synadia-registry \
  --docker-server registry.synadia.io \
  --docker-username <username> \
  --docker-password <password>

Install the chart. This example runs the simulator so you can try it right away:

helm repo add synadia https://synadia-io.github.io/helm-charts
helm repo update synadia
helm upgrade --install insights synadia/insights \
  --set image.tag=1.2.0 \
  --set config.simulator.enabled=true \
  --set image.pullSecrets[0].name=synadia-registry
kubectl port-forward service/insights 8080:8080

The same settings in a values file:

image:
  tag: 1.2.0
  pullSecrets:
    - name: synadia-registry
config:
  simulator:
    enabled: true

The chart won't render without a system to monitor, so set one of config.simulator.enabled, config.sys, or config.systems. To monitor a real system, replace the simulator with config.sys.

image.tag pins the Insights version. Without it, the chart uses its appVersion. Set image.registry to pull from a mirror. The pod runs as UID and GID 1000 with a matching fsGroup, so the persistent volume is writable without extra setup.

See the chart README for persistence, existing Secrets, and every value.

Next Steps

Previous
Trial