Is it possible to monitor elasticsearch using metricbeat and custom index name?

Hello !

I use metricbeat on the whole stack members (Elasticsearch/Logstash/Kibana) to collect system metrics (enabled by default)

I use logstash output and custom index name

metricbeat.yml :

# ------------------------------ Logstash Output -------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["logstash1:5044","logstash2:5044"]

logstash pipeline (lab-metricbeat is an alias for my ilm policy) :

input {
  beats {
    port => 5044
  }
}

output {
  elasticsearch {
    hosts => ["http://logstash1:9200","http://logstash2:9200","http://kibana:9200"]
    index => "lab-metricbeat"
    ilm_enabled =>  true
    manage_template => false
  }
}

Now, I have to monitor all the cluster by activating the following metricbeat modules :

  • elasticsearch-xpack
  • logstash-xpack
  • kibana-xpack

I'm asking if it will works because it looks like Kibana is waiting for specific index names like this to display monitoring data :

.monitoring-kibana-* and .monitoring-es-*

So, if I continue to use my custom index name, there is chance that monitoring data will never be displayed.

What do you think about that ?

Thanks !

Anyone ? :slightly_smiling_face:

I do not think it is possible anymore, Kibana expects the monitoring data to be in the .monitoring-* index.

This is a similar question where it is confirmed that you can't change: Change monitoring index name for Kibana UI

The currently recommended way to monitor the stack is to use metricbeat shipping the data directly to elasticsearch.

You can create a template for the monitoring index and add an alias lab-metricbeat so your ILM policy will still apply.

1 Like

Ok. Thanks for this confirmation. Hope it will be possible in the future !

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.