I'm sorry to hear it's not working well for you. The architecture of requiring a beat on each node puts an emphasis on reliability. It enables monitoring of nodes even if they're not part of a cluster. This might be of particular importance to diagnose the reason why it's not able to join.
I am seeing "Install Metricbeat on each Elasticsearch node in the production cluster" in the docs. Which version of the docs are you viewing?
Well, we use now elasticsearch-exporter for prometheus, this requires a single instance that connect to a single node and work straightaway. And there is a grafana dashboard already (whereas metricbeat is missing a dashboard for elasticsearch metrics .....).
Also, the non-master node error is logged as "debug" level:
True, this modules' docs are a bit terse. The reason for there not being any dashboards is that the built-in stack monitoring app provides an even more curated UI for monitoring. Have tried using the stack monitoring feature?
In my case, I want to monitor multiple ES clusters, with a basic licence
About installing metricbeat on every node, it's really hard, maybe, you should consider to add metricbeat as a sidecar (or at least document it) when using the official elastic Helm chart for kubernetes.
We have finally moved back to prom/grafana with elasticsearch-exporter, because it's more simple and work really fast.
Yes, that could indeed be convenient for that deployment scenario. I saw you opened an issue about it - thank you!
It's good to see you found a solution that works for you in the meantime. Thanks for sharing with the community.
Have you considered deploying Metricbeat as a daemonset on each node using its helm chart and using the "autodiscover" feature to automatically enable the Elasticsearch module where needed?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.