Can I have a dynamic dashboard to pull properties from devices? Windows Versions.
Summary: kel wants to create a dashboard to display Windows version information dynamically across servers. They seek a method to automatically update the dashboard with new versions without hardcoding. mike suggests setting up a dynamic table widget or using a Pie Chart with Resource Count, though it may require manual entry of versions unless regex is utilized. mgy3rb recommends using the Advanced Metrics Dashboard widget and mentions that a pie chart could also display this information effectively.
Hi,
I want to have a dashboard that will pull the windows version from a property on all Windows servers and then create a graph or table or something that would show how many devices have each value.
For Example:
Let's take the Windows Version info as found it: auto.os.version | 10.0.14393
I want a dashboard that will go through all the servers, pull a list of all the different values in that property, and then create the dashboard info to show how many devices we have on each version. I don't want to hard code the values so when a new version comes into play, it automatically gets found and added into the dashboard.
Is that possible in any way?
Patrick Rouse
·3 months agoThis is an example of a dashboard I created with Advanced Metrics widgets that shows the count of Windows devices by version.
Below is the dashboard settings, if you wanted to import them without creating the widgets yourself. The widget is exactly the same, I just cloned it three times and changed the visualization type.
{
"santabaRelease": 240,
"defaultDashboardFilters": {
"defaultDashboardFilterDetails": [
{
"name": "auto.os.version.description",
"alias": "",
"label": "",
"type": "RESOURCE_PROPERTY"
}
]
},
"widgetTokens": [],
"name": "Windows Versions",
"description": "",
"overwriteGroupFields": false,
"widgetsConfigVersion": 2,
"type": "dashboard",
"widgets": [
{
"position": {
"col": 1,
"sizex": 6,
"row": 1,
"sizey": 4
},
"config": {
"displaySettings": {},
"isSupportCustomProperty": false,
"supportCustomProperty": false,
"name": "Windows Versions",
"advancedMetricsGraphInfo": {
"maxSlicesCanBeShown": 25,
"showLabelsAndLinesOnPC": true,
"queryTimeSelectors": [
{
"isOpen": false,
"isDirty": false,
"isSingleSelect": true,
"isSuggested": true,
"name": "range",
"tooltip": "Time range for query (For example, [5m] = last 5 mins)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Time range",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
},
{
"isOpen": false,
"isRangeRequired": true,
"isSingleSelect": true,
"isSuggested": true,
"name": "step",
"tooltip": "Spacing between query results (For example, [5m:1m] where 1m is the step)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Step",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
},
{
"isOpen": false,
"isSingleSelect": true,
"isSuggested": true,
"name": "offset",
"tooltip": "Shift evaluation back in time (For example, offset 1h)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Offset",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
}
],
"legend": "",
"query": "count by(auto.os.version.description) (Active{datasource=\"Terminal Services\"})",
"lmQueryTypePreset": 1,
"hideZeroPercentSlices": false,
"queryFilters": [
{
"fetchData": "useResourceAllOptions",
"isOpen": false,
"isSuggested": true,
"name": "system.displayname",
"hideAboveMenuComponent": false,
"emptyValueText": "<Select value>",
"label": "Resource",
"value": [
{
"label": null,
"value": 0
}
]
},
{
"isDeletable": true,
"fetchData": "useDatasourceAllOptions",
"isOpen": false,
"isDirty": true,
"name": "datasource",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "DataSource",
"value": [
{
"isSelected": true,
"label": "Terminal Services",
"value": "Terminal Services"
}
],
"inclusionType": "INCLUDE"
},
{
"fetchData": "useInstanceAllOptions",
"isOpen": false,
"isSuggested": true,
"name": "instance",
"hideAboveMenuComponent": false,
"emptyValueText": "<Select value>",
"label": "Instance",
"value": [
{
"label": null,
"value": 0
}
]
},
{
"isDeletable": false,
"isOpen": false,
"fetchData": "useDatapointAllOptions",
"isDirty": true,
"name": "datapoint",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Datapoint",
"value": [
{
"isSelected": true,
"label": "Active",
"value": "Active"
}
]
}
],
"visualizationType": "donut",
"groupRemainingAsOthers": false,
"queryFunctions": [
{
"isOpen": false,
"fetchData": "usePropertyOptions",
"isBySupported": true,
"name": "count",
"tooltip": "Counts series in each property group",
"emptyValueText": "<Select value>",
"label": "Count by",
"type": "instant-vector (grouping)",
"value": [
{
"isSelected": true,
"label": "auto.os.version.description",
"id": "auto.os.version.description",
"value": "auto.os.version.description"
}
]
}
],
"queryType": "lmql"
},
"description": "",
"theme": "newBorderGray",
"interval": 3,
"type": "advancedmetrics",
"timescale": "1day",
"version": 2
}
},
{
"position": {
"col": 1,
"sizex": 6,
"row": 5,
"sizey": 4
},
"config": {
"displaySettings": {},
"isSupportCustomProperty": false,
"supportCustomProperty": false,
"name": "Windows Versions (table)",
"advancedMetricsGraphInfo": {
"showDataPointAsColumn": false,
"queryTimeSelectors": [
{
"isOpen": false,
"isDirty": false,
"isSingleSelect": true,
"isSuggested": true,
"name": "range",
"tooltip": "Time range for query (For example, [5m] = last 5 mins)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Time range",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
},
{
"isOpen": false,
"isRangeRequired": true,
"isSingleSelect": true,
"isSuggested": true,
"name": "step",
"tooltip": "Spacing between query results (For example, [5m:1m] where 1m is the step)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Step",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
},
{
"isOpen": false,
"isSingleSelect": true,
"isSuggested": true,
"name": "offset",
"tooltip": "Shift evaluation back in time (For example, offset 1h)",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Offset",
"disableGlobExpressions": true,
"value": [
{
"label": null,
"value": 0
}
],
"canAddCustomOption": true
}
],
"legend": "",
"query": "count by(auto.os.version.description) (Active{datasource=\"Terminal Services\"})",
"rounding": 0,
"queryFilters": [
{
"fetchData": "useResourceAllOptions",
"isOpen": false,
"isSuggested": true,
"name": "system.displayname",
"hideAboveMenuComponent": false,
"emptyValueText": "<Select value>",
"label": "Resource",
"value": [
{
"label": null,
"value": 0
}
]
},
{
"isDeletable": true,
"fetchData": "useDatasourceAllOptions",
"isOpen": false,
"isDirty": true,
"name": "datasource",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "DataSource",
"value": [
{
"isSelected": true,
"label": "Terminal Services",
"value": "Terminal Services"
}
],
"inclusionType": "INCLUDE"
},
{
"fetchData": "useInstanceAllOptions",
"isOpen": false,
"isSuggested": true,
"name": "instance",
"hideAboveMenuComponent": false,
"emptyValueText": "<Select value>",
"label": "Instance",
"value": [
{
"label": null,
"value": 0
}
]
},
{
"isDeletable": false,
"isOpen": false,
"fetchData": "useDatapointAllOptions",
"isDirty": true,
"name": "datapoint",
"hideAboveMenuComponent": true,
"emptyValueText": "<Select value>",
"label": "Datapoint",
"value": [
{
"isSelected": true,
"label": "Active",
"value": "Active"
}
]
}
],
"pageSize": 25,
"visualizationType": "table",
"queryFunctions": [
{
"isOpen": false,
"fetchData": "usePropertyOptions",
"isBySupported": true,
"name": "count",
"tooltip": "Counts series in each property group",
"emptyValueText": "<Select value>",
"label": "Count by",
"type": "instant-vector (grouping)",
"value": [
{
"isSelected": true,
"label": "auto.os.version.description",
"id": "auto.os.version.description",
"value": "auto.os.version.description"
}
]
}
],
"queryType": "lmql",
"transformations": [],
"lmQueryTypePreset": 2,
"colorThresholds": []
},
"description": "",
"theme": "newBorderGray",
"interval": 3,
"type": "advancedmetrics",
"timescale": "1day",
"version": 2
}
}
],
"version": 2
}
Patrick Rouse
·3 months agoYou should be able to do this with the Advanced Metrics Dashboard widget, something like the widget in the upper right but counting Windows versions. You could also display this as a pie chart.
Mike Moniz
·4 months agoI can setup a dynamic table widget (https://www.logicmonitor.com/support/table-widget) and add the property like auto.os.version to the table. It can't be the only thing on the table but it will dynamically pull all the systems you filter for. There are also other widgets like Pie Chart that can use Resource Count with an AppliesTo statement like auto.os.version == "10.0.14393" but you would likely need to manually enter in each version you want manually. Unless you can think of something fancy using regex.
I think you can look at some of the built-in LM dashboards related to Collectors, I think there may be a few in there that report the Collector version via properties.