Skip to main content
Version: 1.21.X

Elasticsearch-single

Elasticsearch is an open-source distributed search and analytics engine used for log analytics. This package deploys a single node Elasticsearch cluster on Kubernetes.

Requirements

Prometheus Operator is necessary since we configure a ServiceMonitor to make some metrics available from elasticsearch on prometheus

Image repository and tag

Configuration

Fury distribution Elasticsearch Single is deployed with the following configuration:

  • Single node
  • Listens on port 9200 for client connections
  • Listens on port 9300 for node-to-node connections
  • Uses default unicast Zen Discovery module to discover Elasticsearch nodes
  • Resource limits are 2000m for CPU and 4G for memory
  • Requires 30Gi storage
  • Prometheus exporter to expose Elasticsearch metrics
  • Metrics are scraped by Prometheus every 30s

Deployment

You can deploy Elasticsearch Single by running the following command in the root of the project:

kustomize build | kubectl apply -f -

To learn how to customize compute resources for Elasticsearch please follow the example.

Alerts

Since we are configuring a ServiceMonitor in this package, followings Prometheus alerts are already defined:

AlertDescriptionSeverityInterval
ElasticClusterRedThis alert fires when the health of the elasticsearch cluster is REDcritical30m
ElasticClusterYellowThis alert fires when the health of the elasticsearch cluster is YELLOWwarning30m
ElasticNumberOfRelocationShardsThis alert fires when there are relocating shards for 30 minuteswarning30m
ElasticNumberOfInitializingShardsThis alert fires when there are initializing shards for 30 minuteswarning30m
ElasticNumberOfUnassignedShardsThis alert fires when there are unassigned shards for 30 minuteswarning30m
ElasticNumberOfPendingTasksThis alert fires when there pending task for 30 minuteswarning30m