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.

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.

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.
    Review Understanding Memory Utilization for more information on the meaning of the enclave.memory_total_mb and enclave.memory_rss_mb values.
  • 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.
    Review I/O Performance for more information on the meaning of the enclave.disk_read_iops and enclave.disk_write_iops values.
  • 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).

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).

Datadog APM

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

How to set up Datadog APM