7 ways new monitoring features help make your IoT Edge project successful
Published Jun 10 2021 08:00 AM 8,432 Views
Microsoft

Monitoring and troubleshooting your Azure IoT Edge devices just became way simpler and efficient. We’re excited to launch the public preview of Azure IoT Edge monitoring solution with deep integration with Azure Monitor! Check out the IoT Show episode below for a guided tour of the new capabilities and get all the details from the docs site:

 

 

And now, without further ado here are 7 ways the solution can help make your IoT project successful and scale with confidence!

 

#1 Design the right architecture

 

Built-in metrics and curated visualizations enable you to quickly and easily analyze the efficiency of your solution. Measure metrics like message latencies and throughput; both between local modules and Upstream communication. Upstream can be ingestion into the Azure IoT cloud or the parent IoT Edge device in a nested configuration.

 

#1.png

 

These insights help you choose optimal message sizes and compute placement (local vs. cloud vs. parent) to best address your scenario and manage cloud spend.

 

#2 Right-size edge hardware

 

Often you're left wondering how efficient your edge solution is at achieving its goals. Did I grossly over provision, leaving money on the table? or Am I running things too hot for comfort?

 

Take guess work out of the game and right-size your hardware by analyzing resource consumption data at both workload and host level.

 

#2.png

 

#3 Create custom metrics and visualizations

 

While built-in metrics provide a lot out-of-the-box, you may need some scenario specific information to complete the picture. You can integrate information from custom modules and enhance the solution to cater to your unique needs.

 

Learn how easy it is to integrate custom metrics from the feature docs.

 

#4 Monitor locked down assets

 

In some scenarios, you edge device’s only window to the outside world is an Azure IoT endpoint. An example is a nested edge configuration where the lower level devices are completely locked down and can only communicate upstream with their parent IoT Edge device. Monitoring this critical edge infrastructure has been a challenge — until today!

 

The solution can be configured to transport metrics using IoT message telemetry path using the IoT Edge Hub. This path enables monitoring data from assets deep in your network to securely and seamlessly make its way up to the cloud, providing unprecedented observability.

 

To handle metrics data arriving at IoT Hub in the cloud, we’ve built an open source sample called IoT Edge Monitoring and Logging Solution (ELMS). ELMS lets you deploy a cloud workflow easily, even on existing resources to get started quickly.

 

#5 Unify cloud and edge monitoring

 

Azure Monitor Workbooks allow pinning visualizations, enabling your Ops teams to monitor both your edge and cloud resources with a unified dashboard.  For example in the dashboard below the chart on the left is displaying the health of your IoT Edge devices, while the chart on the right is tracking the IoT Hub message quota usage:

 

#5.png

 

#6 Monitor across resources with Alerts

 

Azure Monitor Log Analytics allows you to create alert rules at a resource group or subscription level. These broadly-scoped alert rules can be used to monitor IoT Edge devices from multiple IoT Hubs. Use the ‘Alerts’ tab from the ‘IoT Edge Fleet View’ workbook to see alerts from multiple IoT Hubs at a glance.

 

#6.png

 

#7 Rapidly and efficiently troubleshoot

 

We’ve integrated the on-demand log pull feature of the IoT Edge runtime right into the Portal for quick and easy troubleshooting. If you enable metrics-based monitoring, the experience gets even better!

 

With just a couple of clicks, you can seamlessly move from reviewing device metrics in response to an alert firing to quickly pulling logs on-demand, automatically adjusted to the time range of interest.

 

#7.gif

 

Learn more

 

See the documentation for the detailed architecture, deployment steps, and more! We look forward to your feedback.

 

 

8 Comments
Copper Contributor

this looks great but am still puzzled how to really set up monitoring with azureiotedge-metrics-collector. As said this option should require minimal configuration and I sort of thought that the set up is a part of typical deployment.template.json. now in the example GitHub - Azure-Samples/iotedge-logging-and-monitoring-solution: IoT Edge Logging and Monitoring Solu...  there is deployment json and azuremonitor json? 

Microsoft

Hi @tervoju 

 

Thanks for your interest!

 

GitHub - Azure-Samples/iotedge-logging-and-monitoring-solution: IoT Edge Logging and Monitoring Solu...

...is one of the options to set this up (especially if you want to set up on-demand log pull along with metrics monitoring).

 

If you're only interested in metrics part you can just add the module as part of a typical deployment and specify its configuration.

 

Hope that helps!

Copper Contributor

Hi, @Venkat Yalla ,

 

thank you for fast reply. This logging and monitoring solution is an excellent tool.

 

and got it working, so basically modified the deployment. Tried that in simulator locally in win10 pc. didn't work. then deployed to some demo rasp (with ubuntu server) and that started to work. I didn't figure out why it is not working on simulator (I assume it should).

Copper Contributor

Is this supported on Azure Stack Edge? While I have been able to deploy the metrics collector module to an ASE device, there are no metrics getting reported and I haven't been able to find on the docs page explicitly if ASE is supported at this time or if additional changes need to be made in order to successfully collect and transport metrics from ASE.

Microsoft

Hello @KrishnaPrakash365 - built-in metrics for edgeAgent are not available on Kubernetes (which is what IoT Edge on ASE is hosted on). But edgeHub metrics should be available.

Copper Contributor

Thanks for the update @Venkat Yalla. Would you happen to know if the edgeHub metrics are still posted to the default edgeHub:9600/metrics end point similar to single device docker deployment or is there a different endpoint for K8s? 

Microsoft

@KrishnaPrakash365 They will be on the same endpoint, but the 9600 port will need to be explicitly specified in edgeHub's HostConfig section so it is picked up the auto-created K8s edgehub service:

 

{
    "HostConfig": {
        "PortBindings": {
            "8883/tcp": [
                {
                    "HostPort": "8883"
                }
            ],
            "5671/tcp": [
                {
                    "HostPort": "5671"
                }
            ],
            "443/tcp": [
                {
                    "HostPort": "443"
                }
            ],
            "9600/tcp": [
                {
                    "HostPort": "9600"
                }
            ]
        }
    }
}

 

Copper Contributor

Thanks a lot @Venkat Yalla! We are able to see the health of our deployments for both ASE and non-ASE devices in the fleet view now! 

Co-Authors
Version history
Last update:
‎Jun 09 2021 09:42 AM
Updated by: