I have Filebeat set up on a Linux forwarder.
It currently connects back to an Azure Eventhub instance using the Eventhub connection string. The string is stored in the Filebeat keystore. Then I reference it in the filebeat.yml
config.
This setup works well.
However I need a way to test to make sure the connection string is still valid. I do not know of a way to do this with my setup.
Using sudo filebeat test output
does not seem to test authentication.
I think I can test this with a script that performs a request with the current key. But I don't want to have to go to Eventhub and dig up the current connection string being used. Why? it may not be the one that is being used currently from the keyvault. Also, I am lazy and don't want to have to copy and paste connection strings from two envs.
Is there really no way that filebeat can test its authentication?
EDIT: I did find this binary, and it seems to work. This seems.... hacky. Is there a better way?
https://pkg.go.dev/github.com/adrianlzt/extract-filebeat-keystore
EDIT2: I ended up using the above package and building out my on health check golang binary that will crack into the keystore find the current connection string, and fqdn, and send to kafka. I also used the below package in my binary to send kafka messages. This is so hacky, but its the only thing that works for what I want.