OpenTelemetry Collector deployment, instrumentation (Java/Python/Node.js/.NET/Go), and OTTL pipeline transforms for Coralogix — coralogix exporter config, Helm chart selection, Kubernetes topology, ECS/EKS/GKE deployments, SDK setup, APM transactions, and OTTL cardinality/PII/routing.
98
97%
Does it follow best practices?
Impact
99%
1.13xAverage score across 81 eval scenarios
Advisory
Suggest reviewing before use
otel-installerotel-installer is the deployment half of the per-OS collector setup. It's paired with a per-OS Helm chart that renders the config:
| Chart (renders config) | Installer script (deploys it) |
|---|---|
otel-linux-standalone/ | otel-installer/standalone/coralogix-otel-collector.sh |
otel-macos-standalone/ | otel-installer/standalone/coralogix-otel-collector.sh (same script, detects OS) |
otel-windows-standalone/ | otel-installer/windows/coralogix-otel-collector.ps1 |
| (any) | otel-installer/docker/docker-install.sh |
The installer accepts --config <path> (Linux/macOS) or -Config <path> (Windows) pointing at a user-authored config, or nothing — in which case it ships with a minimal built-in config.
Repo: telemetry-shippers/otel-installer/. Releases: telemetry-shippers GitHub Releases.
CORALOGIX_PRIVATE_KEY="<key>" \
CORALOGIX_DOMAIN="<cx-region>.coralogix.com" \
bash -c "$(curl -sSL https://github.com/coralogix/telemetry-shippers/releases/latest/download/coralogix-otel-collector.sh)"Deep coverage of the resulting systemd deployment: setup-linux-standalone.md.
CORALOGIX_PRIVATE_KEY="<key>" \
CORALOGIX_DOMAIN="<cx-region>.coralogix.com" \
bash -c "$(curl -sSL https://github.com/coralogix/telemetry-shippers/releases/latest/download/coralogix-otel-collector.sh)"Same script as Linux. Detects macOS and switches to launchd + install prefix /opt/otelcol. See the macOS note at the end of setup-linux-standalone.md.
CORALOGIX_PRIVATE_KEY="<key>" \
CORALOGIX_DOMAIN="<cx-region>.coralogix.com" \
bash -c "$(curl -sSL https://github.com/coralogix/telemetry-shippers/releases/latest/download/docker-install.sh)" \
-- --config /path/to/config.yamlRuns the collector in a container (otel/opentelemetry-collector-contrib by default, or coralogixrepo/otel-supervised-collector with --supervisor) with ports 4317 (gRPC), 4318 (HTTP), 13133 (health) exposed.
$u = 'https://github.com/coralogix/telemetry-shippers/releases/latest/download/coralogix-otel-collector.ps1'
$f = Join-Path $env:TEMP 'coralogix-otel-collector.ps1'
Invoke-WebRequest -Uri $u -OutFile $f -UseBasicParsing
$env:CORALOGIX_PRIVATE_KEY = '<key>'
$env:CORALOGIX_DOMAIN = '<cx-region>.coralogix.com'
& $f -Config 'C:/path/to/config.yaml'Deep coverage: setup-windows-standalone.md.
The PowerShell variant uses -PascalCase; the bash variants use --kebab-case. Semantics are identical.
| Flag | Purpose | Default |
|---|---|---|
--config PATH / -Config | user-supplied config file | built-in minimal |
--version X.Y.Z / -Version | pin a collector version | latest |
--supervisor / -Supervisor | install with OpAMP supervisor (Fleet Management) | off |
--memory-limit MIB / -MemoryLimit | cap for memory_limiter processor | 512 |
--listen-interface IP / -ListenInterface | receiver bind address | 127.0.0.1 |
--foreground (bash) | run in foreground for debugging (no service) | off |
--uninstall / -Uninstall | remove service + binaries |
| Variable | Required? | Purpose |
|---|---|---|
CORALOGIX_PRIVATE_KEY | yes | send-your-data API key |
CORALOGIX_DOMAIN | yes for built-in config and supervisor | regional Coralogix domain; optional only when a supplied config hardcodes exporters.coralogix.domain |
OTEL_MEMORY_LIMIT_MIB | auto | set from --memory-limit |
OTEL_LISTEN_INTERFACE | auto | set from --listen-interface |
The installer's built-in default config references ${env:CORALOGIX_DOMAIN}. If a user only passes CORALOGIX_PRIVATE_KEY, the collector needs the domain somewhere — either (a) supplied as env, (b) baked into the config via --config, or (c) auto-detected from the cloud provider metadata (AWS only; Google/Azure not auto-detected).
Practical advice: always set CORALOGIX_DOMAIN explicitly. Auto-detect is best-effort and a user debugging "no data is landing" almost always benefits from being explicit.
| You have… | Recommend |
|---|---|
| single Linux/macOS/Windows host, want to be shipping in 5 minutes | otel-installer |
| trying it out on a test host before rolling wider | otel-installer |
| Kubernetes | setup-kubernetes.md (Helm, not this installer) |
| ECS | setup-ecs-ec2.md / setup-ecs-fargate.md (CDOT image + task definition, not this installer) |
| dozens/hundreds of hosts | otel-installer --supervisor with Fleet Management |
| custom OS / packaging constraint | fall back to manual install from the OTel Contrib binary |
--version will pull latest on every run — a user who re-runs to "fix" something can accidentally upgrade to a breaking minor. Pin versions in repeatable scripts.--foreground is for debugging only. It bypasses service registration, so there's no restart on boot. Don't use it for production.4317/4318/13133 on the host. If the host already uses these, pass --p <host>:<container> equivalents via the underlying docker command (the installer surfaces this through env: OTLP_GRPC_PORT, OTLP_HTTP_PORT, HEALTH_CHECK_PORT).coralogixrepo/otel-supervised-collector vs. the vanilla contrib image). Size on disk is larger; not a concern in most deployments.--version matters for reproducibility. Don't pin in exploration; do pin in any documented install.CORALOGIX_DOMAIN explicitly.--supervisor enables Fleet Management via the opampsupervisor wrapper process. Modern Windows builds (collector ≥ v0.130) also support the in-process opamp extension as an alternative; see setup-windows-standalone.md.evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
scenario-45
scenario-46
scenario-47
scenario-48
scenario-49
scenario-50
scenario-51
scenario-52
scenario-53
scenario-54
scenario-55
scenario-56
scenario-57
scenario-58
scenario-59
scenario-60
scenario-61
scenario-62
scenario-63
scenario-64
scenario-65
scenario-66
scenario-67
scenario-68
scenario-69
scenario-70
scenario-71
scenario-72
scenario-73
scenario-74
scenario-75
scenario-76
scenario-77
scenario-78
scenario-79
scenario-80
scenario-81
skills
opentelemetry
opentelemetry-collector
references
opentelemetry-instrumentation
opentelemetry-ottl