Once you’ve set up cost exports, it’s critical to ensure they’re running regularly and delivering up-to-date billing data. Monitoring both status and data freshness helps avoid silent pipeline failures and keeps your reporting accurate.
🧭 1. Check Export Run History in Azure Portal
Go to Cost Management + Billing > Exports and select your export.
- Review the Run history: You’ll see a list of past runs with timestamps and status (Success/Failed).
- Click a failed run to view details (if available), or check Activity Logs for error messages.
💡 Tip: Watch for missing runs. If today’s export hasn’t shown up by end of day UTC, it may indicate a delay or issue.
📦 2. Verify Files in Azure Storage
Go to the storage account’s container (via Azure Portal or Azure Storage Explorer) and check for new or updated blobs:
- Daily overwrite exports: Confirm the file was modified today.
- Partitioned exports: Confirm a new file for the current day/date exists.
🧪 Example: You expect a folder like cost-exports/20240403-20240403/RunID/usage.csv
to appear by the afternoon UTC. If it’s missing, investigate.
🔁 3. Automate Monitoring with Logic Apps or Functions
Set up a Logic App or Azure Function to run daily and:
- List blobs in the export container.
- Check if the latest file is from within the past 24–36 hours.
- If not, send an alert (email, Teams, etc.).
This catches failures without manual checks.
📊 4. Use Power BI or Synapse for Freshness Visibility
In your reporting tool (Power BI or Synapse), add a “last date” indicator:
- Query
MAX(Date)
from your cost dataset. - Display that date in a card or KPI visual: “Latest cost data as of: 2024-04-02”.
🔔 If the date is two days old or more, it signals a problem.
🛎️ 5. Alerts via Azure Monitor or Event Grid (Advanced)
Azure doesn’t emit direct metrics for export runs, but you can:
- Set up Event Grid on your blob container to watch for blob-created events.
- If no blob is created in 24h, trigger an Azure Monitor action group.
- Alternatively, use Log Analytics to query blob write logs or activity log errors.
This requires setup, but offers alerting on missing files or export errors.
🗓️ 6. Understand Export Timing and Data Lag
Azure’s daily exports run on Azure’s schedule, not at a fixed time.
- Expect exports to complete between midnight–6am UTC, but this can vary.
- Cost data itself can lag 8–24 hours, especially for marketplace and reserved instance costs.
- Daily exports often update month-to-date files cumulatively, so check for retroactive updates.
⏱️ Treat data as “fresh” if updated within 36 hours, not strictly 24.
✅ Example Monitoring Flow
- Power BI card shows
MAX(Date)
= yesterday → ✅ - Today shows two-day-old data → 👀 Check Exports blade
- Find failed run in history → Fix storage permission or rerun manually
🧠 Summary
Monitor your cost export pipeline like you would any production data pipeline. Use a mix of Azure Portal history, file presence checks, reporting layer indicators, and (if needed) automated alerting. Ensuring reliable cost data helps finance and engineering make timely, informed decisions.