Skip to content

Commit 19435cc

Browse files
robvetIEvangelist
andauthored
Monitor (#19936)
* Updates to Topic image * Correcting images and editing Azure Monitor * small acrolinx changes * Update docs/architecture/cloud-native/azure-monitor.md Co-authored-by: David Pine <[email protected]> * updates to monitor-blurred imaged * updates to monitor-added break for figure description Co-authored-by: David Pine <[email protected]>
1 parent 3f722a9 commit 19435cc

File tree

7 files changed

+17
-14
lines changed

7 files changed

+17
-14
lines changed

docs/architecture/cloud-native/azure-monitor.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
---
22
title: Azure Monitor
33
description: Using Azure Monitor to gain visibility into your system is running.
4-
ms.date: 05/13/2020
4+
ms.date: 07/05/2020
55
---
66

77
# Azure Monitor
88

9-
No other cloud provider has as mature of a cloud application monitoring solution as that found in Azure. Azure Monitor is an umbrella name for a collection of tools designed to provide visibility into the state of your system, insights into any problems, and optimization of your application.
9+
No other cloud provider has as mature of a cloud application monitoring solution than that found in Azure. Azure Monitor is an umbrella name for a collection of tools designed to provide visibility into the state of your system. It helps you understand how your cloud-native services are performing and proactively identifies issues affecting them. Figure 7-12 presents a high level of view of Azure Monitor.
1010

11-
![Azure Monitor, a collection to tools to provide insight into how a cloud-native application is functioning.](./media/azure-monitor.png)
12-
**Figure 7-12**. Azure Monitor, a collection to tools to provide insight into how a cloud-native application is functioning.
11+
![High-level view of Azure Monitor.](./media/azure-monitor.png)
12+
**Figure 7-12**. High-level view of Azure Monitor.
1313

1414
## Gathering logs and metrics
1515

16-
The first step in any monitoring solution is to gather as much data as possible. The more data that can be gathered, the deeper the insights that can be obtained. Instrumenting systems has traditionally been difficult. Simple Network Management Protocol (SNMP) was the gold standard protocol for collecting machine level information but it required a great deal of knowledge and configuring. Fortunately, much of this hard work has been eliminated as the most common metrics are gathered automatically by Azure Monitor.
16+
The first step in any monitoring solution is to gather as much data as possible. The more data gathered, the deeper the insights. Instrumenting systems has traditionally been difficult. Simple Network Management Protocol (SNMP) was the gold standard protocol for collecting machine level information, but it required a great deal of knowledge and configuration. Fortunately, much of this hard work has been eliminated as the most common metrics are gathered automatically by Azure Monitor.
1717

1818
Application level metrics and events aren't possible to instrument automatically because they're specific to the application being deployed. In order to gather these metrics, there are [SDKs and APIs available](https://docs.microsoft.com/azure/azure-monitor/app/api-custom-events-metrics) to directly report such information, such as when a customer signs up or completes an order. Exceptions can also be captured and reported back into Azure Monitor via Application Insights. The SDKs support most every language found in Cloud Native Applications including Go, Python, JavaScript, and the .NET languages.
1919

@@ -25,7 +25,7 @@ Once the data is gathered, it can be manipulated, summarized, and plotted into c
2525

2626
No modern application would be complete without some artificial intelligence or machine learning. To this end, data [can be passed](https://www.youtube.com/watch?v=Cuza-I1g9tw) to the various machine learning tools in Azure to allow you to extract trends and information that would otherwise be hidden.
2727

28-
Application Insights provides a powerful query language called Kusto that can be used to find records, summarize them, and even plot charts. For instance, this query will locate all the records for the month of November 2007, group them by state, and plot the top 10 as a pie chart.
28+
Application Insights provides a powerful (SQL-like) query language called *Kusto* that can query records, summarize them, and even plot charts. For example, the following query will locate all records for the month of November 2007, group them by state, and plot the top 10 as a pie chart.
2929

3030
```kusto
3131
StormEvents
@@ -35,21 +35,24 @@ StormEvents
3535
| render piechart
3636
```
3737

38-
![The result of the Application Insights Query](./media/azure-monitor.png)
39-
**Figure 7-13**. The result of the Application Insights Query.
38+
Figure 7-13 shows the results of this Application Insights Query.
4039

41-
There is a [playground for experimenting with Kusto](https://dataexplorer.azure.com/clusters/help/databases/Samples) queries, which is a fantastic place to spend an hour or two. Reading [sample queries](https://docs.microsoft.com/azure/kusto/query/samples) can also be instructive.
40+
![Application Insights query results](./media/application_insights_example.png)
41+
**Figure 7-13**. Application Insights query results.
42+
43+
There is a [playground for experimenting with Kusto](https://dataexplorer.azure.com/clusters/help/databases/Samples) queries. Reading [sample queries](https://docs.microsoft.com/azure/kusto/query/samples) can also be instructive.
4244

4345
## Dashboards
4446

4547
There are several different dashboard technologies that may be used to surface the information from Azure Monitor. Perhaps the simplest is to just run queries in Application Insights and [plot the data into a chart](https://docs.microsoft.com/azure/azure-monitor/learn/tutorial-app-dashboards).
4648

47-
![An example of Application Insights charts embedded in the main Azure Dashboard](./media/azure-monitor.png)
49+
![An example of Application Insights charts embedded in the main Azure Dashboard](./media/azure_dashboard.png)
4850
**Figure 7-14**. An example of Application Insights charts embedded in the main Azure Dashboard.
4951

5052
These charts can then be embedded in the Azure portal proper through use of the dashboard feature. For users with more exacting requirements, such as being able to drill down into several tiers of data, Azure Monitor data is available to [Power BI](https://powerbi.microsoft.com/). Power BI is an industry-leading, enterprise class, business intelligence tool that can aggregate data from many different data sources.
5153

52-
![An example Power BI dashboard](./media/azure-monitor.png)
54+
![An example Power BI dashboard](./media/powerbidashboard.png)
55+
5356
**Figure 7-15**. An example Power BI dashboard.
5457

5558
## Alerts
Loading
Loading
Loading
Loading

docs/architecture/cloud-native/observability-patterns.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Observability patterns
33
description: Observability patterns for cloud-native applications
4-
ms.date: 05/13/2020
4+
ms.date: 08/10/2020
55
---
66

77
# Observability patterns
@@ -10,7 +10,7 @@ Just as patterns have been developed to aid in the layout of code in application
1010

1111
## When to use logging
1212

13-
No matter how careful we are, applications almost always behave in unexpected ways in production. When users report problems with an application, it's extremely useful to be able to see what was going on with the app when the problem occurred. One of the most tried and true ways of capturing information about what an application is doing while it's running is to have the application write down what it's doing. This process is known as logging. Any time failures or problems occur in production, the goal should be to reproduce the conditions under which the failures occurred, in a non-production environment. Having good logging in place provides a roadmap for developers to follow in order to duplicate problems in an environment that can be tested and experimented with.
13+
No matter how careful we are, applications almost always behave in unexpected ways in production. When users report problems with an application, it's useful to be able to see what was going on with the app when the problem occurred. One of the most tried and true ways of capturing information about what an application is doing while it's running is to have the application write down what it's doing. This process is known as logging. Anytime failures or problems occur in production, the goal should be to reproduce the conditions under which the failures occurred, in a non-production environment. Having good logging in place provides a roadmap for developers to follow in order to duplicate problems in an environment that can be tested and experimented with.
1414

1515
### Challenges when logging with cloud-native applications
1616

docs/architecture/cloud-native/service-to-service-communication.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ With eventing, we move from queuing technology to *topics*. A [topic](https://do
159159

160160
**Figure 4-16**. Topic architecture
161161

162-
In the previous figure, publishers send messages to the topic. At the end, subscribers receive messages from subscriptions. In the middle, the topic forwards messages to subscriptions based on a set of *rules*, shown in dark blue boxes. Rules act as a filter that forward specific messages to a subscription. Here, a "CreateOrder" event would be sent to Subscription \#1 and Subscription \#3, but not to Subscription \#2. An "OrderCompleted" event would be sent to Subscription \#2 and Subscription \#3.
162+
In the previous figure, publishers send messages to the topic. At the end, subscribers receive messages from subscriptions. In the middle, the topic forwards messages to subscriptions based on a set of rules, shown in dark blue boxes. Rules act as a filter that forward specific messages to a subscription. Here, a "GetPrice" event would be sent to the price and logging subscriptions as the logging subscription has chosen to receive all messages. A "GetInformation" event would be sent to the information and logging subscriptions.
163163

164164
The Azure cloud supports two different topic services: Azure Service Bus Topics and Azure EventGrid.
165165

0 commit comments

Comments
 (0)