Aptible PaaS logoDocs

Datadog Integration

Learn about using the Datadog Integration for logging and monitoring

Overview

Aptible integrates with Datadog, allowing you to send information about your Aptible resources directly to your Datadog account for monitoring and analysis. You can send the following data directly to your Datadog account:

  • Logs: Send logs to Datadog’s log management using a log drains
  • Container Metrics: Send app and database container metrics to Datadog’s container monitoring using a metric drain
  • In-Process Instrumentation Data (APM): Send instrumentation data to Datadog’s APM by deploying a single Datadog Agent app

Datadog Log Integration

On Aptible, you can set up a Datadog log drain within an environment to send logs for apps, databases, SSH sessions and endpoints directly to your Datadog account for log management and analytics.

🧠 On other platforms, you might configure this by installing the Datadog Agent and setting DD_LOGS_ENABLED.

Set up

A Datadog Log Drain can be created in three ways on Aptible:

  • Within the Aptible Dashboard by:
    • Navigating to an Environment
    • Selecting the Log Drains tab
    • Selecting Create Log Drain
    • Selecting Datadog
  • Using the aptible log_drain:create:datadog CLI command

Datadog Container Monitoring Integration

On Aptible, you can set up a Datadog metric drain within an environment to send metrics directly to your Datadog account. This enables you to use Datadog’s container monitoring for apps and databases. Please note that not all features of container monitoring are supported (including but not limited to Docker integrations and auto-discovery).

🧠 On other platforms, you might configure this by installing the Datadog Agent and setting DD_PROCESS_AGENT_ENABLED.

Set up

A Datadog Metric Drain can be provisioned in three ways on Aptible:

Datadog Metrics Structure

Aptible metrics are reported as Custom Metrics in Datadog. The following metrics are reported (all these metrics are reported as gauge in Datadog, approximately every 30 seconds):

  • enclave.running: a boolean indicating whether the Container was running when this point was sampled.
  • enclave.milli_cpu_usage: the Container's average CPU usage (in milli CPUs) over the reporting period.
  • enclave.milli_cpu_limit: the maximum CPU accessible to the container.
  • enclave.memory_total_mb: the Container's total memory usage. See Understanding Memory Utilization for more information on memory usage.
  • enclave.memory_rss_mb: the Container's RSS memory usage. This memory is typically not reclaimable. If this exceeds the memory_limit_mb, the container will be restarted.
  • enclave.memory_limit_mb: the Container's Memory Limit.
  • enclave.disk_read_kbps: the Container's average disk read bandwidth over the reporting period.
  • enclave.disk_write_kbps: the Container's average disk write bandwidth over the reporting period.
  • enclave.disk_read_iops: the Container's average disk read IOPS over the reporting period.
  • enclave.disk_write_iops: the Container's average disk write IOPS over the reporting period.
  • enclave.disk_usage_mb: the Database's Disk usage (Database metrics only).
  • enclave.disk_limit_mb: the Database's Disk size (Database metrics only).
  • enclave.pids_current: the current number of tasks in the Container (see Other Limits).
  • enclave.pids_limit: the maximum number of tasks for the Container (see Other Limits).
📘 Review Understanding Memory Utilization for more information on the meaning of the enclave.memory_total_mb and enclave.memory_rss_mb values.
📘 Review I/O Performance for more information on the meaning of the enclave.disk_read_iops and enclave.disk_write_iops values.

All metrics published in Datadog are enriched with the following tags:

  • environment: Environment handle
  • app: App handle (App metrics only)
  • database: Database handle (Database metrics only)
  • service: Service name
  • container: Container ID

Finally, Aptible also sets the host_name tag on these metrics to the Container Hostname (Short Container ID).

On Aptible, you can configure in-process instrumentation Data (APM) to be sent to Datadog’s APM by deploying a single Datadog Agent app and configuring each of your apps to:

  • Enable Datadog in-process instrumentation and
  • Forward those data through the Datadog Agent app separately hosted on Aptible

Related Guides: