You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Configuration of Azure Monitor pipeline for edge and multicloud
3
3
description: Configuration of Azure Monitor pipeline for edge and multicloud
4
4
ms.topic: conceptual
5
-
ms.date: 04/23/2024
5
+
ms.date: 04/25/2024
6
6
ms.author: bwren
7
7
author: bwren
8
8
---
@@ -12,13 +12,16 @@ author: bwren
12
12
[Azure Monitor pipeline](./pipeline-overview.md) is a data ingestion pipeline providing consistent and centralized data collection for Azure Monitor. The [edge pipeline](./pipeline-overview.md#edge-pipeline) enables at-scale collection, and routing of telemetry data before it's sent to the cloud. It can cache data locally and sync with the cloud when connectivity is restored and route telemetry to Azure Monitor in cases where the network is segmented and data cannot be sent directly to the cloud. This article describes how to enable and configure the edge pipeline in your environment.
13
13
14
14
## Overview
15
-
The Azure Monitor edge pipeline is a containerized solution that is deployed on an [Arc-enabled Kubernetes cluster](../../azure-arc/kubernetes/overview.md). It leverages OpenTelemetry Collector as a foundation. The following diagram shows the components of the edge pipeline. One or more data flows listens for incoming data from clients, and the pipeline extension forwards the data to the cloud, using the local cache if necessary.
15
+
The Azure Monitor edge pipeline is a containerized solution that is deployed on an [Arc-enabled Kubernetes cluster](../../azure-arc/kubernetes/overview.md) and leverages OpenTelemetry Collector as a foundation. The following diagram shows the components of the edge pipeline. One or more data flows listens for incoming data from clients, and the pipeline extension forwards the data to the cloud, using the local cache if necessary.
16
16
17
17
The pipeline configuration file defines the data flows and cache properties for the edge pipeline. The [DCR](./pipeline-overview.md#data-collection-rules) defines the schema of the data being sent sent to the cloud pipeline, a transformation to filter or modify the data, and the destination where the data should be sent. Each data flow definition for the pipeline configuration specifies the DCR and stream within that DCR that will process that data in the cloud pipeline.
18
18
19
19
:::image type="content" source="media/edge-pipeline/edge-pipeline-configuration.png" lightbox="media/edge-pipeline/edge-pipeline-configuration.png" alt-text="Overview diagram of the dataflow for Azure Monitor edge pipeline." border="false":::
20
20
21
-
The following components are required to enable and configure the Azure Monitor edge pipeline. If you use the Azure portal to configure the edge pipeline, then each of these components is created for you. With other methods, you need to configure each one.
21
+
> [!NOTE]
22
+
> Private link is support by edge pipeline for the connection to the cloud pipeline.
23
+
24
+
The following components and configurations are required to enable the Azure Monitor edge pipeline. If you use the Azure portal to configure the edge pipeline, then each of these components is created for you. With other methods, you need to configure each one.
22
25
23
26
24
27
| Component | Description |
@@ -36,7 +39,7 @@ The following components are required to enable and configure the Azure Monitor
36
39
37
40
## Supported configurations
38
41
39
-
**Supported distros**
42
+
**Supported distros**<br>
40
43
Edge pipeline is supported on the following Kubernetes distributions:
41
44
42
45
- Canonical
@@ -45,7 +48,7 @@ Edge pipeline is supported on the following Kubernetes distributions:
45
48
- Rancher Kubernetes Engine
46
49
- VMware Tanzu Kubernetes Grid
47
50
48
-
**Supported locations**
51
+
**Supported locations**<br>
49
52
Edge pipeline is supported in the following Azure regions:
50
53
51
54
- East US2
@@ -55,15 +58,15 @@ Edge pipeline is supported in the following Azure regions:
55
58
## Prerequisites
56
59
57
60
-[Arc-enabled Kubernetes cluster](../../azure-arc/kubernetes/overview.md) in your own environment with an external IP address. See [Connect an existing Kubernetes cluster to Azure Arc](../../azure-arc/kubernetes/quickstart-connect-cluster.md) for details on enabling Arc for a cluster.
61
+
- The Arc-enabled Kubernetes cluster must have the the custom locations features enabled. See [Create and manage custom locations on Azure Arc-enabled Kubernetes](/azure/azure-arc/kubernetes/custom-locations#enable-custom-locations-on-your-cluster).
58
62
- Log Analytics workspace in Azure Monitor to receive the data from the edge pipeline. See [Create a Log Analytics workspace in the Azure portal](../../azure-monitor/logs/quick-create-workspace.md) for details on creating a workspace.
59
63
60
-
> [!NOTE]
61
-
> Private link is support by edge pipeline for the connection to the cloud pipeline.
64
+
62
65
63
66
## Workflow
64
67
You don't need a detail understanding of the different steps performed by the Azure Monitor pipeline to configure it using the Azure portal. You may need a more detailed understanding of it though if you use another method of installation or if you need to perform more advanced configuration such as transforming the data before it's stored in its destination.
65
68
66
-
The following table and diagram describe the detailed steps and components in the process for collecting data using the edge pipeline and the configuration required for each of those components.
69
+
The following tables and diagrams describe the detailed steps and components in the process for collecting data using the edge pipeline and passing it to the cloud pipeline for storage in Azure Monitor. Also included in the tables is the configuration required for each of those components.
67
70
68
71
| Step | Action | Supporting configuration |
69
72
|:---|:---|:---|
@@ -90,7 +93,7 @@ The following table and diagram describe the detailed steps and components in th
90
93
To use Azure Monitor pipeline in a layered network configuration, you must add the following URLs to the allowlist for the Arc-enabled Kubernetes cluster. See [Configure Azure IoT Layered Network Management Preview on level 4 cluster](/azure/iot-operations/manage-layered-network/howto-configure-l4-cluster-layered-network?tabs=k3s#configure-layered-network-management-preview-service).
91
94
92
95
-`*.ingest.monitor.azure.com`
93
-
- Url of DCE.
96
+
- Url of DCE
94
97
95
98
96
99
## Create table in Log Analytics workspace
@@ -136,7 +139,7 @@ The settings in this tab are described in the following table.
136
139
| Subscription | Azure subscription to create the pipeline instance. |
137
140
| Resource group | Resource group to create the pipeline instance. |
138
141
| Cluster name | Select your Arc-enabled Kubernetes cluster that the pipeline will be installed on. |
139
-
| Custom Location | Custom location for your Arc-enabled Kubernetes cluster. |
142
+
| Custom Location | Custom location for your Arc-enabled Kubernetes cluster. This will be automatically populated with the name of a custom location that will be created for your cluster or you can select another custom location in the cluster. |
140
143
141
144
The **Dataflow** tab allows you to create and edit dataflows for the pipeline instance. Each dataflow includes the following details:
142
145
@@ -156,11 +159,11 @@ The settings in this tab are described in the following table.
156
159
### [CLI](#tab/CLI)
157
160
158
161
### Configure pipeline using Azure CLI
159
-
Following are the steps required to create and configure the components required for the Azure Monitor edge pipeline using Azure CLI. Not all steps can
162
+
Following are the steps required to create and configure the components required for the Azure Monitor edge pipeline using Azure CLI.
160
163
161
164
162
165
### Edge pipeline extension
163
-
The following command adds the edge pipeline extension to your Arc-enabled Kubernetes cluster. Replace the properties in the following table before deploying the template.
166
+
The following command adds the edge pipeline extension to your Arc-enabled Kubernetes cluster.
The following ARM template creates the custom location for to your Arc-enabled Kubernetes cluster. Replace the properties in the following table before deploying the template.
174
-
176
+
The following ARM template creates the custom location for to your Arc-enabled Kubernetes cluster.
175
177
176
178
```azurecli
177
-
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
178
-
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
179
+
az customlocation create --name <custom-location-name> --resource-group <resource-group-name> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
179
180
180
181
## Example
181
-
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
182
-
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
The DCR is stored in Azure Monitor and defines how the data will be processed when its received from the edge pipeline. The edge pipeline configuration specifies the `immutable ID` of the DCR and the `stream` in the DCR that will process the data.
200
+
The DCR is stored in Azure Monitor and defines how the data will be processed when its received from the edge pipeline. The edge pipeline configuration specifies the `immutable ID` of the DCR and the `stream` in the DCR that will process the data. The `immutable ID` is automatically generated when the DCR is created.
201
201
202
-
Replace the properties in the following table before deploying the template. See [Structure of a data collection rule in Azure Monitor](./data-collection-rule-overview.md) for details on the structure of a DCR.
202
+
Replace the properties in the following template and save them in a json file before running the CLI command to create the DCR. See [Structure of a data collection rule in Azure Monitor](./data-collection-rule-overview.md) for details on the structure of a DCR.
The Arc-enabled Kubernetes cluster must have access to the DCR to send data to the cloud pipeline. You can use commands in the Azure CLI to grant the necessary permissions.
308
-
309
-
Use the following command to retrieve the object id of the System Assigned Identity for your cluster.
307
+
The Arc-enabled Kubernetes cluster must have access to the DCR to send data to the cloud pipeline. Use the following command to retrieve the object id of the System Assigned Identity for your cluster.
310
308
311
309
```azurecli
312
310
az k8s-extension show --name <extension-name> --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --query "identity.principalId" -o tsv
@@ -466,8 +464,18 @@ Replace the properties in the following table before deploying the template.
466
464
}
467
465
```
468
466
467
+
Install the template using the following command:
468
+
469
+
```azurecli
470
+
az deployment group create --resource-group <resource-group-name> --template-file <path-to-template>
471
+
472
+
## Example
473
+
az deployment group create --resource-group my-resource-group --template-file C:\MyPipelineConfig.json
474
+
475
+
```
476
+
469
477
470
-
### [ARM sample](#tab/ARMAll)
478
+
### [ARM](#tab/arm)
471
479
472
480
### ARM template sample to configure all components
473
481
@@ -810,88 +818,6 @@ You can deploy all of the required components for the Azure Monitor edge pipelin
810
818
}
811
819
```
812
820
813
-
### [ARM](#tab/arm)
814
-
815
-
| Parameter | Description |
816
-
|:---|:--|
817
-
|`name`| Name of the pipeline extension. Must be unique for the subscription. |
818
-
|`scope`| Resource ID of your Arc-enabled Kubernetes cluster. |
819
-
|`releaseNamespace`| Namespace in the cluster where the extension will be deployed. |
@@ -902,11 +828,11 @@ In the Azure portal, navigate to the **Kubernetes services** menu and select you
902
828
-\<pipeline name\>-external-service
903
829
-\<pipeline name\>-service
904
830
905
-
:::image type="content" source="media/edge-pipeline/heartbeat-records.png" lightbox="media/edge-pipeline/heartbeat-records.png" alt-text="Screenshot of log query that returns heartbeat records for Azure Monitor edge pipeline." :::
Click on the entry for **\<pipeline name\>-external-service** and note the IP address and port in the **Endpoints** column. This is the external IP address and port that your clients will send data to.
908
834
909
-
## Verify heartbeat
835
+
###Verify heartbeat
910
836
Each pipeline configured in your pipeline instance will send a heartbeat record to the `Heartbeat` table in your Log Analytics workspace every minute. If there are multiple workspaces in the pipeline instance, then the first one configured will be used.
911
837
912
838
Retrieve the heartbeat records using a log query as in the following example:
@@ -933,7 +859,9 @@ If the application producing logs is external to the cluster, copy the *external
933
859
934
860
935
861
## Verify data
936
-
The final step is to verify that the data is received in the Log Analytics workspace.
862
+
The final step is to verify that the data is received in the Log Analytics workspace. You can perform this verification by running a query in the Log Analytics workspace to retrieve data from the table.
Copy file name to clipboardExpand all lines: articles/azure-monitor/essentials/pipeline-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,7 @@ The specific use case for Azure Monitor edge pipeline are:
46
46
47
47
-**Scalability**. The edge pipeline can handle large volumes of data from monitored resources that may be limited by other collection methods such as Azure Monitor agent.
48
48
-**Periodic connectivity**. Some environments may have unreliable connectivity to the cloud, or may have long unexpected periods without connection. The edge pipeline can cache data locally and sync with the cloud when connectivity is restored.
49
-
-**Layered network**. In some environments, the network is segmented and data cannot be sent directly to the cloud. The edge pipeline can be used to collect data from monitored resources without cloud access and act as a proxy connection to Azure Monitor. **[xpathak: AzMon pipeline doesn't technically act as proxy. Azure IoT Layered Network Management acts as proxy. Edge pipeline can be configured with it, not sure how we want to make this claer]**
49
+
-**Layered network**. In some environments, the network is segmented and data cannot be sent directly to the cloud. The edge pipeline can be used to collect data from monitored resources without cloud access and manage the connection to Azure Monitor in the cloud.
50
50
51
51
## Data collection scenarios
52
52
The following table describes the data collection scenarios that are currently supported using the Azure Monitor pipeline. See the links in each entry for details.
0 commit comments