Azure EventHubs KEDA Scaler with Azure Container Apps - FailedGetExternalMetric #6893
              
                Unanswered
              
          
                  
                    
                      ALS-Adebeer
                    
                  
                
                  asked this question in
                Q&A / Need Help
              
            Replies: 1 comment 1 reply
-
| 
         Bump, did you ever get this resolved? Sometimes, our app environment which is similar to your setup in Azure will get the FailedToGetExternalMetric and I don't understand why.. found this thread from a web search :)  | 
  
Beta Was this translation helpful? Give feedback.
                  
                    1 reply
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
-
Report
I'm having difficulty with configuring the azure-eventhub for our Event hub consumers. Checkpoints is successfully saved via
Azure.Messaging.EventHubs.Primitives.BlobCheckpointStorebut the KEDA scaler reports FailedGetExternalMetric errorExpected Behavior
KEDA is able to fetch required metrics so that consumers replicas can be scaled down to 0 when no messages to process
Actual Behavior
There are no container application errors - only errors in the container app system logs for
FailedGetExternalMetricAnd for completeness - I get successful log entries for
KEDAScalersStartedandSyncingSecretFromAzureKeyVaultForContainerAppSucceeded(we use User assigned managed identity).Steps to Reproduce the Problem
Scaler configuration (bicep file):
We're not using legacy implementation as blob checkpoints are saved via
Azure.Messaging.EventHubs.Primitives.BlobCheckpointStore- nuget package v5.12.1Note too that when I didn't use toLower on eventHubNamespace.name (ours have some uppercase letters) - the
KEDAScalerFailederror message is slightly different sayingunable to get unprocessedEventCount for metrics: unable to get checkpoint from storage: Get "https://./consumer-checkpoints/<EventHubNamespaceWithSomeUpperCase>.servicebus.windows.net%2F<eventhubname>%2Fworkorderlogin%2Fcheckpoint%2F0": dial tcp: lookup . on 10.0.0.2.53: server misbehaving. In blob storage all the container folder names are lowercase, so hence it makes sense to change to lowercase (bug?)We also don't use
Azure.Messaging.EventHubs.EventProcessorClient, I did validate that blob storage checkpoint information (folder structure and meta info) matches exactly the checkpoint info written to blob storage and the blob meta data from a nativeEventProcessorClientimplementation. We also don't use the dynamic consumer ownership as we run 1 container app per event hub partition - as such we only write checkpoints to /.servicebus.windows.net///checkpoint' and there is no paired 'ownership' folder and I presume ownership info is irrelevant to KEDA scaler.Logs from KEDA operator
These are from ContainerAppSystemLogs_CL
KEDA Version
2.16.1
Kubernetes Version
Unknown - we use Azure Container Apps with private VNET
Platform
Azure (public cloud)
Scaler Details
azure-eventhub
Beta Was this translation helpful? Give feedback.
All reactions