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
Copy file name to clipboardExpand all lines: articles/iot-edge/how-to-collect-and-transport-metrics.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
title: Collect and transport Azure IoT Edge metrics
3
-
description: Use Azure Monitor to remotely monitor IoT Edge's built-in metrics
3
+
description: Use Azure Monitor to remotely monitor IoT Edge's built-in metrics. Learn how to add and configure the metrics-collector module to send metrics to Azure Monitor.
4
4
author: PatAltimore
5
5
6
-
ms.author: veyalla
7
-
ms.date: 06/07/2023
8
-
ms.topic: conceptual
6
+
ms.author: patricka
7
+
ms.date: 06/10/2024
8
+
ms.topic: concept-article
9
9
ms.reviewer: veyalla
10
10
ms.service: iot-edge
11
11
services: iot-edge
@@ -33,7 +33,7 @@ To configure monitoring on your IoT Edge device, follow the [Tutorial: Monitor I
33
33
|-|-|
34
34
| 1 | All modules must emit metrics using the [Prometheus data model](https://prometheus.io/docs/concepts/data_model/). While [built-in metrics](how-to-access-built-in-metrics.md) enable broad workload visibility by default, custom modules can also be used to emit scenario-specific metrics to enhance the monitoring solution. Learn how to instrument custom modules using open-source libraries in the [Add custom metrics](how-to-add-custom-metrics.md) article. |
35
35
| 2️ | The [metrics-collector module](https://aka.ms/edgemon-metrics-collector) is a Microsoft-supplied IoT Edge module that collects workload module metrics and transports them off-device. Metrics collection uses a *pull* model. Collection frequency, endpoints, and filters can be configured to control the data egressed from the module. For more information, see [metrics collector configuration section](#metrics-collector-configuration) later in this article. |
36
-
| 3️ | You have two options for sending metrics from the metrics-collector module to the cloud. *Option 1* sends the metrics to Log Analytics.<sup>1</sup> The collected metrics are ingested into the specified Log Analytics workspace using a fixed, native table called `InsightsMetrics`. This table's schema is compatible with the Prometheus metrics data model.<br><br> This option requires access to the workspace on outbound port 443. The Log Analytics workspace ID and key must be specified as part of the module configuration. To enable in restricted networks, see [Enable in restricted network access scenarios](#enable-in-restricted-network-access-scenarios) later in this article.
36
+
| 3️ | You have two options for sending metrics from the metrics-collector module to the cloud. *Option 1* sends the metrics to Log Analytics.<sup>1</sup> The collected metrics are ingested into the specified Log Analytics workspace using a fixed, native table called `InsightsMetrics`. This table's schema is compatible with the Prometheus metrics data model.<br><br> This option requires access to the workspace on outbound port 443. The Log Analytics workspace ID and key must be specified as part of the module configuration. To enable in restricted networks, see [Enable in restricted network access scenarios](#enable-in-restricted-network-access-scenarios) later in this article.|
37
37
| 4️ | Each metric entry contains the `ResourceId` that was specified as part of [module configuration](#metrics-collector-configuration). This association automatically links the metric with the specified resource (for example, IoT Hub). As a result, the [curated IoT Edge workbook templates](how-to-explore-curated-visualizations.md) can retrieve metrics by issuing queries against the resource. <br><br> This approach also allows multiple IoT hubs to safely share a single Log Analytics workspace as a metrics database. |
38
38
| 5️ |*Option 2* sends the metrics to IoT Hub.<sup>1</sup> The collector module can be configured to send the collected metrics as UTF-8 encoded JSON [device-to-cloud messages](../iot-hub/iot-hub-devguide-messages-d2c.md) via the `edgeHub` module. This option unlocks monitoring of locked-down IoT Edge devices that are allowed external access to only the IoT Hub endpoint. It also enables monitoring of child IoT Edge devices in a nested configuration where child devices can only access their parent device. |
39
39
| 6️ | When metrics are routed via IoT Hub, a (one-time) cloud workflow needs to be set up. The workflow processes messages arriving from the metrics-collector module and sends them to the Log Analytics workspace. The workflow enables the [curated visualizations](how-to-explore-curated-visualizations.md) and [alerts](how-to-create-alerts.md) functionality even for metrics arriving via this optional path. See the [Route metrics through IoT Hub](#route-metrics) section for details on how to set up this cloud workflow. |
@@ -48,7 +48,7 @@ To configure monitoring on your IoT Edge device, follow the [Tutorial: Monitor I
48
48
|-|-|
49
49
| 1 | All modules must emit metrics using the [Prometheus data model](https://prometheus.io/docs/concepts/data_model/). While [built-in metrics](how-to-access-built-in-metrics.md) enable broad workload visibility by default, custom modules can also be used to emit scenario-specific metrics to enhance the monitoring solution. Learn how to instrument custom modules using open-source libraries in the [Add custom metrics](how-to-add-custom-metrics.md) article. |
50
50
| 2️ | The [metrics-collector module](https://aka.ms/edgemon-metrics-collector) is a Microsoft-supplied IoT Edge module that collects workload module metrics and transports them off-device. Metrics collection uses a *pull* model. Collection frequency, endpoints, and filters can be configured to control the data egressed from the module. For more information, see [metrics collector configuration section](#metrics-collector-configuration) later in this article. |
51
-
| 3️ | You have two options for sending metrics from the metrics-collector module to the cloud. *Option 1* sends the metrics to Log Analytics. The collected metrics are ingested into the specified Log Analytics workspace using a fixed, native table called `InsightsMetrics`. This table's schema is compatible with the Prometheus metrics data model.<br><br> This option requires access to the workspace on outbound port 443. The Log Analytics workspace ID and key must be specified as part of the module configuration. To enable in restricted networks, see [Enable in restricted network access scenarios](#enable-in-restricted-network-access-scenarios) later in this article.
51
+
| 3️ | You have two options for sending metrics from the metrics-collector module to the cloud. *Option 1* sends the metrics to Log Analytics. The collected metrics are ingested into the specified Log Analytics workspace using a fixed, native table called `InsightsMetrics`. This table's schema is compatible with the Prometheus metrics data model.<br><br> This option requires access to the workspace on outbound port 443. The Log Analytics workspace ID and key must be specified as part of the module configuration. To enable in restricted networks, see [Enable in restricted network access scenarios](#enable-in-restricted-network-access-scenarios) later in this article.|
52
52
| 4️ | Each metric entry contains the `ResourceId` that was specified as part of [module configuration](#metrics-collector-configuration). This association automatically links the metric with the specified resource (for example, IoT Central). As a result, the [curated IoT Edge workbook templates](how-to-explore-curated-visualizations.md) can retrieve metrics by issuing queries against the resource. <br><br> This approach also allows multiple IoT Central applications to safely share a single Log Analytics workspace as a metrics database. |
53
53
| 5️ |*Option 2* sends the metrics to IoT Central. This option lets an operator view the metrics and device telemetry in a single location. The collector module can be configured to send the collected metrics as UTF-8 encoded JSON [device-to-cloud messages](../iot-hub/iot-hub-devguide-messages-d2c.md) via the `edgeHub` module. This option unlocks monitoring of locked-down IoT Edge devices that are allowed external access to only the IoT Central endpoint. It also enables monitoring of child IoT Edge devices in a nested configuration where child devices can only access their parent device. |
Copy file name to clipboardExpand all lines: articles/iot-edge/includes/debug-without-container-setup.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
ms.topic: include
3
-
ms.date: 07/08/2022
3
+
ms.date: 06/10/2024
4
4
author: PatAltimore
5
5
ms.author: patricka
6
6
ms.service: iot-edge
@@ -22,7 +22,7 @@ IoT Edge modules need an IoT Edge environment to run and debug. You can use an I
22
22
23
23
1. In the Visual Studio Code command palette, run the command **Azure IoT Edge: Start IoT Edge Hub Simulator for Single Module**.
24
24
1. Provide the names of any inputs that you want to test with your module. If you're using the default sample code, use the value **input1**.
25
-
1. The command triggers the **iotedgehubdev** CLI and then starts the IoT Edge simulator and a testing utility module container. You can see the output similar to the following in the integrated terminal if the simulator has been started in single module mode successfully. The output includes an example `curl` command to send a message to the simulator. You'll use the `curl` command later.
25
+
1. The command triggers the **iotedgehubdev** CLI and then starts the IoT Edge simulator and a testing utility module container. You can see the output similar to the following in the integrated terminal if the simulator is started in single module mode successfully. The output includes an example `curl` command to send a message to the simulator. You'll use the `curl` command later.
Copy file name to clipboardExpand all lines: articles/iot-edge/includes/iot-edge-install-linux-on-windows.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
ms.topic: include
3
-
ms.date: 01/25/2022
3
+
ms.date: 06/10/2024
4
4
author: PatAltimore
5
5
ms.author: patricka
6
6
ms.service: iot-edge
@@ -57,7 +57,7 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
57
57
>
58
58
>You can customize the virtual machine's available resources using the `Deploy-Eflow` command's optional parameters. This is required to deploy EFLOW on a device with the minimum hardware requirements.
59
59
>
60
-
>For example, the command below creates a virtual machine with 1 vCPU core, 1 GB of RAM (represented in MB), and 2 GB of disk space:
60
+
>For example, the following command creates a virtual machine with 1 vCPU core, 1 GB of RAM (represented in MB), and 2 GB of disk space:
@@ -68,7 +68,7 @@ Deploy Azure IoT Edge for Linux on Windows on your target device.
68
68
>[!WARNING]
69
69
>By default, the EFLOW Linux virtual machine has no DNS configuration. Deployments using DHCP will try to obtain the DNS configuration propagated by the DHCP server. Please check your DNS configuration to ensure internet connectivity. For more information, see [AzEFLOW-DNS](https://aka.ms/AzEFLOW-DNS).
70
70
71
-
You can assign a GPU to your deployment to enable GPU-accelerated Linux modules. To gain access to these features, you will need to install the prerequisites detailed in [GPU acceleration for Azure IoT Edge for Linux on Windows](/azure/iot-edge/gpu-acceleration).
71
+
You can assign a GPU to your deployment to enable GPU-accelerated Linux modules. To gain access to these features, you need to install the prerequisites detailed in [GPU acceleration for Azure IoT Edge for Linux on Windows](/azure/iot-edge/gpu-acceleration).
72
72
73
73
To use a GPU passthrough, add the **gpuName**, **gpuPassthroughType**, and **gpuCount** parameters to your `Deploy-Eflow` command. For information about all the optional parameters available, see [PowerShell functions for IoT Edge for Linux on Windows](/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions#deploy-eflow).
Copy file name to clipboardExpand all lines: articles/iot-edge/includes/iot-edge-prerequisites-linux-on-windows.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
ms.topic: include
3
-
ms.date: 12/23/2022
3
+
ms.date: 06/10/2024
4
4
author: PatAltimore
5
5
ms.author: patricka
6
6
ms.service: iot-edge
@@ -27,7 +27,7 @@ A Windows device with the following minimum requirements:
27
27
* On a virtual machine, configure nested virtualization. For more information, see [nested virtualization](../nested-virtualization.md).
28
28
29
29
* Networking support
30
-
* Windows Server does not come with a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Create virtual switch for Linux on Windows](../how-to-create-virtual-switch.md).
30
+
* Windows Server does not come with a default switch. Before you can deploy EFLOW to a Windows Server device, you need to create a virtual switch. For more information, see [Create virtual switch for Linux on Windows](../how-to-create-virtual-switch.md).
31
31
* Windows Desktop versions come with a default switch that can be used for EFLOW installation. If needed, you can create your own custom virtual switch.
Copy file name to clipboardExpand all lines: articles/iot-edge/includes/iot-edge-register-device-symmetric.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
ms.topic: include
3
-
ms.date: 1/31/2023
3
+
ms.date: 06/10/2024
4
4
author: PatAltimore
5
5
ms.author: patricka
6
6
ms.service: iot-edge
@@ -43,7 +43,7 @@ Once Azure IoT Edge and Azure IoT Hub extensions are installed, you notice an Az
43
43
Registering a new device is akin to creating an IoT Edge device in the Azure portal. This virtual device is one of the *twins*, whereas the real world device is the other twin. Visual Studio Code can set this up for you through the following steps.
44
44
45
45
1. In the Visual Studio Code Explorer menu, expand the **Azure IoT Hub** section.
46
-
1.Click on the **...** in the **Azure IoT Hub** section header. If you don't see the ellipsis, click on or hover over the header.
46
+
1.Select on the **...** in the **Azure IoT Hub** section header. If you don't see the ellipsis, select or hover over the header.
47
47
1. Select **Create IoT Edge Device**.
48
48
1. In the text box that opens, give your device an ID, for example `my-edge-device-1` (all lowercase), then press enter.
49
49
@@ -85,7 +85,7 @@ The edge-enabled devices that connect to your IoT hub are listed on the **Device
85
85
When you're ready to set up your device, you need the connection string that links your physical device with its identity in the IoT hub. Devices that authenticate with symmetric keys have their connection strings available to copy in the portal. To find your connection string in the portal:
86
86
87
87
1. From the **Devices** page, select the IoT Edge device ID from the list.
88
-
2. Copy the value of either **Primary Connection String** or **Secondary Connection String**. Either key will work.
88
+
2. Copy the value of either **Primary Connection String** or **Secondary Connection String**. Either key works.
89
89
90
90
# [Visual Studio Code](#tab/visual-studio-code)
91
91
@@ -108,7 +108,7 @@ To see all devices in your IoT hub, use the [az iot hub device-identity list](/c
108
108
az iot hub device-identity list --hub-name hub_name_here
109
109
```
110
110
111
-
Any device that is registered as an IoT Edge device will have the property **capabilities.iotEdge** set to **true**. You see a lot of other metadata as JSON output as well, including your device IDs.
111
+
Any device that is registered as an IoT Edge device has the property **capabilities.iotEdge** set to **true**. You see a lot of other metadata as JSON output as well, including your device IDs.
112
112
113
113
When you're ready to set up your device, you need its connection string that links your physical device with its identity in the IoT hub. Use the following [az iot hub device-identity connection-string show](/cli/azure/iot/hub/device-identity/connection-string) command to return the connection string for a single device. Replace `[device_id]` and `[hub_name]` with your own values. The value for the `device-identity` parameter is case-sensitive.
0 commit comments