Back to Charts

Elastalert Helm Chart

stable/elastalert/README.md

latest9.9 KB
Original Source

Elastalert Helm Chart

NOTICE: This chart has moved!

Due to the deprecation and obsoletion plan of the Helm charts repository this chart has been moved to a new repository. Refer to the Elastalert-Docker GitHub project for information on installing this chart from the new repository.

Overview

elastalert is a simple framework for alerting on anomalies, spikes, or other patterns of interest from data in Elasticsearch.

TL;DR;

For ES 5.x:

console
$ helm install stable/elastalert

For ES 6 and newer:

console
$ helm install stable/elastalert --set writebackIndex=elastalert

# Open Dev Tools on Kibana and send the below.
# Otherwise elastalert ends up with errors like "RequestError: TransportError(400, u'search_phase_execution_exception', u'No mapping found for [alert_time] in order to sort on')"
PUT /elastalert/_mapping/elastalert
{
  "properties": {
      "alert_time": {"type": "date"}
  }
}

See the comment in the default values.yaml to know why writebackIndex is required for ES 6.x.

Installing the Chart

To install the chart with the release name my-release:

console
$ helm install --name my-release stable/elastalert

The command deploys elastalert on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

console
$ helm delete my-release

The command removes all the Kubernetes components associated with the chart and deletes the release.

Configuration

ParameterDescriptionDefault
image.repositorydocker imagejertel/elastalert-docker
image.tagdocker image tag0.2.4
image.pullPolicyimage pull policyIfNotPresent
podAnnotationsAnnotations to be added to pods{}
commandcommand override for containerNULL
argsargs override for containerNULL
replicaCountnumber of replicas to run1
elasticsearch.hostelasticsearch endpoint to useelasticsearch
elasticsearch.portelasticsearch port to use80
elasticsearch.useSslwhether or not to connect to es_host using SSLFalse
elasticsearch.usernameUsername for ES with basic authNULL
elasticsearch.passwordPassword for ES with basic authNULL
elasticsearch.credentialsSecretSpecifies an existing secret to be used for the ES username/password authNULL
elasticsearch.credentialsSecretUsernameKeyThe key in elasticsearch.credentialsSecret that stores the ES password authNULL
elasticsearch.credentialsSecretPasswordKeyThe key in elasticsearch.credentialsSecret that stores the ES username authNULL
elasticsearch.verifyCertswhether or not to verify TLS certificatesTrue
elasticsearch.clientCertpath to a PEM certificate to use as the client certificate/certs/client.pem
elasticsearch.clientKeypath to a private key file to use as the client key/certs/client-key.pem
elasticsearch.caCertspath to a CA cert bundle to use to verify SSL connections/certs/ca.pem
elasticsearch.certsVolumescerts volumes, required to mount ssl certificates when elasticsearch has tls enabledNULL
elasticsearch.certsVolumeMountsmount certs volumes, required to mount ssl certificates when elasticsearch has tls enabledNULL
extraConfigOptionsAdditional options to propagate to all rules, cannot be alert, type, name or index{}
optEnvAdditional pod environment variable definitions[]
extraVolumesAdditional volume definitions[]
extraVolumeMountsAdditional volumeMount definitions[]
serviceAccount.createSpecifies whether a service account should be created.true
serviceAccount.nameService account to be used. If not set and serviceAccount.create is true, a name is generated using the fullname template
serviceAccount.annotationsServiceAccount annotations
podSecurityPolicy.createCreate pod security policy resourcesfalse
resourcesContainer resource requests and limits{}
rulesRule and alert configuration for Elastalert{} example shown in values.yaml
runIntervalMinsDefault interval between alert checks, in minutes1
realertIntervalMinsTime between alarms for same rule, in minutesNULL
alertRetryLimitMinsTime to retry failed alert deliveries, in minutes2880 (2 days)
bufferTimeMinsDefault rule buffer time, in minutes15
writebackIndexName or prefix of elastalert index(es)elastalert_status
nodeSelectorNode selector for deployment{}
tolerationsTolerations for deployment[]