Perf Table is not accessible in Azure Log Analytics for my IOT Edge Hub - azure-iot-hub

I have enabled log Analytics via the collector module for all my IOTedge Devices. I am successfully able to scrape data from my devices which are available in Insights Metric.
Besides the above, I have also enabled Performance Counter but I am unable to see any data inside Perf Table. Any help would be appreciated.

Related

Setting up basic logging

In azure log analytics we are reading windows logs from an onpremise server. We would like to setup some basic metricks, like disk, CPU, RAM etc to make sure it is running. However we have like thousands to choose from in Azure. Can someone recommend some basic performance counters to monitor, or link to some documentation?
Setting up basic logging
I have created a Log Analytics Workspace and tried to add the Windows Performance Counters.
Navigate to
Your Log Analytics Workspace => Agents Configuration => Click on Add recommended counters and click on Apply , all the required basic counters will be added by default.
We can add the performance counter one by one , based on your requirement
Please refer Configure Basic Logs in Azure Monitor and Configuring Performance counters for more information

Azure IoT Edge: How to monitor the edge module (install) state for all devices on IoT hub

Is it possible to read events from IoT hubs in a way that we receive all status changes for IoT edge module installs? Possibly by receiving state changes to the edge agent reported properties of all connected devices?
Background: We are allowing users to "install" applications (represented by edge modules) on their edge devices on the fly through our own portal. We want to monitor changes to IoT devices and their modules, and note the changes in our database, so we can flag the corresponding apps as installed, removed, or failed.
Right now I can only find Event Grid based events for Device connected / disconnected events. I can also see that I can manually query the desired properties of each edge device's edge Agent separately. But since we will a large number of edge devices connected (>5000), polling them all just to see if something changed is not feasible.
Are the edge agent status changes of all IoT edge devices available as an event stream somewhere? Or is there a better solution?
IoT Edge's integration with Azure Monitor may help (docs). It has a module view that shows which modules are running and their availability. Since all the data is available in Log Analytics, you can create custom visualizations and processes using the data.
The Module twins in Azure IoT Hub shall help in below based on the information stored with it.
Monitoring the connectivity of the system
Monitoring the health of IoT Edge deployments
The Azure IoT Edge runtime has "IoT Edge Agent" as one of two modules that performs installation / initiation of modules and updating / reporting of the status of the modules to the IoT Hub. The $edgeAgent maintains the health and connectivity data about both the IoT Edge agent and IoT Edge hub runtime modules.
The Azure IoT Edge hub runtime maintains the data about communications between the "IoT Edge hub" running on the device and that of Azure IoT hub via the $edgeHub.
High level Overview :
Here is "Azure Monitor workbooks for IoT" that provides views couple of views :
An overview / state of active devices can be seen in the "Devices" View
Alerts display as per rules configured for the devices in "Alerts" View
Azure Monitor workbooks can be tuned for seeing data at any level (device state, app status) of interest. The public templates can be modified to meet the need/requirement in hand. The data shall fetched based on resource-centric KQL queries on the InsightsMetrics table.
Screenshot of Devices View :
Screenshot of Alerts View:
References :
Monitor Module Twins
Monitor Workbooks

Azure webhook triggers a IoT Hub

I want to make a webhook that can be triggered by either get/post and triggers connected IoT devices to a WebSocket.
So, I thought Azure might help to automize this process, instead of writing everything from scratch and run it on a webserver.
I am very new in the Azure world, I found it very complicated to make it working on Azure.
Can you point me to any simple to make it work?
The first thing to do is to decide where you want to connect your devices to. Generally, you'll either use Azure IoT Hub or IoT Central (which uses an IoT Hub anyway). Your question doesn't include any details about your devices, or whether you're developing them yourself, but I'll assume you can connect to either.
If you go for Azure IoT Central, the easiest way to get a webhook going is to create a Logic App and link nodes together to trigger a Command to your device. You can use an HTTP request as the trigger, and use the built-in IoT Central node to trigger your command, example:
If you end up connecting your devices to IoT Hub, you can use Direct Methods, Cloud to Device messages or even Device Twins to communicate with your devices. You can leverage these by creating an Azure Function with an HTTP trigger, and you program the logic to call IoT Hub, which will communicate with your devices. There are a lot of samples on the web that show how to create Functions, or control your device remotely.
There are a lot of ways to go about your scenario, if you need some help from the Microsoft community, you can get a lot of help on Microsoft Q&A.
Update based on the comments:
In this case, the devices are connected to IoT Hub. You can use the Service SDK to run a job that fires a Direct Method to all currently connected devices. This doc describes the process.

Is it possible to subscribe to Azure IOT Edge Device

Hopefully a simple question, but with all the reading I have done about IOT Edge Devices, I still cannot find an answer.
For my application, I would like to have a local offline view of all the data going into the edge device and an online view from a website. Is it possible to subscribe to all the events in the Edge Device, just like how I am able to subscribe to all the events in the IOT Hub?
Hopefully something like this
Device->IOTEdge->IOTHub->Website
_______________->Local View (offline)
From what I have seen I can use the components to create a website and do this.
If you need a local Azure IoT Edge webpage dashboard then look at Sander van de Velde blog for details and ideas. Sander has also a lot of other very good examples.
https://sandervandevelde.wordpress.com/2018/12/07/create-your-own-local-azure-iot-edge-dashboard/
https://sandervandevelde.wordpress.com/2018/04/20/visualizing-azure-iot-edge-using-local-dashboard/
You just need one nodejs module listening messages from edgeHub and sending messages using websocket connection. Then you can use same or another module to serve static webpage aka your dashboard. You can access this local dashboard from the same local network without any connection to internet. And you can also send your messages to upstream (IoTHub in cloud) and do the same there. I have used nodejs websocket locally in the edge and SignalR to stream data to cloud dashboards.

How to see MQTT data in AWS IOT and Azure IOT HUB

I have a MQTT client which publish data (topic) to "AWS IOT" and "Azure IOT HUB".
To see the data into "Azure IOT HUB", I am using "DeviceExplorer":
https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/DeviceExplorer
I want to know?
For Azure IOT HUB:
- How I can see the same data in azure portal?
For AWS IOT:
- Is there any similar tool for AWS IOT?
- How I can see the same in AWS portal? (I thought it should be "CloudWatch", but not sure how to use it?)
Any links and reference will be appreciable.
For Azure portal:
There is no built-in feature to see a telemetry data in the Azure IoT Hub portal. However, the following Azure apps can help you:
Azure IoT Central
Time Series Insights
EventHubTrigger Function
In the case of using Visual Studio:
Cloud Explorer
For Azure IOT HUB:
To see the data in the Azure portal, you can go to the "IoT Hub" page and click on the "Monitor" tab. From there, you can view the real-time telemetry data and events from your devices. You can also use the "Data Explorer" feature to view and query your device data.
For AWS IoT:
There is no specific tool similar to Device Explorer for AWS IoT. However, you can use the AWS IoT console to view and monitor your device data.
To view the data in the AWS portal, you can go to the "AWS IoT" page and click on the "Test" tab. From there, you can subscribe to a topic and view the real-time data published by your devices. Alternatively, you can use the "CloudWatch" service to view and monitor your device data. To do this, you can create a "Rule" that forwards your device data to CloudWatch, and then use the CloudWatch console to view the data. You can also use the CloudWatch API to access and query your device data.