Skip to Content
SourcesElasticsearch

Elasticsearch

Elasticsearch

Discover Elasticsearch indices and sample documents for detection.

Category
Databases
Source type
ELASTICSEARCH
Produces
index

Search clusters are copies. Whatever the source of truth held, the index holds a denormalised version of it — often with fields the original system would never have exposed, and usually with looser access control.

What you need to connect

The cluster URL, and one of: nothing (an unsecured cluster), basic auth (username and password), or an API key — the recommended option, because it can be scoped to read on specific indices and revoked on its own.

What Classifyre reads

Shared behaviour · Search engines

One asset per index, not per document. The asset's content is a sample of the documents in it, serialised so a detector sees the field values; the asset's metadata records the document count and the fields the index actually contains.

Only read APIs are used — cluster info, index listing, and search. A read-only key or user is enough, and is what we recommend.

Scope by index allow- and denylist, cap how many indices a run produces, and choose whether system indices (names starting with .) are included.

Metadata on every asset

Asset kind · index

FieldTypeAlways presentWhat it is
index_namestringYesIndex name
healthstringNoIndex health (green/yellow/red)
doc_countintegerYesNumber of documents in the index
store_size_bytesintegerNoIndex store size in bytes
primary_shardsintegerNoNumber of primary shards
replica_shardsintegerNoNumber of replica shards

Lineage

Lineage

This source records no lineage. Nothing in the system it reads describes data moving from one place to another, so no FLOW edges are produced. Related items are still linked — see Lineage & Relationships for what those links mean and how they differ from lineage.

Worth knowing

  • Elastic Cloud and self-hosted clusters connect identically; for a self-signed certificate, TLS verification can be relaxed — prefer trusting the CA where you can.
  • .security and other system indices are excluded by default for a reason; include them deliberately.

Configuration

Beyond the fields below, every source also has the settings shared by all of them: the sampling strategy, the detectors to run, the scan schedule, and the compute limits for its scan jobs.

Required

Without these, the source will not save.

This section depends on which authentication method you pick — one of the following applies.

No Authentication

FieldTypeRequiredWhat it doesDefault
auth_mode"NONE"Yes
urlstringYesBase URL of the cluster (e.g. https://localhost:9200)

Basic (Username/Password)

FieldTypeRequiredWhat it doesDefault
auth_mode"BASIC"Yes
urlstringYesBase URL of the cluster (e.g. https://localhost:9200)

API Key (Bearer Token)

FieldTypeRequiredWhat it doesDefault
auth_mode"API_KEY"Yes
urlstringYesBase URL of the cluster (e.g. https://localhost:9200)

Secrets

Stored encrypted and never shown again after you save them. See Configuration & Fields.

This section depends on which authentication method you pick — one of the following applies.

No Authentication

Secret fields · No Authentication: none for this source.

Basic (Username/Password)

FieldTypeRequiredWhat it doesDefault
usernamestringYesBasic auth username
passwordstringYesBasic auth password

API Key (Bearer Token)

FieldTypeRequiredWhat it doesDefault
api_keystringYesAPI key or bearer token, sent as an Authorization header

Optional

Everything you can tune. Sensible defaults apply when you leave them alone.

FieldTypeRequiredWhat it doesDefault
optionalobjectNono extra properties
connectionobjectNoCluster connection controls.no extra properties
connection.request_timeout_secondsnumberNoNetwork timeout in seconds for cluster API callsmin 1, max 30030
connection.verify_sslbooleanNoTLS certificate verification toggletrue
scopeobjectNoIndex selection scope.no extra properties
scope.exclude_indicesarrayNoIndex denylist
scope.exclude_indices[]stringNo
scope.include_indicesarrayNoOptional index allowlist
scope.include_indices[]stringNo
scope.include_system_indicesbooleanNoInclude system indices (names starting with .)false
scope.index_limitintegerNoOptional cap on number of index assetsmin 1
Last updated on