I've been working with Azure Diagnositc logs recently, and part of the data that comes out of them is something azure calls a "ResourceId". This is used to uniquely identify the resource in Azure. It's a slash separated value that includes a hierarchal list of values.
When you're working with Azure Functions, or AppService (including ContainerApps) there are a number of Environment Variables that can be really interesting to use for debugging your production apps. These are pretty easy to add to OpenTelemetry.
In this post I'll show you how to deploy the .NET 5 "Out of process" azure functions using Pulumi. We'll be using a GitHub action to build the code, which will also create the infrastructure too, then deploy the function to that infrastructure. In this example, we'll be using a Azure Blob Storage to store the state of our Pulumi stack.
This is part of a series of posts about running Grafana on Azure. Checkout the others Part 1 - Hosting/ConfigurationPart 2 - Azure MySQL StoragePart 3 - Enabling SSL with LetsEncrypt (this post)Part 4 - Azure AD LoginPart 5 - Azure Monitor Datasource (coming soon) What is LetsEncrypt? LetsEncrypt.org is an initiative to promote sites... Continue Reading →
This makes it great for our database for Grafana as the point of a monitoring system is be always up, and you don't want to be monitoring your monitoring system with your monitoring system.
There as a balancing act to be done here. Speed and simplicity could be achieved using a database on the machine, that's then backed up, at the expense of management overhead. Reduced Management could be achieved using ACI or App Service, at the expense of cost (unless you already have a container infrastructure). The solution here, I believe, gives a fair balance