How to roll-up data to show traffic light status on dashboard

Category: azure operational insights

Question

Pavithra_Tools on Wed, 03 Apr 2019 17:31:32


Hi,

I have a requirement to show traffic light like status on the dashboard.

For example, let me quote a simple case

there are two VMs in a resource group

If the memory goes above 70% in one or both of the VMs, the rolled-up status should be amber on the dashboard. On clicking the first dashboard, it has to open a drill down dashboard to show the status of the two VMs

How can this be achieved ? I have checked the markdown and arm data tile in dashboard. I'm unable to get the requirement designed with any of these.

Has anyone designed anything like this ?

If i can use Grafana even how to get the loganalytics roll-up and then get the drill down of the data. If i take a count of the loganalytics query, then i get only the count and not the actual list of items...

Any direction to get the design is a welcome...

Thank you for taking time to read the query.

Replies

KrishnaG - MSFT on Fri, 05 Apr 2019 12:12:38


Hi Pavithra_Tools, AFAIK you may have to try by creating a custom omsview to accomplish your requirement which would look something like below and then just save it as 'omsview' extension file (i.e., xxxxxxx.omsview) and then import it by going to Azure portal -> <YOURLOGANALYTICSWORKSPACE> -> View Designer tile -> Click 'Import' -> Browse the file and upload it.


