I have an azure event hub i want to use the azure event input plugin to grab the data....I’ve gotten Logstash to connect in to the hub.. but im getting a strange error when the conf is running.... hoping someone has an idea about this.
Apr 27 16:04:17 ip-10-0-6-44 logstash[269082]: [2021-04-27T16:04:17,779][INFO ][logstash.inputs.azureeventhubs][my-app][xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Event Hub registration complete. {:event_hub_name=>"my-app"}
Apr 27 16:04:17 ip-10-0-6-44 logstash[269082]: [2021-04-27T16:04:17,785][ERROR][logstash.inputs.azureeventhubs][my-app][xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Event Hub failure while registering. {:event_hub_name=>"my-app", :exception=>java.util.concurrent.CompletionException: com.microsoft.azure.eventhubs.IllegalEntityException: Failure getting partition ids for event hub, :backtrace=>["com.microsoft.azure.eventprocessorhost.PartitionManager.lambda$cachePartitionIds$4(PartitionManager.java:80)", "java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)", "java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)", "java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)", "java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)", "java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)", "java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)", "java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)", "java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)", "java.base/java.lang.Thread.run(Thread.java:834)"]}
Apr 27 16:04:17 ip-10-0-6-44 logstash[269082]: [2021-04-27T16:04:17,792][ERROR][logstash.inputs.azureeventhubs][my-app][xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Event Hub encountered an error. {:event_hub_name=>"my-app", :exception=>java.util.concurrent.CompletionException: com.microsoft.azure.eventhubs.IllegalEntityException: Failure getting partition ids for event hub, :backtrace=>["com.microsoft.azure.eventprocessorhost.PartitionManager.lambda$cachePartitionIds$4(PartitionManager.java:80)", "java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)", "java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)", "java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)", "java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)", "java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)", "java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)", "java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)", "java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)", "java.base/java.lang.Thread.run(Thread.java:834)"]}
Apr 27 16:04:17 ip-10-0-6-44 logstash[269082]: [2021-04-27T16:04:17,796][INFO ][logstash.inputs.azureeventhubs][my-app][xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Event Hub my-app is closed.
It is opening the event hub and attempting to retrieve but there’s an “Failure getting partition ids for event hub” message that I think is relating to the process not being able to navigate down from the root into the sub folders.. and when I check it there are folders there.. but they are empty… these folders 1 -4.. would this be considered a way of partioning the data maybe ??
After it errors it closes the connection into the event hub… so part of this is correct… but im not so sure about the rest of it or even how to tell it to start at root and works its way down.
my conf is very simple to start with, i've opted not to use filters at the stage until i see the sort of data coming into the index.
input {
azure_event_hubs {
event_hub_connections => ["Endpoint=sb://my-app-hub.servicebus.windows.net/;SharedAccessKeyName=logstash;SharedAccessKey=accesskeyredacted=;EntityPath=my-app"]
threads => 8
decorate_events => true
consumer_group => "$Default"
storage_connection => "DefaultEndpointsProtocol=https;AccountName=eventhublogstash;AccountKey= accountkeyredacted ==;EndpointSuffix=core.windows.net"
}
}
filter {
}
output {
elasticsearch {
hosts => ["https://localhost:9243"]
user => "redacted"
password => "redacted"
action => "create"
index => "my-app"
id => "my-app"
}
}
so im going by the guide here [Azure Event Hubs plugin | Logstash Reference [7.12] | Elastic but apart from advanced mode for multiple event hubs... there isnt much thats descibing how you can direct the connection on how its to process the hub topology.
any ideas ??