Kurz: Povolení oznámení o anomáliích v Advisoru pro metriky

Důležité

Od 20. září 2023 nebudete moct vytvářet nové prostředky Advisoru pro metriky. Služba Metrics Advisor se 1. října 2026 vyřadí z provozu.

V tomto kurzu se naučíte:

  • Vytvoření háku v Advisoru pro metriky
  • Odesílání oznámení pomocí Azure Logic Apps
  • Odesílání oznámení do Microsoft Teams
  • Odesílání oznámení přes server SMTP

Předpoklady

Vytvoření prostředku Advisoru pro metriky

Pokud chcete prozkoumat možnosti Advisoru pro metriky, možná budete muset vytvořit prostředek Advisoru metrik na webu Azure Portal, abyste mohli nasadit instanci Metrics Advisoru.

Vytvoření háku v Advisoru pro metriky

Hook v Metrics Advisoru je most, který zákazníkům umožňuje přihlásit se k odběru anomálií metrik a odesílat oznámení prostřednictvím různých kanálů. V Advisoru pro metriky existují čtyři typy háků:

  • E-mailový háček
  • Webhook
  • Háček Teams
  • Háček Azure DevOps

Každý typ háku odpovídá určitému kanálu, prostřednictvím kterého bude anomálie upozorněna.

Odesílání oznámení pomocí Azure Logic Apps, Teams a SMTP

Odesílání e-mailových oznámení pomocí Azure Logic Apps

Existují dvě běžné možnosti odesílání e-mailových oznámení, která jsou podporována v Advisoru pro metriky. Jedním z nich je použití webhooků a Azure Logic Apps k odesílání e-mailových upozornění, druhý je nastavit server SMTP a použít ho k přímému odesílání e-mailových upozornění. Tato část se zaměří na první možnost, která je pro zákazníky, kteří nemají dostupný server SMTP, jednodušší.

Krok 1: Vytvoření webhooku v Advisoru pro metriky

Webhook je vstupním bodem všech informací dostupných ze služby Metrics Advisor a při aktivaci výstrahy volá rozhraní API poskytované uživatelem. Všechna upozornění se dají odesílat prostřednictvím webhooku.

V pracovním prostoru Poradce pro metriky vyberte kartu Hooks a vyberte tlačítko Vytvořit háček. Zvolte typ háku webhoku. Vyplňte požadované parametry a vyberte OK. Podrobný postup najdete v tématu vytvoření webhooku.

Je tu ještě jeden další parametr koncového bodu , který je potřeba vyplnit, můžete to udělat po dokončení kroku 3 níže.

Krok 2: Vytvoření prostředku aplikace logiky Consumption

Na webu Azure Portal vytvořte prostředek aplikace logiky Consumption s prázdným pracovním postupem podle pokynů v části Vytvoření ukázkového pracovního postupu aplikace logiky Consumption. Až se otevře návrhář pracovního postupu, vraťte se do tohoto kurzu.

