Skip to content

Commit

Permalink
feat: adding new idrac entity definition (#323)
Browse files Browse the repository at this point in the history
  • Loading branch information
thezackm committed Oct 6, 2021
1 parent 5d246bb commit e92f5a2
Show file tree
Hide file tree
Showing 4 changed files with 301 additions and 0 deletions.
60 changes: 60 additions & 0 deletions definitions/ext-idrac/definition.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
domain: EXT
type: IDRAC
synthesis:
name: device_name
identifier: device_name
encodeIdentifierInGUID: true

conditions:
- attribute: provider
value: kentik-idrac

tags:
src_addr:
entityTagName: device_ip
systemStateAmperageStatusCombined:
multiValue: false
entityTagName: amperage_status
systemStateChassisIntrusionStatusCombined:
multiValue: false
entityTagName: chassis_intrusion_status
systemStateChassisStatus:
multiValue: false
entityTagName: chassis_status
systemStateCoolingDeviceStatusCombined:
multiValue: false
entityTagName: cooling_device_status
systemStateCoolingUnitStatusCombined:
multiValue: false
entityTagName: cooling_unit_status
systemStateCoolingUnitStatusRedundancy:
multiValue: false
entityTagName: cooling_unit_redundancy
systemStateMemoryDeviceStatusCombined:
multiValue: false
entityTagName: memory_device_status
systemStatePowerSupplyStatusCombined:
multiValue: false
entityTagName: power_supply_status
systemStatePowerUnitStatusCombined:
multiValue: false
entityTagName: power_unit_status
systemStatePowerUnitStatusRedundancy:
multiValue: false
entityTagName: power_unit_redundance
systemStateProcessorDeviceStatusCombined:
multiValue: false
entityTagName: processor_device_status
systemStateTemperatureStatisticsStatusCombined:
multiValue: false
entityTagName: temperature_statistics_status
systemStateTemperatureStatusCombined:
multiValue: false
entityTagName: temperature_status

goldenTags:
- device_ip

dashboardTemplates:
kentik/dell-idrac:
template: dell-idrac-dashboard.json
186 changes: 186 additions & 0 deletions definitions/ext-idrac/dell-idrac-dashboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
{
"name": "Dell iDRAC",
"description": "",
"pages": [
{
"name": "Dell iDRAC",
"description": "",
"widgets": [
{
"visualization": {
"id": "viz.billboard"
},
"layout": {
"column": 1,
"row": 1,
"height": 4,
"width": 2
},
"title": "Device Uptime",
"rawConfiguration": {
"dataFormatters": [
{
"name": "Total Days",
"precision": null,
"type": "humanized"
},
{
"name": "Total Hours",
"precision": null,
"type": "humanized"
}
],
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(`kentik.snmp.Uptime`)/100/60/60/24 AS 'Total Days', latest(`kentik.snmp.Uptime`)/100/60/60 AS 'Total Hours' WHERE provider = 'kentik-idrac'"
}
],
"thresholds": []
}
},
{
"visualization": {
"id": "viz.billboard"
},
"layout": {
"column": 3,
"row": 1,
"height": 4,
"width": 5
},
"title": "Overall System State",
"rawConfiguration": {
"dataFormatters": [],
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(systemStateAmperageStatusCombined) AS 'Amperage Status', latest(systemStateChassisIntrusionStatusCombined) AS 'Chassis Intrusion Status', latest(systemStateChassisStatus) AS 'Chassis Status', latest(systemStateCoolingDeviceStatusCombined) AS 'Cooling Device Status', latest(systemStateCoolingUnitStatusCombined) AS 'Cooling Unit Status', latest(systemStateCoolingUnitStatusRedundancy) AS 'Cooling Unit Redundancy', latest(systemStateMemoryDeviceStatusCombined) AS 'Memory Device Status', latest(systemStatePowerSupplyStatusCombined) AS 'Power Supply Status', latest(systemStatePowerUnitStatusCombined) AS 'Power Unit Status', latest(systemStatePowerUnitStatusRedundancy) AS 'Power Unit Redundancy', latest(systemStateProcessorDeviceStatusCombined) AS 'Processor Device Status', latest(systemStateTemperatureStatisticsStatusCombined) AS 'Temperature Statistics Status', latest(systemStateTemperatureStatusCombined) AS 'Temperature Status' WHERE provider = 'kentik-idrac'"
}
],
"thresholds": []
}
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 8,
"row": 1,
"height": 4,
"width": 5
},
"title": "Physical Disk State",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(physicalDiskState) AS 'Current State' FACET physicalDiskName WHERE metricName LIKE 'kentik.snmp.physicalDisk%' LIMIT MAX"
}
]
}
},
{
"visualization": {
"id": "viz.billboard"
},
"layout": {
"column": 1,
"row": 5,
"height": 4,
"width": 2
},
"title": "",
"rawConfiguration": {
"dataFormatters": [],
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(systemBIOSStatus) WHERE provider = 'kentik-idrac'"
}
],
"thresholds": []
}
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 3,
"row": 5,
"height": 4,
"width": 3
},
"title": "Controller Status",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(controllerRollUpStatus) AS 'Current Status' FACET controllerName WHERE metricName = 'kentik.snmp.controllerRollUpStatus'"
}
]
}
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 6,
"row": 5,
"height": 4,
"width": 3
},
"title": "System Slot Status",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(systemSlotStatus) AS 'Current Status' FACET systemSlotSlotExternalSlotName AS 'Slot Name' WHERE provider = 'kentik-idrac'"
}
]
}
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 9,
"row": 5,
"height": 4,
"width": 4
},
"title": "PCI Device Status",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "FROM Metric SELECT latest(pCIDeviceStatus) AS 'Current Status' FACET pCIDeviceDescriptionName AS 'PCI Name' WHERE provider = 'kentik-idrac' LIMIT MAX"
}
]
}
}
]
}
]
}

23 changes: 23 additions & 0 deletions definitions/ext-idrac/golden_metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
temperatureStatus:
title: Temperature Status
query:
select: latest(systemStateTemperatureStatusCombined)
from: Metric
where: "provider = 'kentik-idrac'"
displayAsValue: true

psuStatus:
title: PowerSupply Status
query:
select: latest(systemStatePowerSupplyStatusCombined)
from: Metric
where: "provider = 'kentik-idrac'"
displayAsValue: true

memoryStatus:
title: Memory Status
query:
select: latest(systemStateMemoryDeviceStatusCombined)
from: Metric
where: "provider = 'kentik-idrac'"
displayAsValue: true
32 changes: 32 additions & 0 deletions definitions/ext-idrac/summary_metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
ipAddress:
title: IP Address
unit: STRING
tag:
key: device_ip

uptime:
title: Uptime
unit: SECONDS
query:
select: latest(kentik.snmp.Uptime)/100
from: Metric
where: "provider = 'kentik-idrac'"
eventId: entity.guid

tempStatus:
title: Temp Status
unit: STRING
tag:
key: temperature_status

psuStatus:
title: PSU Status
unit: STRING
tag:
key: power_supply_status

memStatus:
title: Memory Status
unit: STRING
tag:
key: memory_device_status

0 comments on commit e92f5a2

Please sign in to comment.