{
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "location": {
            "type": "string",
            "defaultValue": ""
        },
        "resourcegroup": {
            "type": "string",
            "defaultValue": ""
        },
        "subscriptionId": {
            "type": "string",
            "defaultValue": ""
        },
        "workspace": {
            "type": "string",
            "defaultValue": ""
        },
        "workspaceapiversion": {
            "type": "string",
            "defaultValue": ""
        }
    },
    "resources": [
        {
            "apiVersion": "[parameters('workspaceapiversion')]",
            "name": "[parameters('workspace')]",
            "type": "Microsoft.OperationalInsights/workspaces",
            "location": "[parameters('location')]",
            "id": "[Concat('/subscriptions/', parameters('subscriptionId'), '/resourceGroups/', parameters('resourcegroup'), '/providers/Microsoft.OperationalInsights/workspaces/', parameters('workspace'))]",
            "resources": [
                {
                    "apiVersion": "2015-11-01-preview",
                    "name": "Roll-up Status",
                    "type": "views",
                    "location": "[parameters('location')]",
                    "id": "[Concat('/subscriptions/', parameters('subscriptionId'), '/resourceGroups/', parameters('resourcegroup'), '/providers/Microsoft.OperationalInsights/workspaces/', parameters('workspace'),'/views/Roll-up Status')]",
                    "dependson": [
                        "[Concat('/subscriptions/', parameters('subscriptionId'), '/resourceGroups/', parameters('resourcegroup'), '/providers/Microsoft.OperationalInsights/workspaces/', parameters('workspace'))]"
                    ],
                    "properties": {
                        "Id": "Roll-up Status",
                        "Name": "Roll-up Status",
                        "Author": null,
                        "Source": "Local",
                        "Version": 2,
                        "Dashboard": [
                            {
                                "Id": "LineChartCalloutBuilderBlade",
                                "Type": "Blade",
                                "Version": 0,
                                "Configuration": {
                                    "General": {
                                        "title": "VM Level Status",
                                        "newGroup": true,
                                        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUpSURBVGhDxZpNdhNHFIVflWzDEFYQZQWIYQw54EFCMgKvINEKjFhAhMjcklaAvQIzS3IyEJyAM7RYQcwOPLWhu3JvdUlI7qrq6rZkf+fY6m7L6r5V76/qSclV2ZvcEdnoiNaPRdQ3IqYtSuGatIs3mDMxaoqDMxx/EmVOZf/hQfG31dFMCB++tfkMD/gLHrqDK3zwehh5g18fJdcHMv7u1F1tTD0hVsBWH//2K87qP3wIispV7yqC0oSsS0AJM5JMj5sIqhay989jaenXeKuz+WvASE+G2yN3lkRcSO/4Od6BmVjnLASguQ23d91ZJX4hX03pubtyU0wlU7sppqbd6zL6Fk3ppkWQjrTMiey9Z2SMUp6RF+/h0PSJRkxhEqc2VxiFnJEzh8C35vkFuaYJ+Lzs4r6Md5CL/JSF9I6PcPWZO6vGmLf4/U5y80bGD5n44nCgjH5a6x4FU9nfvu+OS3hm5PgEvyun0gpQMpb9B0hsDaC5aN2vN2jhAODxETvCMWAuCI/5xW5jEYSzZx8q77or1VB0wF/KQpiQwrBe6toYH7HXWrDuynKYDPwghZY6ckdLBMIvk2Br4s4KaEq57vpCYf8PaRst3gCBGxwOnkh1kViEfJh1QuL1JEy/kBkvPrAwbEuewYm/TGOzADEQL8viZxjppon5t41w+587i3EGx7/rji1xITXp/wkb1uKd+mQxHDzxm88y8K2F5YA/ITZk8BOrWEy7DyWv+38Ji844DCAmQbDoPXdgWakQAjGj3MjAnS6TKiY/9w/GMh1rio6VCyG/P5GXRgKjSjE0wRj0xZRZaWXzSmEtQsirH6UbFAM/ssEhRq78s7qI0Y/c0fqEkKgYRLioGBvmK3LLQlWwViHEijHirxaqxAjX9WnY8Pvb3zKETdYt4mqBG4UTXSY7g589YlNCcXZ+lz6lEEU6uAsLxZvFJyZJSLYj4+/fasT961/G+qCZcVAXyS6qCtg5a/eRVIySETL/pfXM7eRB1nJbpnDG1VSyDaGIVz/4KoIsQYiyzz6vtZIybkPwoI9wI+/nU4TakMFgxzOYKcvuTH3LUL3SotEHwytK/COlyr4YFUGK7aihO/Ozv201rNVH6LxBEUiUUREF99xriLlPrU2IFSEyCYrYlF5UBBdaVet5s2YhURHI8pUiiL5Fn6py9o/udfVCrAgVMCeK2JLdShEW89QdhMnVvIRZqRA4dtuK8JQjmKFpsghm9KrNPG4NLewfrEyIFYHsHBSxiRIkRQR9QxQ3ziswc7Mi4fBrP3CjIy3VlgzlNOoZ95cS/YncMZ+tiNKeUy0RJGmns7yF6hfi74lEd8Ypxh2WqCGiOm8QYwYyfPDSnVnKQootGVbDvgc7Q7UJMeHZaUStNoZ/Q7vsI9rEGju4YWtiR25VUES9NkbPt79WFqJMPFoQTj9teWEXoxHWhLdOqn1ihhmF9pvLptX7MKnVx7Ad2WycbG52BrbgC4p5onrX/yvw0XMsovy7nR4hiQ5Xhk0elAzmk+Q5RG24oPAFPoegYTTN9Z4b/WBg8EO/0BARbsH5o1Zqj+R6QIDJISLeRPInRHaGaDI3T5IIEs7sbMIwXt8UbGNkCmE2oZ0H/Ka1iK9Xsnb4DYiLQcixfVQLmdE8CKRjm0kGeSJtFhZJF0KK5DXEf612fW8bq+bwKl9/qidkRiEIYrBmaNw7Z/1lDlCQHjaZgcs0E3IZ26JjuJ59MYCl/Lzg5APjR7FVwDzwrsgzn1FRp/tAHJH/AbghFlliYr94AAAAAElFTkSuQmCC",
                                        "useIcon": true
                                    },
                                    "Header": {
                                        "Title": "VM Level Status",
                                        "Subtitle": ""
                                    },
                                    "LineChart": {
                                        "Query": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                        "Callout": {
                                            "Title": "VM Level Status xxxxxxxxxxx",
                                            "Series": "",
                                            "Operation": "Sum"
                                        },
                                        "yAxis": {
                                            "isLogarithmic": false,
                                            "units": {
                                                "baseUnitType": "",
                                                "baseUnit": "",
                                                "displayUnit": ""
                                            },
                                            "customLabel": ""
                                        },
                                        "NavigationSelect": {}
                                    },
                                    "List": {
                                        "Query": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                        "HideGraph": false,
                                        "enableSparklines": false,
                                        "operation": "Count",
                                        "ColumnsTitle": {
                                            "Name": "VM Name",
                                            "Value": "xxxxxxxxx"
                                        },
                                        "Color": "#dd5900",
                                        "thresholds": {
                                            "isEnabled": false,
                                            "values": [
                                                {
                                                    "name": "Normal",
                                                    "threshold": "Default",
                                                    "color": "#009e49",
                                                    "isDefault": true
                                                },
                                                {
                                                    "name": "Warning",
                                                    "threshold": "60",
                                                    "color": "#fcd116",
                                                    "isDefault": false
                                                },
                                                {
                                                    "name": "Error",
                                                    "threshold": "90",
                                                    "color": "#ba141a",
                                                    "isDefault": false
                                                }
                                            ]
                                        },
                                        "NameDSVSeparator": "",
                                        "NavigationQuery": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                        "NavigationSelect": {
                                            "NavigationQuery": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
                                        }
                                    }
                                }
                            },
],
                        "Filters": [],
                        "OverviewTile": {
                            "Id": "SingleQueryDonutBuilderTileV1",
                            "Type": "OverviewTile",
                            "Version": 2,
                            "Configuration": {
                                "Donut": {
                                    "Query": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                    "CenterLegend": {
                                        "Text": "Status",
                                        "Operation": "Percentage",
                                        "ArcsToSelect": [
                                            "Success",
                                            "Interrupt"
                                        ]
                                    },
                                    "Options": {
                                        "colors": [
                                            "#00188f",
                                            "#0072c6",
                                            "#00bcf2"
                                        ],
                                        "valueColorMapping": [
                                            {
                                                "value": "Success",
                                                "color": "#0072c6"
                                            },
                                            {
                                                "value": "Failure",
                                                "color": "#ba141a"
                                            },
                                            {
                                                "value": "Interrupt",
                                                "color": "#fcd116"
                                            }
                                        ]
                                    }
                                },
                                "Advanced": {
                                    "DataFlowVerification": {
                                        "Enabled": false,
                                        "Query": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                                        "Message": ""
                                    }
                                }
                            }
                        }
                    }
                }
            ]
        }
    ]
}


