/praeco-helm

Helm chart for servercentral/praeco

Primary LanguageMustacheGNU General Public License v3.0GPL-3.0

Praeco Helm Chart

This Helm Chart is Beta Release.

Praeco is a very useful Web GUI for elastalert.

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

Compatibility

This chart supports only ES7.

If there are many requests, I'll consider to support ES6. I think that switching container tag enables to support other ES ver. (Container Image Tags are not implemented...)

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:

$ helm repo add daichi703n https://daichi703n.github.io/charts/stable 
$ helm install --name my-release daichi703n/praeco

with Slack

$ helm install --name my-release daichi703n/praeco \
    --set elastalert.slack_webhook_url=https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXX \
    --set elastalert.extraConfigOptions.slack_ignore_ssl_errors=true

Please refer to the Configurations and vars.yml.example.

Uninstalling the Chart

To uninstall/delete the my-release deployment:

$ helm delete my-release

Configuration

Configurations for ElastAlert is cloned from ElastAlert Helm.

Parameter Description Default
image.repository docker image servercentral/praeco
image.tag docker image tag latest
image.pullPolicy image pull policy IfNotPresent
elastalert.image.repository docker image praecoapp/elastalert-server
elastalert.image.tag docker image tag "20230219"
elastalert.image.pullPolicy image pull policy IfNotPresent
elastalert.podAnnotations Annotations to be added to pods {}
elastalert.command command override for container NULL
elastalert.args args override for container NULL
elastalert.replicaCount number of replicas to run 1
elastalert.elasticsearch.host elasticsearch endpoint to use elasticsearch
elastalert.elasticsearch.port elasticsearch port to use 80
elastalert.elasticsearch.useSsl whether or not to connect to es_host using SSL False
elastalert.elasticsearch.username Username for ES with basic auth NULL
elastalert.elasticsearch.password Password for ES with basic auth NULL
elastalert.elasticsearch.verifyCerts whether or not to verify TLS certificates True
elastalert.elasticsearch.clientCert path to a PEM certificate to use as the client certificate /certs/client.pem
elastalert.elasticsearch.clientKey path to a private key file to use as the client key /certs/client-key.pem
elastalert.elasticsearch.caCerts path to a CA cert bundle to use to verify SSL connections /certs/ca.pem
elastalert.elasticsearch.certsVolumes certs volumes, required to mount ssl certificates when elasticsearch has tls enabled NULL
elastalert.elasticsearch.certsVolumeMounts mount certs volumes, required to mount ssl certificates when elasticsearch has tls enabled NULL
elastalert.extraConfigOptions Additional options to propagate to all rules, cannot be alert, type, name or index {}
elastalert.optEnv Additional pod environment variable definitions []
elastalert.extraVolumes Additional volume definitions []
elastalert.extraVolumeMounts Additional volumeMount definitions []
elastalert.resources Container resource requests and limits {}
elastalert.rules Rule and alert configuration for Elastalert {} example shown in vars.yml.example
elastalert.runIntervalMins Default interval between alert checks, in minutes 1
elastalert.realertIntervalMins Time between alarms for same rule, in minutes NULL
elastalert.alertRetryLimitMins Time to retry failed alert deliveries, in minutes 2880 (2 days)
elastalert.bufferTimeMins Default rule buffer time, in minutes 15
elastalert.writebackIndex Name or prefix of elastalert index(es) elastalert_status
elastalert.nodeSelector Node selector for deployment {}
elastalert.tolerations Tolerations for deployment []
elastalert.metrics.enabled Enable elastalert prometheus endpoint true
elastalert.metrics.port If "metrics" is set to true, prometheus metrics will be exposed by the pod on this port. 9979
elastalert.metrics.serviceMonitor.enabled Enable elastalert prometheus service monitor true
elastalert.metrics.serviceMonitor.namespace Enable elastalert prometheus service monitor namespace prometheus
elastalert.metrics.prometheusRule.enabled Enable elastalert prometheus rules true
praeco.schema Schema for your Praeco Web GUI, used for link URL in alerts http
praeco.external_host Host for your Praeco Web GUI praeco
praeco.port Port for your Praeco Web GUI 8080

If you have any ploblem, feature-request, please open a github issue.