Ga naar inhoud

Monitoringregels (toewijzen / verwijderen voor een spoke)

Hoe alerting werkt en hoe je het uitrolt: Monitoring en alerting.

Standaardwijziging: Managed monitoringregels toewijzen/verwijderen (de standaard managed monitoringregels) op een bestaande spoke.

Effect: de subscription en resources van de spoke gaan de standaard Azure Monitor-alertregels van het platform wel of niet meer ontvangen.

Hoe monitoring is opgezet

De standaard monitoringregels zijn Azure Monitor Baseline Alerts (AMBA), uitgerold met Azure Policy:

  • Definitions: infra/deploy/foundation/policies/policy_definitions/alerts/** (87 definitions) en vijf initiatives in infra/deploy/foundation/policies/policy_set_definitions/alerts/: Alerting-ServiceHealth, Alerting-Management, Alerting-Connectivity, Alerting-Identity, Alerting-LandingZone.
  • Toewijzingen: infra/deploy/postdeployment/main_policies_alerts.tf, één per management group, ingeschakeld via alerting_management_groups in <env-folder>/<primary region>/postdeployment.auto.tfvars:
alerting_management_groups = {
  cloudplatform = { id = "cloudplatform",                       deploy_alerting_servicehealth = true }
  landingzones  = { id = "cloudplatform-landingzones",          deploy_alerting_landingzone   = true }
  connectivity  = { id = "cloudplatform-platform-connectivity", deploy_alerting_connectivity  = true }
  management    = { id = "cloudplatform-platform-management",   deploy_alerting_management    = true }
  identity      = { id = "cloudplatform-platform-identity",     deploy_alerting_identity      = true }
}

De keys cloudplatform en landingzones zijn verplicht, omdat de code ernaar verwijst.

  • Routing: de landing zone initiative rolt in elke landing zone subscription een alert processing rule uit. Die regel routeert Sev0–Sev2-alerts naar de action group van het platform ag-<company>-mgmtxpirit-<env>-<region>-001.

Er is geen monitoringschakelaar per spoke in de spoke-JSON. Een spoke krijgt de landing zone-regels doordat de subscription onder de management group landingzones valt, waar Alerting-LandingZone is toegewezen met de toewijzingsnaam alerting_landingzone.

De policies gebruiken deployIfNotExists. Alertregels worden aangemaakt voor nieuwe of gewijzigde resources, en voor bestaande resources alleen via een remediation task.

Aanvraagvelden

Veld Gebruik
Monitoring Rule name all (de standaardset), of specifieke regels, bijv. VM CPU, Storage availability
Onderbouwing pull request / wijzigingsrecord
Omgeving spoke-omgeving / subscription
Scope spoke-subscription, resource group of resource
Opmerkingen

De standaardregels aan een spoke toewijzen

  1. Controleer de plaatsing. De managementGroupId van de spoke moet een management group onder landingzones zijn (landingzones_corp, landingzones_online of hun onderliggende groepen). Is dat niet zo, wijzig het dan met Spoke wijzigen.
  2. Controleer of de toewijzing bestaat. In postdeployment.auto.tfvars geldt landingzones.deploy_alerting_landingzone = true.
  3. Verwijder opt-outs. Zorg dat de spoke-subscription en de resources erin niet de tag MonitorDisable met waarde true hebben (zie hieronder).
  4. Remediate bestaande resources. Remediation tasks worden alleen automatisch aangemaakt als automatically_start_policy_remediation = true, en alleen wanneer de toewijzing verandert (ADR-0010). Start er voor een bestaande spoke zelf een:
  5. Azure portal → Policy → Assignments → Xebia Custom - Alerting - Landing Zone → Create remediation task. Zet de scope op de spoke-subscription en remediate elke policy die je nodig hebt. Of:
  6. Azure CLI, per policy reference:

    az policy remediation create \
      --name "rem-alerting-<spoke>-<policy>" \
      --policy-assignment "/providers/Microsoft.Management/managementGroups/<landingzones id>/providers/Microsoft.Authorization/policyAssignments/alerting_landingzone" \
      --definition-reference-id "<policyDefinitionReferenceId>" \
      --subscription "<spoke subscription id>"
    

De standaardregels van een spoke verwijderen

Kies het smalste mechanisme dat past:

Mechanisme Scope Hoe Opmerkingen
MonitorDisable tag subscription, of één resource Voeg "MonitorDisable": "true" toe aan de tags in de spoke-JSON (subscription en canvas-resources), of aan de eigen resources van de workload 76 van de 87 alert definitions slaan resources over waarvan de tag MonitorDisable gelijk is aan true. Regels op subscriptionniveau (service health, resource health, alert processing rule) controleren de tag van de subscription. Resourceregels controleren de tag van de resource zelf. 11 van de 13 VM-alert definitions (Compute/virtualMachines) controleren deze tag niet.
Policy-uitzondering subscription / resource group / resource Uitzondering op de toewijzing alerting_landingzone (zie Policy-toewijzingen → Uitzonderingen) Werkt voor elke definition, inclusief de VM-alerts. Kan beperkt worden tot specifieke policies met policy_definition_ids.
Management group verplaatsen hele subscription managementGroupId buiten landingzones Wijzigt ook welke governance-policies gelden. Meestal niet wat je wilt.

Bestaande alertregels worden door geen van deze mechanismen verwijderd. deployIfNotExists stopt alleen met het aanmaken ervan. Verwijder de reeds uitgerolde regels met de hand: Azure portal → Monitor → Alerts → Alert rules, gefilterd op de spoke-subscription.

Het gedrag van de MonitorDisable tag komt uit de policy definitions zelf. De voorbeeldconfiguraties gebruiken het niet. Test het eerst in canary.

Regels wijzigen voor alle spokes

Het omzetten van deploy_alerting_landingzone verandert de monitoring voor elke subscription onder landingzones. Behandel dat als een platformwijziging, niet als een standaardwijziging per spoke.

Hub 24/7 alert routing

Optioneel, alleen voor hub-resources (ADR-0007). In <env-folder>/<region>/connectivity.auto.tfvars:

hub_247_support = {
  enabled          = true
  webhook_url      = "https://<your-on-call-tool>/webhook/<id>"   # required when enabled
  time_zone        = "W. Europe Standard Time"                    # default
  daily_start_time = "18:00:00"                                   # default
  daily_end_time   = "08:00:00"                                   # default
}

Dit maakt een action group ag-<company>-hub247-<env>-<region>-001 en een alert processing rule apr-<company>-hub247-<env>-<region>-001 aan op de connectivity-subscription. Standaard dekt de regel de alertnamen ResourceHealthUnhealthyAlert en ServiceHealthIncident, voor Firewall-, Virtual WAN-, virtual hub-, VPN gateway- en Application Gateway-resources (variables_hub_247_support.tf).

Controleren

  • Azure portal → Monitor → Alerts → Alert rules, gefilterd op de subscription: er bestaan regels (toewijzen) of er worden geen nieuwe aangemaakt (verwijderen).
  • Policy → Compliance voor Xebia Custom - Alerting - Landing Zone op de subscription.

Terugdraaien

Verwijder de tag of uitzondering, of zet de management group terug, en draai de bijbehorende pipeline. Draai remediation opnieuw om verwijderde regels opnieuw aan te maken.