Skip to content

feat: add elasticsearch cloud connector - #24

Merged
OverOrion merged 2 commits into
mainfrom
feat/elasticsearch-connector
Jun 24, 2026
Merged

feat: add elasticsearch cloud connector#24
OverOrion merged 2 commits into
mainfrom
feat/elasticsearch-connector

Conversation

@OverOrion

Copy link
Copy Markdown
Contributor

Summary

Adds a new Elasticsearch cloud connector that reads logs from an Elasticsearch cluster via the elasticsearchlogs receiver and forwards them to Axorouter, following the same pattern as the existing AWS/Kafka/CrowdStrike connectors.

Changes

  • connectors/elasticsearch/config.yamlelasticsearchlogs receiver driven by ELASTICSEARCH_* env vars (API key or basic auth, search_after pagination over a stable sort, per-index cursor persisted to file_storage), wired through the standard resource/axoflow* + resourcedetection/system processors to the otlp_grpc/axorouter exporter.
  • entrypoint.sh — auto-detect the provider from ELASTICSEARCH_* env vars.
  • README.md + connectors/elasticsearch/README.md — document the provider, its environment variables, and the TLS settings.

Behaviour notes

  • Defaults: start_at=end, initial_lookback=1h, page_size=1000, poll_interval=30s.
  • Default sort is [{"@timestamp": asc}, {"_seq_no": asc}]; the last field must be unique per document. _seq_no is used because it is sortable without fielddata (unlike _id).

Prerequisite

This connector only ships configuration. It requires the elasticsearchlogs receiver to be present in the axoflow-otel-collector image referenced by the Dockerfile (the receiver is proposed upstream in axoflow/opentelemetry-collector-contrib#36), the same way the custom crowdstrike receiver is already baked in.

Validation

  • config.yaml parses as valid YAML; yamllint clean (same cosmetic comment warnings as the existing connectors).
  • entrypoint.sh passes sh -n; provider auto-detection verified.

Add a connector that reads logs from Elasticsearch via the
elasticsearchlogs receiver and forwards them to Axorouter.

- connectors/elasticsearch/config.yaml: ELASTICSEARCH_*-driven receiver
  (API key or basic auth, search_after pagination, per-index cursor
  persisted to file_storage) wired through the standard axoflow
  processors to the otlp_grpc/axorouter exporter
- entrypoint.sh: auto-detect the provider from ELASTICSEARCH_* env vars
- README + connector README: document the provider and its variables

Note: requires the elasticsearchlogs receiver to be present in the
axoflow-otel-collector image.

Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
This image includes the elasticsearchlogs receiver required by the
elasticsearch connector.

Signed-off-by: Szilard Parrag <szilard.parrag@axoflow.com>
@OverOrion
OverOrion merged commit 6ed99e6 into main Jun 24, 2026
3 of 4 checks passed
@OverOrion
OverOrion deleted the feat/elasticsearch-connector branch June 24, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants