Onboarding guide
Deploy the SignalWeave Starlink Datadog Native Integration on hosts running the Datadog Agent. This guide is written for platform engineers, SREs, and Datadog administrators responsible for Agent configuration, fleet rollout, and verification.
The example below uses a maritime deployment—six Starlink terminals on one vessel—but the same steps apply to any site where the Agent can reach terminals on the local network (port 9200).
Availability
The integration is listed in the Datadog Marketplace and installs like other native Agent integrations.
Currently, your Datadog organization must be enabled before install. Contact your Datadog Account Team and request the SignalWeave Starlink Datadog Native Integration for your org.
After enablement, the check is available at:
- Linux:
/etc/datadog-agent/conf.d/signalweave_starlink.d/ - Windows:
C:\ProgramData\Datadog\conf.d\signalweave_starlink.d\
No separate package install—the Agent integration folder follows the standard Datadog layout.
Prerequisites
| Requirement | Detail |
|---|---|
| Datadog org | Paid plan with custom metrics |
| Org enablement | SignalWeave Starlink enabled via Datadog Account Team |
| Datadog Agent | v7+ on a host with LAN access to each terminal |
| Network | TCP reachability from Agent host to each dish on port 9200 |
| Remote access | SSH/RDP or config-management path to Agent hosts (typical for distributed fleets) |
Confirm terminal IPs before configuring instances. On vessels, aircraft, and remote sites this is usually a fixed internal address per dish.
1. Enable the integration in Datadog
- Sign in to Datadog.
- Navigate to Integrations → Marketplace.
- Search for SignalWeave Starlink and select Install.
- Accept the Marketplace terms.
This provisions org-level integration assets: dashboards, monitor templates, and the Agent check scaffold.
2. Configure the Agent check
Edit conf.yaml in the integration directory. One instances entry per terminal.
Linux
/etc/datadog-agent/conf.d/signalweave_starlink.d/conf.yaml
Windows
C:\ProgramData\Datadog\conf.d\signalweave_starlink.d\conf.yaml
Example — six terminals, one vessel
# Optional: disable metric groups on bandwidth-constrained links
# collect_alignment: false
# collect_init_timing: false
instances:
- dish_ip: 10.0.1.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:deck-14-forward
- dish_ip: 10.0.2.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:deck-14-aft
- dish_ip: 10.0.3.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:deck-15-port
- dish_ip: 10.0.4.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:deck-15-starboard
- dish_ip: 10.0.5.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:bridge-roof
- dish_ip: 10.0.6.1:9200
tags:
- fleet:maritime-fleet
- vessel:example-cruise-ship
- region:caribbean
- terminal_location:funnel-mountTagging: Apply consistent fleet, site, vessel, and location tags at collection time. The check also emits hardware-derived tags (device_id, hardware_version, etc.) automatically.
Bandwidth: Use init_config or per-instance collect_* toggles to reduce payload on constrained links. See the Configuration reference.
3. Restart the Agent
sudo systemctl restart datadog-agent
# Windows (elevated)
& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" restart-service4. Verify collection
Run the check manually:
sudo -u dd-agent datadog-agent check signalweave_starlink
# Windows
& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" check signalweave_starlinkExpected output
----------------------------
Instance ID: signalweave_starlink:xxxxx [OK]
Metric Samples: Last Run: 67, Total: 67
Service Checks: Last Run: 1, Total: 1[OK]with 67 metric samples per instance indicates successful collection.starlink.can_connectshould report healthy when the Agent reaches the terminal.- Use Agent → Status → Checks in the Datadog UI for a consolidated view across instances.
If an instance fails, confirm IP reachability on port 9200 from the Agent host before changing config.
5. Validate in Datadog
Within one to two collection intervals (~15 seconds at default min_collection_interval):
- Open Metrics → Explorer and search for
starlink.*. - Open the Starlink Overview dashboard (installed with the Marketplace integration).
- Filter by your vessel or site tags (e.g.
$vesseltemplate variable where configured).
You should see per-terminal metrics, service checks, and map/GPS data when terminals have satellite lock.
6. Fleet rollout
Repeat §2–§4 on each Agent host that monitors local terminals. For multi-site fleets, use configuration management instead of manual edits—see IaC & config management for inventory layout, Ansible/Terraform examples, rollout waves, and drift detection.
Quick Ansible sketch
hosts: datadog_agents
tasks:
- name: Render conf.yaml
template:
src: signalweave_starlink_conf.yaml.j2
dest: /etc/datadog-agent/conf.d/signalweave_starlink.d/conf.yaml
owner: dd-agent
group: dd-agent
mode: "0640"
notify: Restart Datadog AgentTemplate per host from structured inventory (terminal IPs + tags)—not hand-edited lists.
7. Monitors (optional)
The Marketplace integration includes monitor templates. Enable or clone alerts relevant to your SLOs—for example:
| Alert | Signal |
|---|---|
| Connectivity lost | starlink.can_connect |
| High packet loss | starlink.packet_loss.pop_ping_drop_rate |
| Water detected | starlink.alerts.dish_water_detected |
| Thermal shutdown | starlink.alerts.thermal_shutdown |
Scope monitors with the same fleet and site tags used in conf.yaml.
Post-deploy checklist
| Item | Expected state |
|---|---|
All instances [OK] in Agent check output | 67 metrics per terminal per run |
starlink.can_connect | OK for reachable terminals |
| Dashboards populated | Metrics within 1–2 intervals |
| Tags present | Fleet, site/vessel, location dimensions filter correctly |
| No new firewall rules required | Outbound HTTPS (443) to Datadog; LAN to dishes (9200) |
FAQ — technical
How do we request access?
Contact your Datadog Account Team to enable the integration for your org, then install from the Marketplace.
Firewall changes?
Inbound: none on the Agent. The check initiates connections to terminals on the local LAN (9200). Outbound: standard Datadog Agent HTTPS (443).
Terminal IP changed?
Update dish_ip in conf.yaml and restart the Agent. Historical series remain tied via the hardware device_id tag.
Add a terminal later?
Append an instances block, restart the Agent.
Coexist with other checks?
Yes. The Starlink check runs as an additional Agent integration with no port or Agent conflicts.
Collection impact on the terminal?
Read-only collection, ~2 seconds per cycle, ~1.1 KB per terminal per 15 s with default metric groups.
Reduce bandwidth?
Disable metric groups via collect_* flags in init_config or per instance. See Configuration reference.
Related docs
- Configuration reference — metric groups, multi-dish patterns, full
conf.yaml - IaC & config management — enterprise fleet rollout, Git inventory, Ansible/Terraform
- Complete metrics list — all 67 curated metrics
- Architecture comparison — on-premise Agent vs cloud telemetry API
