I have various assets in my Azure infrastructure that expire at certain times. Certificates, API keys, etc.
To ensure that these assets are updated before they expire I wish to trigger a notification which will go to the maintainers of the system at predefined times. The receivers of the notification are defined in an Azure Action Group.
I would have thought the obvious way to do this would be to configure an Azure Alert on a resource (such as an App Service) to trigger on a certain date. But this does not appear to be possible, Alerts can only be triggered by signals that are captured from the resource itself.
So then I considered using an Azure Workflow with a schedule trigger and then connecting that to the Action Group. But there does not appear to be any way to connect anything to an Action Group in an Azure Workflow.
So then I considered that I could configure an Alert on the Workflow itself that would trigger whenever the Workflow itself is triggered. I can do this by configuring the Alert to trigger if the Workflow is triggered one or more times within a specified time period.
That works, and indeed allows me to connect this Alert to my Action Group. However no matter what properties or description I assign to the Alert the email notification that is sent contains only the Alert name, some URLs, and the trigger condition, which does not provide any remotely useful information to the person receiving the notification.
Is there any way to make this work in Azure in a manner that is remotely useful? I suppose I could create a complete task scheduler Workflow, complete with all notification details stored within it, but I wasn't expecting to have to build something completely from scratch to accomplish something so trivial.
At this point my best solution seems to be to create a calendar event in O365, which to manage an Alert for an Azure resource seems frankly ridiculous.
An approach could be to use Azure Logic Apps of Azure Functions to read out the data (Azure REST API, Azure Resource Graph,...) and injecting that data into Log Analytics tables using the Logs Ingestion API on a daily basis.
From that Log data you can trigger an Action Group using a scheduled query on the collected logs.