-
Notifications
You must be signed in to change notification settings - Fork 35
How to run DfMon in Standalone mode
Durable Functions Monitor is itself an Azure Function, so you can run it in same ways as a typical Azure Function can be run. Client-side HTML statics are self-hosted, so no need to host them anywhere separately.
NOTE: the below instructions are relevant to a Durable Function that uses default Storage Provider.
For monitoring Durable Task SQL Provider use DfMon for Durable Task SQL Provider
For monitoring Netherite use DfMon for Netherite.
This button will deploy a new DfMon instance into your Azure Subscription from this (latest) NuGet package. You will need to have an AAD app created and specify its Client Id as one of the template parameters.
See instructions on how to configure authentication/authorization here.
NOTE: the instance will be deployed to the selected Resource Group's location. The default Region parameter in Azure Portal's Deploy from a custom template wizard has no effect here. It only defines where the deployment metadata will be stored, so feel free to leave it to default.
2. Run as a Docker container
-
docker pull scaletone/durablefunctionsmonitor:[put-latest-tag-here]
-
docker run -p 7072:80 -e AzureWebJobsStorage="your-azure-storage-connection-string" -e DFM_NONCE="i_sure_know_what_i_am_doing" scaletone/durablefunctionsmonitor:[put-latest-tag-here]
WARNING: setting DFM_NONCE to
i_sure_know_what_i_am_doing
turns authentication off. Please, protect your endpoint as appropriate. -
Navigate to http://localhost:7072
The home page will show you the list of existing Task Hubs to choose from. WARNING: by default, all Task Hubs in the underlying Storage account are accessible. To restrict the list of allowed Task Hubs specify an extra DFM_HUB_NAME environment variable with a comma-separated list of Task Hub names.
kubectl create secret generic dfm-secret \
--from-literal=AzureWebJobsStorage='<your-azure-storage-connection-string>' \
--from-literal=WEBSITE_AUTH_CLIENT_ID='<your-aad-app-client-id>' \
--from-literal=WEBSITE_AUTH_OPENID_ISSUER='<your-token-issuer>' \
--from-literal=DFM_ALLOWED_USER_NAMES='<your-email>'
kubectl apply -f https://raw.githubusercontent.com/microsoft/DurableFunctionsMonitor/main/durablefunctionsmonitor.dotnetbackend/dfm-aks-deployment.yaml
This will create a secret with all required config settings and then run this Docker container with this deployment yaml.
WARNING: by default, all Task Hubs in the underlying Storage account are accessible. To restrict the list of allowed Task Hubs specify an extra DFM_HUB_NAME secret value with a comma-separated list of Task Hub names.
See instructions on how to configure authN/authZ here.
You can find the detailed list of supported configuration settings here: Config Settings Reference.