OK, I actually made some progress myself. I created a pipeline called metrics-apm@custom and had it search for a custom label that I had to add for the user's public IP address. However, then I test the pipeline against a sample document I see a tag on the result of _geoip_database_unavailable_GeoLite2-City.mmdb.
I did the example test here and that all seemed to work just fine.
It looks to me like the processor config is exactly the same, but the sample works, but my custom one does not?
There was a change in some behavior...
What type of cluster are you running? Self Managed Node, Elastic Cloud etc? how many nodes?...
Perhaps the GeoIP db settings are not consistent on all the nodes, which can result in intermittent results.
Is that output from the pipeline simulate? How are you testing, hard to tell without the actual commands... or are you doing that in the Ingest Pipeline Tester in Kibana?
PUT _cluster/settings
{
"persistent": {
"ingest.geoip.downloader.enabled" : false
}
}
GET _cat/indices/.ge*?v
GET _ingest/geoip/stats
Wait about 2 mins then re-enable
PUT _cluster/settings
{
"persistent": {
"ingest.geoip.downloader.enabled" : true
}
}
GET _cat/indices/.ge*?v
GET _ingest/geoip/stats
Also how are you directing these request... only ingest nodes have the geoip database so you if you direct the request to a data only node (not and ingest) it will fail.
So there are other nodes? Are There data only nodes?
Good ... And the tests now?..... are they still intermittent?
Personally, I would use Dev Tools for Testing using Pipeline Simulate
Is Kibana pointed to an Ingest Node?
Is the APM Server only pointed ONLY to the ingestion nodes?
I suspect it's possible you are directing requests to data only nodes ... I would think the coordinator part should re-direct but for some reason... I am not completely clear on that ... and don't have an easy way to test right now...
If the behavior is still inconsistent I would check that all the requests that need GeoIP are being directed to the ingest nodes.
Thanks. Maybe I should (for now) ignore my testing strategy.
I did create a VERY simple pipeline to add a new field to my APM App data named metrics-apm@custom. But I am not seeing the new field get added to that data.
FWIW I did also add a simple pipeline for traces as well, also just appends a new field/value and I am not seeing any evidence that is getting leveraged either.
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.