2 min read
|
Saved February 14, 2026
|
Copied!
Do you care about this?
This article explains how to configure Octopus to send audit logs to an Elastic stack using OpenTelemetry and the EDOT Collector. It provides step-by-step instructions for setting up the necessary components, including Docker containers and configuration files. The goal is to enhance monitoring and auditing capabilities for Octopus deployments.
If you do, here's more
Octopus now supports exporting audit logs to an OpenTelemetry provider, which can be integrated with the Elastic Distributions for OpenTelemetry Collector (EDOT Collector). This allows users to send audit logs to an Elastic stack. The article explains how to set up a test instance of the Elastic stack, which includes Elasticsearch and Kibana, by running a simple script. A few crucial environment variables are generated during this setup, including the ES_LOCAL_PASSWORD and ES_LOCAL_API_KEY, which are necessary for later configuration.
To configure the EDOT Collector, three files must be created: `otel-collector-config.yml`, `.env`, and `docker-compose.yml`. Each file plays a specific role in defining the collector's behavior and environment. For instance, the `otel-collector-config.yml` file specifies the connection details to Elasticsearch, while the `.env` file contains essential environment variables like the ELASTIC_API_KEY. After setting up these files, the EDOT Collector can be started using Docker, making it ready to receive data.
Since the EDOT Collector runs locally and is only accessible on localhost, it can't be reached by Octopus's cloud instances. To make it publicly accessible, ngrok is used to expose the OpenTelemetry endpoint. Finally, Octopus is configured to send audit logs to this public endpoint, using the ngrok URL and the HTTP/protobuf protocol. This setup enables users to analyze and visualize audit logs effectively, enhancing monitoring and security auditing capabilities.
Questions about this article
No questions yet.