ES, APM version: 7.2.1
I've seen this before with Filebeat but it wasn't important at the time but now that I added an APM server to the cluster it's frustrating. ES, Kibana, and Logstash are correctly grouped so I figured this will be a beats issue.
I have not tested this but you could create a custom Ingest pipeline on your monitoring Elasticsearch cluster. This pipeline would use the set processor to set the cluster_uuid to PR0d_CluSteR_Uu1d. Then you'd reference this pipeline name in the output.elasticsearch.pipeline setting in your apm-server.yml.
There are a couple of options by which you can load your custom Ingest pipeline into Elasticsearch; you can read about them here.
I'm sorry if I'm mistaken, but according to the monitor configuration, there's no output.elasticsearch.pipeline option. I send the transactions to Kafka and I don't intend to use ES as the ingest node directly.
You can create an ingest pipeline on this cluster that can format the documents before indexing. It's not something you configure within Beats, but rather something you configure on the ES monitoring cluster directly.
The problem here is your.monitoring-beats-* indices do not contain a valid cluster_uuid field because your output is not Elasticsearch (which is a completely valid setup). We fixed this bug in 7.3.2 and beyond but you aren't able to upgrade to this version to get the fix. The fix involves manually setting the cluster_uuid within the beat yml file.
As a way to fix the issue without needing to upgrade, you can use an ingest pipeline on the monitoring cluster to manually add the proper cluster_uuid to the .monitoring-beats-* documents as they are indexed. Ingest pipelines allow you to perform various actions before a document in indexed.
It does mean you will need to hard-code the proper cluster_uuid in the pipeline itself but it should be a short-term fix that you can safely remove once you are able to upgrade to a version of the stack with a fix.
Thanks @chrisronline !
I understand that now. I was confused by output.elasticsearch.pipeline from @shaunak. I didn't use ES pipelines myself and couldn't find any information on how to attach the .monitoring-beats-* indices to a pipeline I create. The best I got (using the links from Shaunak) is still pointing to the output section in the apm-server.yml.
Sorry @YvorL, I said output.elasticsearch.pipeline but I was thinking monitoring.elasticsearch.pipeline. There are many settings under output.elasticsearch.* that are also available under monitoring.elasticsearch.*, however pipeliene is unfortunately not one of them. So setting monitoring.elasticsearch.pipeline would not work either .
I appreciate it but not sure if it's worth it
It's a nuisance for sure but the data ends up in Kibana and graphs are available. I'll upgrade the cluster in a couple of months and this will go away.
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.