After installing the StackState Azure StackPack, the Azure synchronization is in the Waiting for Data state and no data is coming in from Azure.
Synchronizations & Datasources
First, let's try to pinpoint where the issue is exactly. We can do this by testing out a few things via the StackState GUI.
Let's see if StackState has the expected Azure configuration in the form of Synchronizations and Datasources.
In StackState, navigate to Settings > Topology Synchronisation > Synchronization and verify that there is a synchronization called Azure there.
Next, on Settings > Topology Synchronisation > Sts Sources, there should be an Azure datasource. If it is there, select Edit from the triple-dot menu and test the connection using the Test Connection button.
In Settings > Telemetry Sources > AzureMetrics Sources, there should be an Azure Metrics datasource. If it is there, select Edit from the triple-dot menu and test the connection using the Test Connection button.
Once we have some idea of whether the StackState has the right configuration setup and which parts are working or failing, verifying the credentials is a useful next step.
In StackState, navigate to StackState > StackPacks > Installed Azure StackPack. Validate that the Client ID and Tenant ID values are correct.
In the Azure portal, navigate to Home > ResourceGroupUsedForInstallation > Function App (Name is based on Client ID) > Settings / Configuration. Here, verify that the credentials (ClientId, ClientSecret, TenantId, WorkspaceId) are correct and that the StsApiUrl uses the correct StackState URL. Also, verify that the StsApiKey is correct.
If the configuration is correct, the next stop is the logs for the StackState functions running in the Azure portal. There are two such functions, namely SendToStackState and ConvertResourcesToStackStateData.
The log files for these functions are located at Home > ResourceGroupUsedForInstallation > Function App (Name is based on Client ID) > Functions. Navigate to either function and visit Monitor.
Any errors appearing in the logs could be the cause of the issue.
If there are no errors on the Azure side, let's check out the StackState logs.
The Azure synchronization logs are accessible here:
You will need to replace localhost with the name of the StackState instance you are working with.
If the Azure synchronization has a non-standard name, you can find all logs here:
If the log files don't yield any clues, we will need to dig a bit deeper into the internals of StackState. StackState collects data from external sources in a topic on the Kafka bus.
Using the URL:
we can see all Kafka topics. There should be a topic with the prefix "sts_topo_azure_".
Using the StackState CLI, we can also inspect messages on the topic to verify the instance is receiving data. See our documentation for the instructions.
If the above doesn't resolve the issue, contact our support team for help. Please provide them with the logs mentioned above.