Intelligens észlelés – Hibarendellenességek
Az alkalmazás Elemzések automatikusan közel valós időben riasztást küld, ha a webalkalmazás rendellenesen emelkedik a sikertelen kérelmek arányában. A sikertelenként jelentett HTTP-kérések vagy függőségi hívások gyakoriságának szokatlan növekedését észleli. A kérelmek esetében a sikertelen kérelmek válaszkódja általában 400 vagy annál magasabb. A probléma osztályozásának és diagnosztizálásának megkönnyítése érdekében a riasztás részleteiben a hibák jellemzőinek és a kapcsolódó alkalmazásadatoknak az elemzése is elérhető. A további diagnosztika érdekében az Alkalmazás Elemzések portálra mutató hivatkozások is találhatók. A szolgáltatásnak nincs szüksége beállításra és konfigurálásra, mivel gépi tanulási algoritmusokkal előrejelzi a normál hibaarányt.
Ez a funkció minden olyan webalkalmazáshoz használható, amely a felhőben vagy a saját kiszolgálóin fut, és amelyek alkalmazáskérelem- vagy függőségi adatokat hoznak létre. Ha például olyan feldolgozói szerepkörrel rendelkezik, amely TrackRequest() vagy TrackDependency()-t hív meg.
Miután beállította az alkalmazás Elemzések a projekthez, és ha az alkalmazás létrehoz egy bizonyos minimális mennyiségű adatot, a hibarendellenességek intelligens észlelése 24 órát vesz igénybe az alkalmazás normál viselkedésének megismeréséhez, mielőtt bekapcsolja, és riasztásokat küldhet.
Íme egy mintariasztás:
A riasztás részletei a következőkről tájékoztatnak:
- A hibaarány a normál alkalmazás viselkedéséhez képest.
- Hány felhasználót érint a probléma , hogy tudja, mennyit kell aggódnia.
- A hibákhoz társított jellemző minta. Ebben a példában egy adott válaszkód, kérelem neve (művelet) és alkalmazásverzió található. Ezzel azonnal megtudhatja, hogy hol kezdje el keresni a kódot. Más lehetőségek lehetnek egy adott böngésző vagy ügyfél operációs rendszer.
- A kivétel, a naplókövetések és a függőségi hiba (adatbázisok vagy más külső összetevők), amelyek úgy tűnik, hogy az jellemző hibákhoz vannak társítva.
- Közvetlenül az Alkalmazás Elemzések adataiban végzett releváns keresésekre mutató hivatkozások.
Az intelligens észlelés előnyei
A szokásos metrikariasztások azt jelzik , hogy probléma merülhet fel. Az intelligens észlelés azonban elindítja a diagnosztikai munkát, és elvégzi a saját maga által egyébként szükséges elemzést. Az eredményeket szépen csomagolja be, így gyorsan megtalálhatja a probléma gyökerét.
Működés
Az intelligens észlelés figyeli az alkalmazástól kapott adatokat, és különösen a meghibásodási arányokat. Ez a szabály megszámolja azoknak a kérelmeknek a számát, amelyeknél a Successful request
tulajdonság hamis, és azon függőségi hívások számát, amelyek esetében a Successful call
tulajdonság hamis. Kérések esetén alapértelmezés szerint (kivéve, Successful request == (resultCode < 400)
ha egyéni kódot ír a saját TrackRequest-hívások szűréséhez vagy létrehozásához).
Az alkalmazás teljesítménye jellemző viselkedési mintával rendelkezik. Egyes kérések vagy függőségi hívások hajlamosabbak a hibákra, mint mások; és a terhelés növekedésével a teljes meghibásodási arány emelkedhet. Az intelligens észlelés gépi tanulással keresi meg ezeket az anomáliákat.
Mivel az adatok a webalkalmazásból érkeznek az Alkalmazás Elemzések, az intelligens észlelés összehasonlítja az aktuális viselkedést az elmúlt néhány napban látott mintákkal. Ha az érzékelő rendellenes hibaarány-emelkedést észlel a korábbi teljesítményhez képest, a detektor részletesebb elemzést indít el.
Amikor egy elemzés aktiválódik, a szolgáltatás fürtelemzést végez a meghiúsult kérésen, hogy azonosítsa a hibákat jellemző értékek mintáját.
A korábban bemutatott példában az elemzés megállapította, hogy a legtöbb hiba egy adott eredménykódról, a kérelem nevéről, a kiszolgáló URL-címének állomásáról és a szerepkörpéldányról szól.
Amikor ezekkel a hívásokkal rendszerezi a szolgáltatást, az elemző kivételt és függőségi hibát keres, amely az azonosított fürt kéréseihez van társítva. Emellett a kérelmekhez társított nyomkövetési naplókra is keres példát. A kapott riasztás tartalmazza ezt a további információt, amely kontextust biztosíthat az észleléshez, és utalhat az észlelt probléma kiváltó okára.
Riasztási logika részletei
A hiba anomáliák észlelése egy szabadalmaztatott gépi tanulási algoritmusra támaszkodik, így a riasztások kilövésének vagy kilövésének okai nem mindig determinisztikusak. Ezzel együtt az algoritmus által használt elsődleges tényezők a következők:
- A kérelmek/függőségek meghibásodási százalékos arányának elemzése egy 20 perces gördülő időkeretben.
- Az elmúlt 20 perc meghibásodási százalékának összehasonlítása az elmúlt 40 percben és az elmúlt hét napban érvényes aránysal. Az algoritmus olyan jelentős eltéréseket keres, amelyek meghaladják a szórás X-szeresét.
- Az algoritmus adaptív korlátot használ a minimális hibaszázalékhoz, amely az alkalmazás kéréseinek/függőségeinek mennyiségétől függően változik.
- Az algoritmus olyan logikát tartalmaz, amely automatikusan meg tudja oldani az aktivált riasztást, ha a probléma már nem észlelhető 8–24 órán keresztül. Megjegyzés: az aktuális tervben. Az intelligens észlelési riasztások feloldásakor a rendszer nem küld értesítést vagy műveletet. Ellenőrizheti, hogy az Intelligens észlelési riasztás feloldva lett-e az Azure Portalon.
Hiba anomáliák riasztási szabályainak kezelése
Riasztási szabály létrehozása
A hiba anomáliák riasztási szabálya automatikusan létrejön az alkalmazás Elemzések erőforrás létrehozásakor. A szabály automatikusan úgy van konfigurálva, hogy elemezze az adott erőforrás telemetriáját. A szabályt ismét létrehozhatja az Azure REST API-val vagy Resource Manager-sablonnal. A szabály létrehozása akkor lehet hasznos, ha a szabály automatikus létrehozása valamilyen okból meghiúsult, vagy ha törölte a szabályt.
Riasztási szabály konfigurálása
A hiba anomáliák riasztási szabályának a portálon való konfigurálásához nyissa meg a Riasztások lapot, és válassza a Riasztási szabályok lehetőséget. A hiba anomáliákra vonatkozó riasztási szabályok mellett a manuálisan beállított riasztásokat is tartalmazza.
Kattintson a riasztási szabályra a konfigurálásához.
Letilthatja az intelligens észlelési riasztási szabályt a portálon vagy egy Azure Resource Manager-sablon használatával.
Ez a riasztási szabály egy "Alkalmazás Elemzések intelligens észlelés" nevű műveletcsoporttal jön létre. Ez a műveletcsoport alapértelmezés szerint e-mailben tartalmazza az Azure Resource Manager szerepkörműveleteit, és értesítést küld azoknak a felhasználóknak, akik figyelési közreműködői vagy figyelési olvasó-előfizetéssel rendelkeznek az előfizetésben. Eltávolíthatja, módosíthatja vagy hozzáadhatja a szabály által aktivált műveletcsoportokat, mint bármely más Azure-riasztási szabály esetében. A riasztási szabályból küldött értesítések a gyakori riasztási sémát követik.
Riasztások törlése
Törölheti a Hiba anomáliák riasztási szabályt.
Ezt manuálisan is megteheti a Riasztási szabályok lapon vagy a következő Azure CLI-paranccsal:
az resource delete --ids <Resource ID of Failure Anomalies alert rule>
Figyelje meg, hogy ha töröl egy alkalmazás Elemzések erőforrást, a társított hibarendellenességek riasztási szabálya nem törlődik automatikusan.
Példa hiba anomáliákra figyelmeztető riasztás webhook hasznos adataira
{
"properties": {
"essentials": {
"severity": "Sev3",
"signalType": "Log",
"alertState": "New",
"monitorCondition": "Resolved",
"monitorService": "Smart Detector",
"targetResource": "/subscriptions/4f9b81be-fa32-4f96-aeb3-fc5c3f678df9/resourcegroups/test-group/providers/microsoft.insights/components/test-rule",
"targetResourceName": "test-rule",
"targetResourceGroup": "test-group",
"targetResourceType": "microsoft.insights/components",
"sourceCreatedId": "1a0a5b6436a9b2a13377f5c89a3477855276f8208982e0f167697a2b45fcbb3e",
"alertRule": "/subscriptions/4f9b81be-fa32-4f96-aeb3-fc5c3f678df9/resourcegroups/test-group/providers/microsoft.alertsmanagement/smartdetectoralertrules/failure anomalies - test-rule",
"startDateTime": "2019-10-30T17:52:32.5802978Z",
"lastModifiedDateTime": "2019-10-30T18:25:23.1072443Z",
"monitorConditionResolvedDateTime": "2019-10-30T18:25:26.4440603Z",
"lastModifiedUserName": "System",
"actionStatus": {
"isSuppressed": false
},
"description": "Failure Anomalies notifies you of an unusual rise in the rate of failed HTTP requests or dependency calls."
},
"context": {
"DetectionSummary": "An abnormal rise in failed request rate",
"FormattedOccurenceTime": "2019-10-30T17:50:00Z",
"DetectedFailureRate": "50.0% (200/400 requests)",
"NormalFailureRate": "0.0% (over the last 30 minutes)",
"FailureRateChart": [
[
"2019-10-30T05:20:00Z",
0
],
[
"2019-10-30T05:40:00Z",
100
],
[
"2019-10-30T06:00:00Z",
0
],
[
"2019-10-30T06:20:00Z",
0
],
[
"2019-10-30T06:40:00Z",
100
],
[
"2019-10-30T07:00:00Z",
0
],
[
"2019-10-30T07:20:00Z",
0
],
[
"2019-10-30T07:40:00Z",
100
],
[
"2019-10-30T08:00:00Z",
0
],
[
"2019-10-30T08:20:00Z",
0
],
[
"2019-10-30T08:40:00Z",
100
],
[
"2019-10-30T17:00:00Z",
0
],
[
"2019-10-30T17:20:00Z",
0
],
[
"2019-10-30T09:00:00Z",
0
],
[
"2019-10-30T09:20:00Z",
0
],
[
"2019-10-30T09:40:00Z",
100
],
[
"2019-10-30T10:00:00Z",
0
],
[
"2019-10-30T10:20:00Z",
0
],
[
"2019-10-30T10:40:00Z",
100
],
[
"2019-10-30T11:00:00Z",
0
],
[
"2019-10-30T11:20:00Z",
0
],
[
"2019-10-30T11:40:00Z",
100
],
[
"2019-10-30T12:00:00Z",
0
],
[
"2019-10-30T12:20:00Z",
0
],
[
"2019-10-30T12:40:00Z",
100
],
[
"2019-10-30T13:00:00Z",
0
],
[
"2019-10-30T13:20:00Z",
0
],
[
"2019-10-30T13:40:00Z",
100
],
[
"2019-10-30T14:00:00Z",
0
],
[
"2019-10-30T14:20:00Z",
0
],
[
"2019-10-30T14:40:00Z",
100
],
[
"2019-10-30T15:00:00Z",
0
],
[
"2019-10-30T15:20:00Z",
0
],
[
"2019-10-30T15:40:00Z",
100
],
[
"2019-10-30T16:00:00Z",
0
],
[
"2019-10-30T16:20:00Z",
0
],
[
"2019-10-30T16:40:00Z",
100
],
[
"2019-10-30T17:30:00Z",
50
]
],
"ArmSystemEventsRequest": "/subscriptions/4f9b81be-fa32-4f96-aeb3-fc5c3f678df9/resourceGroups/test-group/providers/microsoft.insights/components/test-rule/query?query=%0d%0a++++++++++++++++systemEvents%0d%0a++++++++++++++++%7c+where+timestamp+%3e%3d+datetime(%272019-10-30T17%3a20%3a00.0000000Z%27)+%0d%0a++++++++++++++++%7c+where+itemType+%3d%3d+%27systemEvent%27+and+name+%3d%3d+%27ProactiveDetectionInsight%27+%0d%0a++++++++++++++++%7c+where+dimensions.InsightType+in+(%275%27%2c+%277%27)+%0d%0a++++++++++++++++%7c+where+dimensions.InsightDocumentId+%3d%3d+%27718fb0c3-425b-4185-be33-4311dfb4deeb%27+%0d%0a++++++++++++++++%7c+project+dimensions.InsightOneClassTable%2c+%0d%0a++++++++++++++++++++++++++dimensions.InsightExceptionCorrelationTable%2c+%0d%0a++++++++++++++++++++++++++dimensions.InsightDependencyCorrelationTable%2c+%0d%0a++++++++++++++++++++++++++dimensions.InsightRequestCorrelationTable%2c+%0d%0a++++++++++++++++++++++++++dimensions.InsightTraceCorrelationTable%0d%0a++++++++++++&api-version=2018-04-20",
"LinksTable": [
{
"Link": "<a href=\"https://portal.azure.com/#blade/AppInsightsExtension/ProactiveDetectionFeedBlade/ComponentId/{\"SubscriptionId\":\"4f9b81be-fa32-4f96-aeb3-fc5c3f678df9\",\"ResourceGroup\":\"test-group\",\"Name\":\"test-rule\"}/SelectedItemGroup/718fb0c3-425b-4185-be33-4311dfb4deeb/SelectedItemTime/2019-10-30T17:50:00Z/InsightType/5\" target=\"_blank\">View full details in Application Insights</a>"
}
],
"SmartDetectorId": "FailureAnomaliesDetector",
"SmartDetectorName": "Failure Anomalies",
"AnalysisTimestamp": "2019-10-30T17:52:32.5802978Z"
},
"egressConfig": {
"displayConfig": [
{
"rootJsonNode": null,
"sectionName": null,
"displayControls": [
{
"property": "DetectionSummary",
"displayName": "What was detected?",
"type": "Text",
"isOptional": false,
"isPropertySerialized": false
},
{
"property": "FormattedOccurenceTime",
"displayName": "When did this occur?",
"type": "Text",
"isOptional": false,
"isPropertySerialized": false
},
{
"property": "DetectedFailureRate",
"displayName": "Detected failure rate",
"type": "Text",
"isOptional": false,
"isPropertySerialized": false
},
{
"property": "NormalFailureRate",
"displayName": "Normal failure rate",
"type": "Text",
"isOptional": false,
"isPropertySerialized": false
},
{
"chartType": "Line",
"xAxisType": "Date",
"yAxisType": "Percentage",
"xAxisName": "",
"yAxisName": "",
"property": "FailureRateChart",
"displayName": "Failure rate over last 12 hours",
"type": "Chart",
"isOptional": false,
"isPropertySerialized": false
},
{
"defaultLoad": true,
"displayConfig": [
{
"rootJsonNode": null,
"sectionName": null,
"displayControls": [
{
"showHeader": false,
"columns": [
{
"property": "Name",
"displayName": "Name"
},
{
"property": "Value",
"displayName": "Value"
}
],
"property": "tables[0].rows[0][0]",
"displayName": "All of the failed requests had these characteristics:",
"type": "Table",
"isOptional": false,
"isPropertySerialized": true
}
]
}
],
"property": "ArmSystemEventsRequest",
"displayName": "",
"type": "ARMRequest",
"isOptional": false,
"isPropertySerialized": false
},
{
"showHeader": false,
"columns": [
{
"property": "Link",
"displayName": "Link"
}
],
"property": "LinksTable",
"displayName": "Links",
"type": "Table",
"isOptional": false,
"isPropertySerialized": false
}
]
}
]
}
},
"id": "/subscriptions/4f9b81be-fa32-4f96-aeb3-fc5c3f678df9/resourcegroups/test-group/providers/microsoft.insights/components/test-rule/providers/Microsoft.AlertsManagement/alerts/7daf8739-ca8a-4562-b69a-ff28db4ba0a5",
"type": "Microsoft.AlertsManagement/alerts",
"name": "Failure Anomalies - test-rule"
}
Riasztás osztályozása és diagnosztizálása
A riasztás azt jelzi, hogy a rendszer rendellenes emelkedést észlelt a sikertelen kérelmek arányában. Valószínű, hogy probléma van az alkalmazással vagy a környezetével.
A további vizsgálathoz kattintson a "Teljes részletek megtekintése az Alkalmazás Elemzések" elemre. Az ezen a lapon található hivatkozások közvetlenül a releváns kérésekre, kivételekre, függőségekre vagy nyomkövetésekre szűrt keresési lapra vezetnek. A további vizsgálathoz kattintson a "Teljes adatok megtekintése az Alkalmazás Elemzések" elemre. Az ezen a lapon található hivatkozások közvetlenül a releváns kérésekre, kivételekre, függőségekre vagy nyomkövetésekre szűrt keresőlapra viszik.
Megnyithatja az Azure Portalt is, megnyithatja az Alkalmazás Elemzések erőforrást az alkalmazáshoz, és megnyithatja a Hibák lapot.
A hibák diagnosztizálása gombra kattintva további részletekhez juthat, és megoldhatja a problémát.
A kérelmek százalékos aránya és az érintett felhasználók száma alapján eldöntheti, hogy milyen sürgős a probléma. Az előző példában a 78,5%-os hibaarány a normál 2,2%-os rátával hasonlítható össze, ami azt jelzi, hogy valami rossz történik. Ezzel szemben csak 46 felhasználó érintett. Ezek az információk segíthetnek felmérni a probléma súlyosságát.
Sok esetben gyorsan diagnosztizálhatja a problémát a kérelem nevéből, kivételéből, függőségi hibájából és a megadott nyomkövetési adatokból.
Ebben a példában kivétel történt az SQL Database-ből a kérelemkorlát elérése miatt.
Legutóbbi riasztások áttekintése
Kattintson az Alkalmazás Elemzések erőforráslap Riasztások gombjára a legutóbbi aktivált riasztások eléréséhez:
Ha intelligens észlelési riasztást kap
Miért kaptam ezt a riasztást?
- A sikertelen kérelmek arányának rendellenes növekedését észleltük az előző időszak normál alapkonfigurációhoz képest. A hibák és a kapcsolódó alkalmazásadatok elemzése után úgy gondoljuk, hogy van egy probléma, amelyet meg kell vizsgálnia.
Az értesítés azt jelenti, hogy egyértelműen problémám van?
- Megpróbálunk riasztást adni az alkalmazások megszakadásával vagy romlásával kapcsolatban, de csak Ön tudja teljes mértékben megérteni az alkalmazásra vagy felhasználókra gyakorolt szemantikát és hatást.
Szóval az alkalmazásadataimat nézem?
Elő kell fizetnem erre a riasztásra?
- Szám Minden kérelemadatokat küldő alkalmazás rendelkezik intelligens észlelési riasztási szabmával.
Leiratkozhatok vagy lekérhetem a munkatársaimnak küldött értesítéseket?
- Igen, a riasztási szabályokban kattintson az intelligens észlelési szabályra a konfigurálásához. Letilthatja a riasztást, vagy módosíthatja a riasztás címzettjeinek nevét.
Elvesztettem az e-mailt. Hol találom az értesítéseket a portálon?
- A hiba anomáliákra vonatkozó riasztásokat az Azure Portalon, az Alkalmazás Elemzések riasztások oldalán találja.
Egyes riasztások ismert problémákról szólnak, és nem szeretném őket megkapni.
- A riasztási műveleti szabályok letiltási funkcióját használhatja.
Következő lépések
Ezek a diagnosztikai eszközök segítenek az alkalmazás adatainak vizsgálatában:
Az intelligens észlelések automatikusak. De lehet, hogy szeretne még néhány riasztást beállítani?