telegraf

telegraf has support for monitoring elasticsearch.

Example config

There are many more options, including auth and tls. But this is a very basic configuration.

[[inputs.elasticsearch]]
  servers = ["http://elastic.example.com"]
  http_timeout = "10s"
  local = false
  cluster_health = true
  cluster_stats = true

Roles for telegraf

These roles allow telegraf to monitor elasticsearch itself, as well as indexes.

remote_monitoring_agent, grafana, icinga-log-check

grafana role

Permissions for monitoring elasticsearch indexes.

Index privileges necessary

index read view_index_metadata

icinga-log-check role

Permissions for monitoring elasticsearch indexes.

Index privileges necessary

read view_index_metadata