Overview

On a Linux host or VM, use Single Step Instrumentation (SSI) for APM to install the Datadog Agent and instrument your applications in one step, with no additional configuration required.

Enable APM on your applications

Before proceeding, confirm that your environment is compatible by reviewing the SSI compatibility guide.

To enable APM on a Linux host:

  1. In Datadog, go to the Install the Datadog Agent on Linux page.

  2. In the Customize your observability coverage section, go to Additional features > Application Observability, and turn on APM Instrumentation.

    The 'Customize your observability coverage' section of in-app instructions for installing the Datadog Agent on Linux
  3. Copy and run the Agent installation command on your Linux host or VM.

  4. Restart your applications.

Set SDK tracer versions

By default, Single Step Instrumentation installs the latest versions of Datadog APM SDKs.

You may want to choose specific SDK versions for compatibility with your application’s language version or specific environment requirements.

To customize SDK versions:

  1. In Datadog, go to the Install the Datadog Agent on Linux page.

  2. After you turn on APM Instrumentation, click Customize library versions.

    The 'Customize library versions' drop-down in the instructions for installing the Datadog Agent on Linux
  3. Find your language(s) and use the dropdown to either:

    • Select an exact SDK version, or
    • Select the major version, which uses the latest minor release available when the Agent installation command is run.
  4. Copy and run the updated installation command.

  1. In Datadog, go to the Install the Datadog Agent on Linux page.

  2. After you turn on APM Instrumentation, set your desired library versions with the DD_APM_INSTRUMENTATION_LIBRARIES variable in your Agent installation command:

    DD_API_KEY=<YOUR_DD_API_KEY> 
    DD_SITE="US1-FED" 
    DD_APM_INSTRUMENTATION_ENABLED=host 
    DD_APM_INSTRUMENTATION_LIBRARIES="java:1,python:2,js:5,dotnet:3,php:1" 
    bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
    
  3. Find your language(s) and use the dropdown to either:

    • Select an exact SDK version, or
    • Select the major version, which uses the latest minor release available when the Agent installation command is run.
  4. Copy and run the updated installation command.

Available versions are listed in source repositories for each language:

Configure Unified Service Tags

Unified Service Tags (USTs) apply consistent tags across traces, metrics, and logs, making it easier to navigate and correlate your observability data. Learn how to set USTs for Linux services.

Enable SDK-dependent products and features

After SSI loads the Datadog SDK into your applications and enables distributed tracing, you can configure additional products that rely on the SDK. These include capabilities such as Continuous Profiler, Application Security Monitoring, and trace ingestion controls.

Use one of the following setup methods:

Advanced options

Update SDK version

The SDK version is fixed when you run the Agent installation command.

To update the SDK versions:

  1. Re-run the Agent installation command. This command also updates the Agent to the latest version.
  2. Restart your applications.

Define workload selection rules

Join the Preview!

Workload selection is in Preview.

Workload selection rules (available for Agent v7.73+) let you control which processes are automatically instrumented by SSI on Linux hosts.

To configure workload selection:

  1. In Datadog, navigate to APM > Service Setup > Workload Selection.

  2. Click Add or Edit Rules.

  3. Define instrumentation rules:

    1. Click Add New Rule, then choose Allow Rule or Block Rule to specify whether matching processes should be instrumented.
    2. Name your rule.
    3. Add one or more conditions. See Define rule conditions to learn more.
    The workload selection UI, showing configuration options for defining a rule
  4. (Optional) Drag and drop rules to reorder them.

    Note: Rules are evaluated in order. After a process matches a rule, subsequent rules are ignored.

  5. Set the default behavior (allow or block) for processes that do not match any rule.

  6. Click Next to preview your rules.

  7. Click Deploy Rules.

If Remote Configuration is enabled, rules are deployed to every host and applied on those with SSI enabled within 50 seconds . Alternatively, click Export to export the configuration file and apply it manually to your hosts.

Define rule conditions

Each rule consists of one or more conditions. A condition includes the following elements:

  • Attribute: The process property that the rule evaluates.
  • Operator: The comparison logic (equals, not equals, prefix, or contains).
  • Value: The text or pattern to match, such as a process name or command-line flag.

Supported attributes include:

AttributeDescriptionExample
Process ExecutableExecutable name of the process.python3.11
Process Executable Full PathFull path of the executable./usr/bin/python3.11
Process ArgsCommand-line arguments used to start the process.--env=production
LanguageProgramming language detected for the process.python

Remove Single Step APM instrumentation from your Agent

To stop producing traces for all services on your infrastructure:

  1. Run:
    dd-host-install --uninstall
    
  2. Restart the services on the host or VM.

Troubleshooting

If you encounter problems enabling APM with SSI, see the SSI troubleshooting guide.

Further reading

Additional helpful documentation, links, and articles: