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