The hhtp.port for every instance of logstash.yml is 9601 , 9602 and 9603
And also the logstash-xpack module is enabled: metricbeat modules enable logstash-xpack
The output of Elasticsearch in metricbeat.yml is all my 4 ES nodes on port 9200
I have all pipelines in "Stack Monitoring" (all pipelines of 3 instances of Logstash)
But in Nodes section, I just see one instance of Logstash!!!
The weird thing is sometime the name of only Logstash node that shown in "Nodes" changes to another instance name... For example in the first picture above, elk-node101.software:9603 changes to elk-node2.software:9601 automatically!
Could you please help me about this?
I'm using the stack on version 7.16.2
I'm not sure you can monitor 3 different instances this way.
You should use one .yml file per host you want to monitor, or create multiple modules in the same .yml , each one pointing to a different logstash, If i'm not wrong using an array of hosts will work in a load balance way and not querying all the hosts at the same time.
Try to edit your .yml to have something like this:
Thanks for your response
I edited logstash-spack.yml as you suggested.
But unfortunately, that doesn't work. I have all of 3 instances' pipelines, but have just one random node...
The suggested solution by @leandrojmp should work
I used to use this to monitor multiple instances of beats using the same beat.yml of metricbeat
That should be the same for logstash
Metricbeat has two modules: logstash and logstash-xpack.
So,
1- Enable logstash module : metricbeat modules enable logstash
2- Edit etc/metricbeat/modules.d/logstash.yml like this:
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.