Documentation hub

Starlink integration docs

StarlinkDatadog

Onboarding guide

Engineer-facing deploy guide: Marketplace enablement, Agent conf.yaml, verification, and fleet rollout.

12 min readgetting started

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

RequirementDetail
Datadog orgPaid plan with custom metrics
Org enablementSignalWeave Starlink enabled via Datadog Account Team
Datadog Agentv7+ on a host with LAN access to each terminal
NetworkTCP reachability from Agent host to each dish on port 9200
Remote accessSSH/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

  1. Sign in to Datadog.
  2. Navigate to Integrations → Marketplace.
  3. Search for SignalWeave Starlink and select Install.
  4. 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

init_config:
yaml
  # 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-mount

Tagging: 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

# Linux
bash
sudo systemctl restart datadog-agent

# Windows (elevated)
& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" restart-service

4. Verify collection

Run the check manually:

# Linux
bash
sudo -u dd-agent datadog-agent check signalweave_starlink

# Windows
& "C:\Program Files\Datadog\Datadog Agent\bin\agent.exe" check signalweave_starlink

Expected output

signalweave_starlink (1.0.0)
text
----------------------------
  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_connect should 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):

  1. Open Metrics → Explorer and search for starlink.*.
  2. Open the Starlink Overview dashboard (installed with the Marketplace integration).
  3. Filter by your vessel or site tags (e.g. $vessel template 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

- name: Deploy SignalWeave Starlink check config
yaml
  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 Agent

Template 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:

AlertSignal
Connectivity loststarlink.can_connect
High packet lossstarlink.packet_loss.pop_ping_drop_rate
Water detectedstarlink.alerts.dish_water_detected
Thermal shutdownstarlink.alerts.thermal_shutdown

Scope monitors with the same fleet and site tags used in conf.yaml.


Post-deploy checklist

ItemExpected state
All instances [OK] in Agent check output67 metrics per terminal per run
starlink.can_connectOK for reachable terminals
Dashboards populatedMetrics within 1–2 intervals
Tags presentFleet, site/vessel, location dimensions filter correctly
No new firewall rules requiredOutbound 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 tools