Krok 3: Přidání triggeru při přijetí požadavku HTTP

  • Azure Logic Apps používá k aktivaci definovaných pracovních postupů různé akce. V tomto případě použití používá trigger s názvem Při přijetí požadavku HTTP.

  • V dialogovém okně Při přijetí požadavku HTTP vyberte Použít ukázkovou datovou část k vygenerování schématu.

    Screenshot that shows the When an HTTP request dialog box and the Use sample payload to generate schema option selected.

    Zkopírujte následující ukázkový KÓD JSON do textového pole a vyberte Hotovo.

    {
    "properties": {
        "value": {
            "items": {
                "properties": {
                    "alertInfo": {
                        "properties": {
                            "alertId": {
                                "type": "string"
                            },
                            "anomalyAlertingConfigurationId": {
                                "type": "string"
                            },
                            "createdTime": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "alertType": {
                        "type": "string"
                    },
                    "callBackUrl": {
                        "type": "string"
                    },
                    "hookId": {
                        "type": "string"
                    }
                },
                "required": [
                    "hookId",
                    "alertType",
                    "alertInfo",
                    "callBackUrl"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
     }
    
  • Zvolte metodu POST a vyberte Uložit. Teď můžete vidět adresu URL triggeru požadavku HTTP. Výběrem ikony kopírování ho zkopírujte a v kroku 1 ho znovu vyplňte do koncového bodu .

    Screenshot that highlights the copy icon to copy the URL of your HTTP request trigger.

Krok 4: Přidání dalšího kroku pomocí akce HTTP

Signály, které jsou nabízeny prostřednictvím webhooku, obsahují pouze omezené informace, jako je časové razítko, id výstrahy, id konfigurace atd. Podrobné informace je potřeba dotazovat pomocí adresy URL zpětného volání zadané v signálu. Tento krok slouží k dotazování podrobných informací o upozorněních.

  • Volba metody GET

  • V seznamu Dynamický obsah v identifikátoru URI vyberte callBackURL.

  • Zadejte klíč content-type do záhlaví a zadejte hodnotu application/json.

  • Do záhlaví zadejte klíč x-api-key a získejte ho kliknutím na tlačítko Klíče rozhraní API v pracovním prostoru Advisoru pro metriky. Tento krok spočívá v tom, že pracovní postup má dostatečná oprávnění pro volání rozhraní API.

    Screenshot that highlights the api-keys

Krok 5: Přidání dalšího kroku k analýze JSON

Pro snadnější formátování e-mailového obsahu je potřeba analyzovat odpověď rozhraní API.

Poznámka:

Tento kurz sdílí jenom rychlý příklad, konečný formát e-mailu je potřeba dále navrhnout.

  • V seznamu Dynamický obsah v části Obsah vyberte Text.
  • Výběr možnosti Použít ukázkovou datovou část k vygenerování schématu Zkopírujte následující ukázkový KÓD JSON do textového pole a vyberte Hotovo.
{
    "properties": {
        "@@nextLink": {},
        "value": {
            "items": {
                "properties": {
                    "properties": {
                        "properties": {
                            "IncidentSeverity": {
                                "type": "string"
                            },
                            "IncidentStatus": {
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "rootNode": {
                        "properties": {
                            "createdTime": {
                                "type": "string"
                            },
                            "detectConfigGuid": {
                                "type": "string"
                            },
                            "dimensions": {
                                "properties": {
                                },
                                "type": "object"
                            },
                            "metricGuid": {
                                "type": "string"
                            },
                            "modifiedTime": {
                                "type": "string"
                            },
                            "properties": {
                                "properties": {
                                    "AnomalySeverity": {
                                        "type": "string"
                                    },
                                    "ExpectedValue": {}
                                },
                                "type": "object"
                            },
                            "seriesId": {
                                "type": "string"
                            },
                            "timestamp": {
                                "type": "string"
                            },
                            "value": {
                                "type": "number"
                            }
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "rootNode",
                    "properties"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}

Krok 6: Přidání dalšího kroku k vytvoření tabulky HTML

Z volání rozhraní API se vrátila spousta informací, ale v závislosti na vašich scénářích nemusí být všechny informace užitečné. Zvolte položky, o které vám záleží, a chcete je zahrnout do e-mailu s upozorněním.

Níže je příklad tabulky HTML, která zvolí časové razítko, metricGUID a dimension, které se mají zahrnout do e-mailu s upozorněním.

Screenshot of html table example

Krok 7: Přidání posledního kroku k odeslání e-mailu

Existuje několik možností, jak odesílat e-maily, a to jak nabídky Microsoftu hostované, tak nabídky třetích stran. Zákazník může pro zvolenou možnost potřebovat tenanta nebo účet. Když například jako server zvolíte Office 365 Outlook. Proces přihlášení se načerpá pro sestavení připojení a autorizaci. Vytvoří se připojení rozhraní API pro odesílání výstrah pomocí e-mailového serveru.

Vyplňte obsah, který chcete zahrnout do textu, Předmět v e-mailu a vyplňte e-mailovou adresu v části To.

Screenshot of send an email

Další kroky

V dalším článku se dozvíte, jak vytvořit.