{"id":29528,"date":"2024-11-25T05:00:00","date_gmt":"2024-11-25T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=29528"},"modified":"2025-02-26T15:32:43","modified_gmt":"2025-02-26T14:32:43","slug":"monitorowanie-srodowisk-d365-finance-operations-w-azure-application-insights","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/monitorowanie-srodowisk-d365-finance-operations-w-azure-application-insights\/","title":{"rendered":"Monitorowanie \u015brodowisk D365 Finance &amp; Operations w Azure Application Insights"},"content":{"rendered":"\n<p>Zarz\u0105dzanie wieloma \u015brodowiskami <a href=\"https:\/\/sii.pl\/oferta\/enterprise-platforms\/microsoft\/dynamics-365-erp\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Dynamics 365<\/a> Finance jest ogromnym wyzwaniem. Wymaga efektywnego monitorowania wydajno\u015bci, wdro\u017ce\u0144 czy wynik\u00f3w test\u00f3w automatycznych. Azure Application Insights to kompleksowe narz\u0119dzie, kt\u00f3re pozwala nie tylko na szczeg\u00f3\u0142ow\u0105 analiz\u0119 danych telemetrycznych, ale r\u00f3wnie\u017c na ich wizualizacj\u0119 w formie intuicyjnych dashboard\u00f3w.<\/p>\n\n\n\n<p>Uruchomienie funkcji Monitoring and Telemetry pozwoli nam identyfikowa\u0107 problemy oraz \u015bledzi\u0107 ruch u\u017cytkownik\u00f3w w aplikacji Dynamics 365 Finance, ale nie jest wystarczaj\u0105ce. Wdro\u017cone w naszym <a href=\"https:\/\/sii.pl\/oferta\/enterprise-platforms\/microsoft\/dynamics-365\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Centrum Kompetencyjnym Dynamics 365<\/a> rozwi\u0105zanie, <strong>automatycznie przesy\u0142a dane telemetryczne do Application Insights z kluczowych etap\u00f3w<\/strong> \u2013 od build\u00f3w po testy automatyczne (RSAT). Dodatkowo integruje Azure Monitor, co pozwala na \u015bledzenie zasob\u00f3w i wydajno\u015bci \u015brodowisk Tier 1. Dzi\u0119ki temu <strong>mo\u017cemy w pe\u0142nimonitorowa\u0107 procesy wdro\u017ceniowe<\/strong>.<\/p>\n\n\n\n<p>W artykule opisz\u0119 te rozwi\u0105zania oraz przedstawi\u0119 kilka prostych przyk\u0142ad\u00f3w <strong>wykorzystania zapyta\u0144 KQL<\/strong>, kt\u00f3re u\u0142atwi\u0105 analizowanie danych telemetrycznych w Azure Application Insights.<\/p>\n\n\n\n<p>W poni\u017cszym tek\u015bcie prezentowane s\u0105 dane ze \u015brodowisk testowych Centrum Kompetencyjnego.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitorowanie danych z aplikacji<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1.png\"><img decoding=\"async\" width=\"1024\" height=\"391\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1-1024x391.png\" alt=\"Monitorowanie danych z aplikacji\" class=\"wp-image-29529\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1-1024x391.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1-300x115.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1-768x293.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1-1536x586.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image1-1.png 1810w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 Monitorowanie danych z aplikacji<\/figcaption><\/figure>\n\n\n\n<p>Feature Monitoring and telemetry przesy\u0142a dane telemetryczne takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FormRun form loads,<\/li>\n\n\n\n<li>X++ Exceptions,<\/li>\n\n\n\n<li>X++ custom events,<\/li>\n\n\n\n<li>X++ custom metrics.<\/li>\n<\/ul>\n\n\n\n<p>To pozwala mi\u0119dzy innymi na \u015bledzenie wyj\u0105tk\u00f3w, liczb\u0119 wy\u015bwietle\u0144 stron czy sesji u\u017cytkownik\u00f3w w aplikacji Dynamics 365 Finance nad Operations.<br><br>Aby skorzysta\u0107 z tej funkcji, nale\u017cy:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>W\u0142\u0105czy\u0107 Monitoring and Telemetry w module Feature Management.<\/li>\n\n\n\n<li>Utworzy\u0107 Application Insights w Azure i skopiowa\u0107 Instrumentation Key.<\/li>\n\n\n\n<li>Skonfigurowa\u0107 integracj\u0119 z Azure Application Insights, przechodz\u0105c do: System Administration \u2192 Setup \u2192 Monitoring and Telemetry Parameters.<\/li>\n<\/ol>\n\n\n\n<p>Wi\u0119cej szczeg\u00f3\u0142\u00f3w znajdziesz <a href=\"https:\/\/learn.microsoft.com\/en-us\/dynamics365\/fin-ops-core\/dev-itpro\/sysadmin\/monitoring-and-telemetry-appinsights#enable-the-feature\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >w oficjalnej dokumentacji<\/a>.<br><br>Ta funkcja umo\u017cliwia tak\u017ce monitorowanie \u015brodowisk produkcyjnych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitorowanie wielu \u015brodowisk<\/strong><\/h2>\n\n\n\n<p>Ni\u017cej znajdziecie przyk\u0142ad monitorowania trzech r\u00f3\u017cnych \u015brodowisk jednocze\u015bnie, ilustruj\u0105cy, jak mo\u017cna wykorzysta\u0107 dane telemetryczne do analizy i rozwi\u0105zywania problem\u00f3w w \u015brodowiskach <a href=\"https:\/\/sii.pl\/oferta\/enterprise-platforms\/microsoft\/dynamics-365-erp\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Dynamics 365<\/a> Finance.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1.png\"><img decoding=\"async\" width=\"1024\" height=\"475\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1-1024x475.png\" alt=\"Weryfikacja ilo\u015bci wyj\u0105tk\u00f3w na godzin\u0119 dla trzech \u015brodowisk (KQL)\" class=\"wp-image-29531\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1-1024x475.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1-300x139.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1-768x356.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image2-1.png 1126w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 Weryfikacja ilo\u015bci wyj\u0105tk\u00f3w na godzin\u0119 dla trzech \u015brodowisk (KQL)<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nunion\n  app(&quot;ECOMSIID365CC&quot;).exceptions,\n  app(&quot;SATSIID365CC&quot;).exceptions,\n  app(&quot;PRODSIID365CC&quot;).exceptions\n| summarize itemcount = count() by bin(timestamp, 1h), appName\n| project timestamp, itemcount, appName\n| render columnchart\n<\/pre><\/div>\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1.png\"><img decoding=\"async\" width=\"1024\" height=\"169\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1-1024x169.png\" alt=\"Wy\u015bwietlenia stron, zalogowani u\u017cytkownicy oraz ilo\u015b\u0107 sesji na u\u017cytkownika\" class=\"wp-image-29533\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1-1024x169.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1-300x49.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1-768x127.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1-1536x253.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image3-1.png 1808w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 Wy\u015bwietlenia stron, zalogowani u\u017cytkownicy oraz ilo\u015b\u0107 sesji na u\u017cytkownika<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1.png\"><img decoding=\"async\" width=\"1024\" height=\"126\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1-1024x126.png\" alt=\"Tabela z wyj\u0105tkami, zawieraj\u0105ca opis zdarzenia, numer Batch Joba i u\u017cytkownika wykonuj\u0105cego\" class=\"wp-image-29535\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1-1024x126.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1-300x37.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1-768x95.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image4-1.png 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 Tabela z wyj\u0105tkami, zawieraj\u0105ca opis zdarzenia, numer Batch Joba i u\u017cytkownika wykonuj\u0105cego<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitorowanie Build, Release oraz RSAT<\/strong><\/h2>\n\n\n\n<p>W celu automatycznego przesy\u0142ania danych do Application Insights, <a href=\"https:\/\/github.com\/keithbabinec\/AzurePowerShellUtilityFunctions\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >u\u017cy\u0142em modu\u0142u PowerShell opartego na licencji MIT<\/a>. Przygotowa\u0142em odpowiednie skrypty, kt\u00f3re uruchamiane s\u0105 w Pipeline podczas proces\u00f3w Build, Test i Release w Azure DevOps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Przekazywanie danych do Application Insights \u2013 Build i Release<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1.png\"><img decoding=\"async\" width=\"1024\" height=\"128\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1-1024x128.png\" alt=\"Przekazywanie danych do Application Insights \" class=\"wp-image-29537\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1-1024x128.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1-300x37.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1-768x96.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1-1536x192.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image5-1.png 1802w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 5 Przekazywanie danych do Application Insights<\/figcaption><\/figure>\n\n\n\n<p>Dane o statusach build\u00f3w i release s\u0105 przesy\u0142ane do Application Insights za pomoc\u0105 skryptu, kt\u00f3ry zosta\u0142 osadzony jako zadanie pomi\u0119dzy poszczeg\u00f3lnymi krokami builda oraz release w Azure Pipelines. Wykorzystuje on zmienne \u015brodowiskowe okre\u015blaj\u0105ce BuildId, nazw\u0119 release czy status wykonania danego kroku.<br><br>Status wykonania build lub release (success\/fail) okre\u015blany jest na podstawie zako\u0144czenia danego etapu. Na przyk\u0142ad:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Je\u015bli krok build zako\u0144czy\u0142 si\u0119 pomy\u015blnie, przesy\u0142ana jest informacja o sukcesie (Success).<\/li>\n\n\n\n<li>Je\u015bli wyst\u0105pi\u0142 b\u0142\u0105d, wysy\u0142any jest status pora\u017cki (Fail).<\/li>\n<\/ul>\n\n\n\n<p>Pobieraj\u0105c dat\u0119 do zmiennej przed rozpocz\u0119ciem kroku build, mo\u017cemy tak\u017ce \u015bledzi\u0107 ca\u0142kowity czasu trwania build.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przekazanie danych do Application Insights \u2013 RSAT<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1.png\"><img decoding=\"async\" width=\"1024\" height=\"345\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1-1024x345.png\" alt=\"Przekazanie danych do Application Insights \u2013 RSAT\" class=\"wp-image-29539\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1-1024x345.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1-300x101.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1-768x259.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1-1536x518.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image6-1.png 1819w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 6 Przekazanie danych do Application Insights \u2013 RSAT<\/figcaption><\/figure>\n\n\n\n<p>W celu automatyzacji monitorowania wynik\u00f3w test\u00f3w RSAT napisa\u0142em skrypt w PowerShell, kt\u00f3ry pobiera dane z Azure DevOps Test Plans.<\/p>\n\n\n\n<p>Po wykonaniu kroku test\u00f3w RSAT w pipeline skrypt pobiera wyniki dla ostatniego TestRunID, wykonuj\u0105c zapytanie do API. Dla ka\u017cdego TestCaseID uzyskane s\u0105 szczeg\u00f3\u0142owe informacje, takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>TestSuite,<\/li>\n\n\n\n<li>czas wykonania testu,<\/li>\n\n\n\n<li>wynik testu.<\/li>\n<\/ul>\n\n\n\n<p>Nast\u0119pnie, przy u\u017cyciu modu\u0142u AzurePowerShellUtilityFunctions, dane te s\u0105 przesy\u0142ane do Application Insights jako zdarzenia telemetryczne, a szczeg\u00f3\u0142y test\u00f3w s\u0105 dodawane jako Custom Properties. Dzi\u0119ki temu mo\u017cliwe jest monitorowanie wynik\u00f3w poszczeg\u00f3lnych test\u00f3w oraz ich wizualizacja na dashboardach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zapytania KQL<\/strong><\/h3>\n\n\n\n<p>Dzi\u0119ki zapytaniom KQL mo\u017cemy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przefiltrowa\u0107 wyniki test\u00f3w, opieraj\u0105c si\u0119 na specyficznych ID test\u00f3w, nazwach zestaw\u00f3w test\u00f3w (Test Suite) oraz ich wynikach (Outcome).<\/li>\n\n\n\n<li>Analizowa\u0107 wyniki test\u00f3w dla r\u00f3\u017cnych TestRunID, czyli sesji testowych.<\/li>\n\n\n\n<li>Przeprowadza\u0107 analiz\u0119 procentow\u0105 wynik\u00f3w test\u00f3w dla r\u00f3\u017cnych zestaw\u00f3w test\u00f3w (np. \u201eProdukty\u201d i \u201eStandard\u201d).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image7-1.png\"><img decoding=\"async\" width=\"514\" height=\"469\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image7-1.png\" alt=\"Procentowy podzia\u0142 wynik\u00f3w test\u00f3w\" class=\"wp-image-29541\" style=\"width:364px;height:auto\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image7-1.png 514w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image7-1-300x274.png 300w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 7 Procentowy podzia\u0142 wynik\u00f3w test\u00f3w<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncustomEvents\n| where name == &quot;RSAT&quot;\n| extend Outcome = tostring(customDimensions&#x5B;&quot;Outcome&quot;])\n| summarize Count = count() by Outcome\n| render piechart\n<\/pre><\/div>\n\n\n<p>Procentowy podzia\u0142 wynik\u00f3w test\u00f3w \u2013 zapytanie zlicza wyniki test\u00f3w i pokazuje liczb\u0119 sukces\u00f3w (Passed) i pora\u017cek (Failed) na wykresie ko\u0142owym \u2013 KQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Monitorowanie wydajno\u015bci i zasob\u00f3w<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1.png\"><img decoding=\"async\" width=\"1024\" height=\"339\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1-1024x339.png\" alt=\"Monitorowanie wydajno\u015bci i zasob\u00f3w\" class=\"wp-image-29543\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1-1024x339.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1-300x99.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1-768x255.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image8-1.png 1388w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 8 Monitorowanie wydajno\u015bci i zasob\u00f3w<\/figcaption><\/figure>\n\n\n\n<p>W przypadku \u015brodowisk Tier 1 Cloud-Hosted, monitorowanie wydajno\u015bci i zasob\u00f3w maszyn jest mo\u017cliwe dzi\u0119ki integracji z Azure Monitor.<br><br>Ju\u017c po wst\u0119pnej konfiguracji automatycznie generowany jest Workbook z wykresami na podstawie danych telemetrycznych dotycz\u0105ce wydajno\u015bci maszyn. Kluczowe wska\u017aniki, takie jak wykorzystanie procesora (CPU utilization), dost\u0119pna pami\u0119\u0107 (Available memory) czy operacje dyskowe (Logical Disk IOPS) mo\u017cna przypi\u0105\u0107 bezpo\u015brednio do dashboardu Application Insights.<br><br>Dzi\u0119ki zastosowaniu Data Collection Rules (DCR) mo\u017cna precyzyjnie okre\u015bli\u0107, jakie dane maj\u0105 by\u0107 zbierane przez Azure Monitor. Przyk\u0142adowe metryki, kt\u00f3re mog\u0105 by\u0107 monitorowane, to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Obci\u0105\u017cenie procesora (CPU utilization) \u2013 umo\u017cliwia analiz\u0119 stopnia wykorzystania procesora przez \u015brodowisko.<\/li>\n\n\n\n<li>Dost\u0119pna pami\u0119\u0107 (Available memory) \u2013 wskazuje, ile pami\u0119ci RAM pozosta\u0142o do dyspozycji aplikacji.<\/li>\n\n\n\n<li>Zaj\u0119to\u015b\u0107 dysk\u00f3w.<\/li>\n\n\n\n<li>Event Log \u2013 umo\u017cliwia identyfikacj\u0119 b\u0142\u0119d\u00f3w systemowych lub aplikacyjnych.<\/li>\n<\/ul>\n\n\n\n<p>Dane te s\u0105 dost\u0119pne w Application Insights jako InsightsMetrics, co umo\u017cliwia ich filtrowanie i wizualizacj\u0119 za pomoc\u0105 zapyta\u0144 KQL.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1.png\"><img decoding=\"async\" width=\"1024\" height=\"255\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1-1024x255.png\" alt=\"Wykres zdarze\u0144 dziennika Application i System na ka\u017cd\u0105 godzin\u0119 \u2013 KQL\" class=\"wp-image-29545\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1-1024x255.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1-300x75.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1-768x191.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1-1536x383.png 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/image9-1.png 1814w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 9 Wykres zdarze\u0144 dziennika Application i System na ka\u017cd\u0105 godzin\u0119 \u2013 KQL<\/figcaption><\/figure>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nEvent\n| where EventLog == &quot;Application&quot; or EventLog == &quot;System&quot;\n| project TimeGenerated, EventLog\n| summarize EventCount= count() by bin(TimeGenerated, 1h), EventLog\n| render columnchart\n<\/pre><\/div>\n\n\n<p>Generowanie kolumnowego wykresu zdarze\u0144 dziennika Application i System na ka\u017cd\u0105 godzin\u0119 \u2013 KQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Alerty<\/strong><\/h2>\n\n\n\n<p>Rozbudowanie monitorowania o alerty w Application Insights i Azure Monitor dodatkowo podnosi efektywno\u015b\u0107 zarz\u0105dzania \u015brodowiskiem. Dzi\u0119ki temu mo\u017cna skonfigurowa\u0107 powiadomienia w przypadku:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>nadmiernego obci\u0105\u017cenia CPU,<\/li>\n\n\n\n<li>ko\u0144cz\u0105cego si\u0119 miejsca na dysku,<\/li>\n\n\n\n<li>b\u0142\u0119d\u00f3w w aplikacji,<\/li>\n\n\n\n<li>nieprawid\u0142owego wykonania test\u00f3w RSAT.<\/li>\n<\/ul>\n\n\n\n<p>Takie podej\u015bcie pozwala na <strong>szybkie reagowanie na potencjalne problemy<\/strong> i zapewnienie ci\u0105g\u0142o\u015bci dzia\u0142ania \u015brodowisk Dynamics 365 Finance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Monitorowanie \u015brodowisk <a href=\"https:\/\/sii.pl\/oferta\/enterprise-platforms\/microsoft\/dynamics-365-erp\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Dynamics 365<\/a> Finance za pomoc\u0105 Azure Application Insights zapewnia wgl\u0105d w wydajno\u015b\u0107, procesy wdro\u017ceniowe oraz dzia\u0142anie aplikacji. <strong>Zapytania KQL daj\u0105 elastyczno\u015b\u0107 w analizowaniu danych<\/strong>, umo\u017cliwiaj\u0105c tworzenie wizualizacji, takich jak procentowy podzia\u0142 wynik\u00f3w test\u00f3w czy szczeg\u00f3\u0142owe analizy wydajno\u015bci. Odpowiednio przygotowany dashboard pozwala r\u00f3wnie\u017c monitorowa\u0107 inne powi\u0105zane zasoby. Co wi\u0119cej \u2013 umo\u017cliwia zarz\u0105dzanie nimi bezpo\u015brednio z tego poziomu, na przyk\u0142ad w\u0142\u0105czanie lub wy\u0142\u0105czanie maszyn wirtualnych czy uruchamianie i zatrzymywanie Logic Apps.<\/p>\n\n\n\n<p>Warto pami\u0119ta\u0107, \u017ce korzystanie z Azure Application Insights samo w sobie nie generuje koszt\u00f3w, ale przechowywanie danych w Log Analitycs Workspaces wi\u0105\u017ce si\u0119 z <strong>op\u0142atami za zu\u017cycie<\/strong>, kt\u00f3re mo\u017cna kontrolowa\u0107, ustawiaj\u0105c dzienny limit (daily cap), o kt\u00f3rych <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/azure-monitor\/logs\/daily-cap\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >wi\u0119cej dowiesz si\u0119 ze strony Microsoftu<\/a>. &nbsp;<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p>Je\u017celi interesuje Ci\u0119 tematyka Dynamics 365, zajrzyj koniecznie <a href=\"https:\/\/sii.pl\/blog\/all\/dynamics-365\/\" target=\"_blank\" aria-label=\"do innych artyku\u0142\u00f3w naszych ekspert\u00f3w (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">do innych artyku\u0142\u00f3w naszych ekspert\u00f3w<\/a>. <\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;29528&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;26&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;4.9&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;4.9\\\/5 ( votes: 26)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Monitorowanie \u015brodowisk D365 Finance \\u0026amp; Operations w Azure Application Insights&quot;,&quot;width&quot;:&quot;136.6&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 136.6px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            4.9\/5 ( votes: 26)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Zarz\u0105dzanie wieloma \u015brodowiskami Dynamics 365 Finance jest ogromnym wyzwaniem. Wymaga efektywnego monitorowania wydajno\u015bci, wdro\u017ce\u0144 czy wynik\u00f3w test\u00f3w automatycznych. Azure Application &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/monitorowanie-srodowisk-d365-finance-operations-w-azure-application-insights\/\">Continued<\/a><\/p>\n","protected":false},"author":644,"featured_media":29547,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[2747,1546,1512,576,1032,646],"class_list":["post-29528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-azure-application-insights","tag-przeglad-narzedzi","tag-poradnik","tag-dynamics-365","tag-case-study","tag-dynamics-365-finance-and-operations"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2024\/11\/Monitorowanie-srodowisk-D365-Finance-Operations-w-Azure-Application-Insights.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29528"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/644"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=29528"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29528\/revisions"}],"predecessor-version":[{"id":30574,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/29528\/revisions\/30574"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/29547"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=29528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=29528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=29528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}