I'm getting the same error while trying to use the misp threat intel module: [input.httpjson-cursor] v2/request.go:186 error processing response: the requested root field is empty {"input_source": "https://X.X.X.X/events/restSearch/", "input_url": "https://X.X.X.X/events/restSearch/"}
The only differences I can see between my threatintel.yml and yours is that I don't have quotes around my var.url entry and I'm not using any filters.
That is assuming that you have an actual API token in your yml file instead of the placeholder APIKEY.
The mystery solved for me. I usually point all my beats to logstash for enrichment of the data.
So, all the json.id field of the anomali clashed with the json.id field that already was due to other
data sources in the index, so ES rejected it because of string vs. long type.
It took me a while, I figured it out the time I updated the filebeat to 7.12.1. That was the first filebeat that updated, and so the anomali data easily went in, because the json.id field type now was automatically set to a string.
Note: I still see these messages in the filebeat logs, but I was on a totally wrong path, they were not the reason the data didn't properly got ingested.
I know that this error has been causing some confusion, the issue is that the message is not actually an error, it just means that either there was no events to retrieve, or it has paginated over multiple pages of events, and reached an empty page.
In 7.13 this "error" has been moved to the debugging level to stop causing the confusions.
While you might not be getting any events in, the error message itself is not the cause, I would start with setting the "first_interval" higher, in some cases there might not be any new events in the threat intel feed, for the 72h you have configured, so it will just return that error instead.
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.