Katabarwa Labs
← Blog

Get alerted before TLS certificates expire on Azure App Gateway and App Service

Azure operations · August 29, 2026 · 5 min read

An expired TLS certificate takes production down hard: browsers throw full-page warnings, API clients refuse to connect, and the fix usually happens under pressure at the worst possible time. The frustrating part is that the expiry date was sitting in the certificate all along. Yet if that certificate was uploaded to an Application Gateway listener, an App Service, or an API Management instance, nothing in Azure was going to warn you before the date arrived.

Why Azure cannot alert you out of the box

The DIY approach: sweep the certificate stores on a schedule

The pattern is a scheduled job (a Function on a timer works well) with a Reader role at subscription scope, sweeping every store that has no native alerting:

Two details keep this least-privilege: read only certificate metadata and public certificate data through the ARM management plane (private keys never need to be touched), and grant nothing beyond Reader.

A ready-made option: Cert Sentinel

Our tool for this: Cert Sentinel on the Azure Marketplace. It runs as a managed application inside your own subscription, so nothing leaves your tenant.

Cert Sentinel is that pattern packaged. Every day at 08:00 UTC it sweeps every in-scope certificate in the subscription (App Gateway listener and backend trust certs, App Service uploaded certs, and API Management certs) and posts one digest to your Teams channel listing everything expired, expiring within your thresholds, or unreadable. Expiring certs are re-reported daily until renewed. It needs only the Reader role, reads metadata and public certificate data only (never private keys), and deliberately leaves Key Vault and Front Door / CDN managed certs alone because Azure already covers those.

Key facts

Related reading: set an Entra ID account to expire automatically.


Written by the team at Katabarwa Labs. We build small, single-purpose Azure tools that run entirely inside your own tenant. Questions: abaho@llmgraph.ai.