Skip to main content
Loading

OTel Aerospike Monitoring Stack

Overview

This page describes how to use the OpenTelemetry (OTel) Collector to handle the import of monitoring data from an Aerospike Database cluster and its export to the infrastructure and application monitoring tools of your choice. You can also use the Aerospike Prometheus Exporter to scrape monitoring data from the cluster before processing by the OTel Collector.

Aerospike publishes Docker Compose configurations on GitHub that package together the following Docker containers and configuration files:

  • opentelemetry-collector-contrib - OpenTelemetry Collector, a vendor-agnostic tool that can ingest and export telemetry data in a wide variety of formats.
    • YAML files - OTel Collector configuration files set to send data to specific monitoring tools.
  • aerospike-prometheus-exporter - Aerospike Prometheus Exporter, a tool that exposes Aerospike database metrics so that they can be scraped by Prometheus. This is included in the Docker Compose stack, but is not required for all workflows.

These containers are assumed to run on the same host as a single-node Aerospike cluster.

This diagram illustrates the use of APE with various cloud endpoints. Aerospike provides example configuration files for the OTel Collector. Use these as a guide for connecting to other endpoints that support data in the same format.

Prerequisites

A single-node Aerospike Database cluster with the service port accessible from port 3000 of the host where the monitoring stack is deployed. If you need one for testing, you can deploy a new single-node cluster in a container using the following Docker command:

$ docker run -tid --name aerospike -p 3000:3000 -p 3001:3001 -p 3002:3002 aerospike/aerospike-server-enterprise:latest

Aerospike Prometheus Exporter can push data to OTel endpoints in two ways, either through direct connection to an OTel endpoint or using the OTel Collector. The following sections describe these two approaches.

Configuring a direct connection to OTel endpoints

Modify the Aerospike Prometheus Exporter ape.toml config file with the OTel endpoints.

note

Currently Exporter supports only gRPC endpoints.

Change the OTel configuration parameters under Agent.OpenTelemetry in ape.toml.

service_name = # application service to appear in the observability site
endpoint = # endpoint of the OTel provider without any protocol or port number
endpoint_tls_enabled = # boolean
headers = # mention the auth api-key as key=value pair here, multiple key/values can be provided as comma-separated values

Example:

service_name = "aerospike-cluster-checkout-system"
endpoint = "otlp.nr-data.net"
endpoint_tls_enabled = false
headers = {api-key="newrelic-auth-key"}

Configuring OTel Collector

The OTel collector passes data to a number of external endpoints defined in a configuration file.

Visit the OTel Aerospike Monitoring Stack GitHub page for example configuration files that you can use with the OTel Collector.

note

Update the API Key or Access Key in the respective configuration files.

NewRelic

Modify newrelic-otel-collector-config.yml and update the following keys with the appropriate values for your deployment:

otlp:
endpoint: https://otlp.nr-data.net:4317
headers:
api-key: NEWRELIC-API-KEY

To start the stack, run docker-compose -f newrelic-docker-compose.yml up. To stop the stack, run docker-compose -f newrelic-docker-compose.yml down. Visit NewRelic cloud to see Aerospike metrics.

Datadog

Modify datadog-otel-collector-config.yml and update the following keys with the appropriate values for your deployment:

datadog:
api:
site: datadoghq.com
key: DATADOG-APP-KEY

To start the stack, run docker-compose -f datadog-docker-compose.yml up. To stop the stack, run docker-compose -f datadog-docker-compose.yml down. Visit Datadog cloud to see Aerospike metrics.

DynaTrace

Modify dynatrace-otel-collector-config.yml and update the following keys with the appropriate values for your deployment:

dynatrace:
prefix: as_dynatrace_demo
endpoint: https://YOUR-ENVIRONMENT-ID.live.dynatrace.com/api/v2/metrics/ingest
api_token: DYNATRACE-APP-TOKEN

To start the stack, run docker-compose -f dynatrace-docker-compose.yml up. To stop the stack, run docker-compose -f dynatrace-docker-compose.yml down. Visit DynaTrace Cloud to see Aerospike metrics.

See OTel-DynaTrace-documentation

Cloudwatch

Modify cloudwatch-docker-compose.yml and update the following keys with the appropriate values for your deployment:

AWS_REGION=AWS-REGION-LOCATION
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=

To start the stack, run docker-compose -f cloudwatch-docker-compose.yml up. To stop the stack, run docker-compose -f cloudwatch-docker-compose.yml down. Visit AWS CloudWatch to see Aerospike metrics.