
Dd Apm
Install the Datadog Agent on Linux VMs over SSH with Single Step Instrumentation so APM works without changing application code first.
Overview
Dd-apm is an agent skill for the Operate phase that installs the Datadog Agent on Linux over SSH with Single Step Instrumentation for codeless APM readiness.
Install
npx skills add https://github.com/datadog-labs/agent-skills --skill dd-apmWhat is this skill?
- Phase 0 requires resolving DD_API_KEY and DD_SITE before any install step
- Linux SSH install path with Datadog Agent and Single Step Instrumentation (SSI) for automatic APM
- Explicit guard: skip if agent already present—verify with datadog-agent status first
- Routes Kubernetes targets to dd-apm-k8s-agent-install instead of this skill
- Structured triggers for bare-metal and cloud Linux instances preparing for APM
- Skill metadata version 1.0.0
- Mandates resolving all Context variables before Step 1
- SSI automatically instruments applications for APM without code changes
Adoption & trust: 847 installs on skills.sh; 127 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have Linux hosts or VMs without Datadog installed and need APM-ready monitoring before you can trust production traces.
Who is it for?
Fresh Linux VMs or bare-metal instances where you control SSH and need host-level Datadog with automatic APM instrumentation.
Skip if: Kubernetes clusters, hosts that already report healthy via datadog-agent status, or environments where you cannot provide DD_API_KEY securely.
When should I use this skill?
User wants to install the Datadog Agent on Linux hosts or VMs, set up Datadog monitoring on Linux instances, or prepare Linux hosts for APM onboarding—and no agent is installed yet.
What do I get? / Deliverables
Hosts run the Datadog Agent with SSI enabled so APM can onboard applications without manual instrumentation as the first step.
- Datadog Agent installed on target Linux hosts
- SSI-enabled host ready for APM telemetry
Recommended Skills
Journey fit
Production observability and APM onboarding are Operate concerns once services are running on bare metal or cloud Linux. Agent install and SSI exist to feed monitoring and traces—canonical shelf is monitoring under Operate.
How it compares
Host bootstrap for Datadog APM via agent install—not an in-app SDK integration skill and not the Kubernetes agent install variant.
Common Questions / FAQ
Who is dd-apm for?
Solo builders and operators preparing Linux servers or cloud VMs for Datadog monitoring and APM using SSH and organization API credentials.
When should I use dd-apm?
When you intend to install the Datadog Agent on Linux with SSI for APM and have confirmed no agent is already installed on those hosts.
Is dd-apm safe to install?
It expects shell, SSH, and secret handling for DD_API_KEY; review the Security Audits panel on this Prism page and scope credentials before running install commands.
SKILL.md
READMESKILL.md - Dd Apm
# Install Datadog Agent on Linux > **Before doing anything else:** Fully resolve all variables in `## Context to resolve before acting`. Do not begin Step 1 until every variable has a concrete value. ## Triggers Invoke this skill when the user expresses intent to: - Install the Datadog Agent on Linux hosts or VMs - Set up Datadog monitoring on bare-metal or cloud Linux instances - Prepare Linux hosts for APM onboarding Do NOT invoke this skill if: - The Agent is already installed on all hosts — check with `datadog-agent status` first - The target is a Kubernetes cluster — use `dd-apm-k8s-agent-install` instead --- ## Phase 0: Load Credentials ```bash [ -f environment ] && source environment echo "DD_API_KEY set: $([ -n "${DD_API_KEY:-}" ] && echo yes || echo no)" echo "DD_SITE: ${DD_SITE:-not set}" ``` **If `DD_API_KEY` is already set** — proceed directly to gathering infrastructure info. **If `DD_API_KEY` is not set** — tell the user: > Please run the following in this chat to set your credentials (the `!` prefix executes it in this session): > ``` > ! export DD_API_KEY=your-api-key-here > ! export DD_SITE=datadoghq.com > ``` Wait for the user to run the commands, then re-run the check above before continuing. --- ## Phase 1: Gather Infrastructure Info Only do this phase if the user hasn't already provided the information. If SSH credentials are known, skip to Phase 2. Ask the user: 1. **Which hosts** need the agent? Get a list of IPs or hostnames. 2. **How do I SSH to them?** Get the SSH user, key path, and any jump host or bastion configuration. 3. **Do any hosts already have the Datadog Agent installed?** If so, skip install for those hosts and go straight to `verify-ssi`. ### Claude runs Verify SSH works for each host before proceeding: ```bash ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> "hostname" ``` If it returns a hostname — proceed. ERROR: Connection refused or timeout — resolve connectivity before continuing. Once SSH is confirmed, present a plan to the user before proceeding. For example: ``` Here's what I'm going to do: 1. Install the Datadog Agent with SSI on: <host1>, <host2>, ... 2. Verify each agent is running and healthy 3. Discover services on each host that need restarting for SSI to take effect 4. After you restart services, verify instrumentation is working Ready to proceed? ``` Wait for user confirmation before starting installs. --- ## Prerequisites **Per host — check before installing:** ### Claude runs ```bash ssh -o StrictHostKeyChecking=no -i <SSH_KEY> <SSH_USER>@<SSH_HOST> \ "uname -m && cat /etc/os-release | grep -E '^(ID|VERSION_ID|PRETTY_NAME)='" ``` If architecture is `x86_64` or `aarch64`, and the OS is a supported distribution (Ubuntu 16.04+, Debian 9+, RHEL/CentOS 6-9, Amazon Linux 2/2023, SUSE 12+) — proceed. ERROR: Architecture is `armv7l` (32-bit ARM) or unsupported OS — stop. Datadog Agent 7 and SSI do not support this configuration. --- ## Context to resolve before acting | Variable | How to resolve | |---|---| | `DD_API_KEY` | Check `echo $DD_API_KEY` first — if set, use it. Otherwise ask the user for their API key from Datadog UI: Organization Settings → API Keys. Never log or print the key. | | `DD_SITE` | Check `echo $DD_SITE` first — if set, use it. Otherwise ask the user. Default: `datadoghq.com`. Options: `datadoghq.com`, `us3.datadoghq.com`, `us5.datadoghq.com`, `datadoghq.eu`, `ap1.datadoghq.com` | | `SSH_KEY` | Ask the user for the path to their SSH private key, or check `CLAUDE.md` | |