The above sample template of omsview file is fetched from this this reference which explains about process importing custom omsview for AD sign-in events and Azure AD account provisioning events. 


Also you may refer this this pdf which provides insights about view designer and dashboards.


Hope this helps!!

Pavithra_Tools on Fri, 05 Apr 2019 13:53:35


Thank you very much for the reply. 

I'm infact exploring the view designer options now.

I tried to use the above code, changed XXXXX on the query to a sample perf query and tried to import it with the file of name filename.omsview

The designer does not import it and throws the error to enter a valid omsview file.

If you have a working example, could you give me a sample query and a screenshot of the view. I will try to create it using that as a model. I'm unable to imagine the view at the momemt.

KrishnaG - MSFT on Mon, 08 Apr 2019 06:44:38


Hi Pavithra_Tools, 


Sure :) but I already have shared the reference details in my previous answer i.e., this link 
which has a GitHub repository link provided in prerequisites of that article which is this one.


You may just download both the .omsview files from this GitHub repository to check the complete omsview sample templates.


Please check below screenshots for reference:




Note: If you think your question has been answered click "Mark as Answer", if just helped then click "Vote as helpful". This can be beneficial to other community members reading this forum thread.


Pavithra_Tools on Mon, 08 Apr 2019 17:15:50


Thank you very much. This helps. I will refer to the links and proceed to work on my exact use case scenario.