Azure — алерт о приближении к subscription quota
Azure subscription упирается в quota (vCPU per region, public IPs, storage accounts) — следующий terraform apply ляжет с 429-ItemNotFound. Quota увеличивают через support-тикет, нужно начать заранее.
Рецепт
#!/usr/bin/env bash
# /etc/cron.d/az-quota
# 0 */6 * * * root /opt/az-quota.sh
REGION=${REGION:-westeurope}
WARN_PCT=${WARN_PCT:-80}
# Compute quota only — extend with network/storage as needed
HOTSPOTS=$(az vm list-usage --location "$REGION" -o json \
| jq --argjson w "$WARN_PCT" '
[.[] | select(.limit > 0 and (.currentValue / .limit * 100) > $w) |
{name: .localName.value, used: .currentValue, limit: .limit,
pct: ((.currentValue / .limit * 100) | floor)}]')
COUNT=$(echo "$HOTSPOTS" | jq 'length')
if [ "${COUNT:-0}" -gt 0 ]; then
SUMMARY=$(echo "$HOTSPOTS" | jq -r '.[] | "\(.name)=\(.pct)%"' | head -5 | tr '\n' ',')
curl -fsS "$HEARTBEAT_URL" --data-urlencode "quota_warn=$COUNT,examples=$SUMMARY"
exit 2
fi
echo "OK (no quotas above ${WARN_PCT}%)"
То же самое в Enterno.io
Подключите Enterno heartbeat — поймаете 80 % quota за неделю-две до hard-stop, успеете открыть тикет в Azure.
Похожие рецепты
GCP project quota (CPU, IPs, persistent disks) ползёт к лимиту. Следующий terraform plan сломается с RESOURCE_EXHAUSTED. Quota request требует 1-2 дня — должно быть заранее.
Нужно убедиться, что сайт возвращает 2xx каждую минуту, и получить алерт в Slack/Telegram при падении.
Самоподписанный скрипт проверяет SSL сертификат и шлёт алерт за 14 дней до expiry.