(import 'dashboards/smb-overview.libsonnet') +
(import 'dashboards/ceph-nvmeof.libsonnet') +
(import 'dashboards/ceph-nvmeof-performance.libsonnet') +
+ (import 'dashboards/hardware.libsonnet') +
{ _config:: $._config },
}
g.template.new(
'fan_speeds',
'$datasource',
- 'label_values(ceph_node_proxy_fan_rpm{hostname="$hostname"},fan_name)',
+ 'label_values(ceph_node_proxy_fan_rpm{hostname=~"$hostname"},fan_name)',
label='',
refresh='load',
includeAll=true,
- multi=false,
+ multi=true,
allValues='',
sort=0,
- regex='/.*TACH.*/',
+ regex='',
hide=2
)
)
datasource='$datasource',
gridPosition={ h: 3, w: 2, x: 0, y: 2 }
).addTarget($.addTargetSchema(
- 'ceph_node_proxy_health{hostname="$hostname",category="power"}',
+ 'ceph_node_proxy_health{hostname=~"$hostname",category="power"}',
legendFormat='__auto'
))
+ {
datasource='$datasource',
gridPosition={ h: 4, w: 3, x: 17, y: 2 }
).addTarget($.addTargetSchema(
- 'count(ceph_node_proxy_temperature_celsius{hostname=~"$hostname", sensor_name=~"NVME.*"})',
+ 'count(ceph_node_proxy_storage_capacity_bytes{hostname=~"$hostname", protocol="NVMe"})',
legendFormat='__auto'
)),
legendFormat='__auto'
)),
- // Power Control
+ // Network
$.addStatPanel(
- title='Power Control',
+ title='Network',
unit='short',
datasource='$datasource',
gridPosition={ h: 3, w: 2, x: 0, y: 5 }
).addTarget($.addTargetSchema(
- 'ceph_node_proxy_health{hostname="$hostname",category="power"}',
+ 'ceph_node_proxy_health{hostname=~"$hostname",category="network"}',
legendFormat='__auto'
))
+ {
datasource='$datasource',
gridPosition={ h: 3, w: 2, x: 0, y: 8 }
).addTarget($.addTargetSchema(
- 'ceph_node_proxy_health{hostname="$hostname",category="fans"}',
+ 'ceph_node_proxy_health{hostname=~"$hostname",category="fans"}',
legendFormat='__auto'
))
+ {
datasource='$datasource',
gridPosition={ h: 3, w: 2, x: 0, y: 11 }
).addTarget($.addTargetSchema(
- 'ceph_node_proxy_health{hostname="$hostname",category="storage"}',
+ 'ceph_node_proxy_health{hostname=~"$hostname",category="storage"}',
legendFormat='__auto'
))
+ {
format='short',
).addTarget(
g.prometheus.target(
- 'avg(ceph_node_proxy_fan_rpm{hostname=~"$hostname", fan_name=~".*TACH.*"})',
+ 'avg(ceph_node_proxy_fan_rpm{hostname=~"$hostname", fan_name!~"PSU.*"})',
legendFormat='System Fans'
)
)
"pluginVersion": "9.1.3",
"targets": [
{
- "expr": "ceph_node_proxy_health{hostname=\"$hostname\",category=\"power\"}",
+ "expr": "ceph_node_proxy_health{hostname=~\"$hostname\",category=\"power\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "__auto",
"pluginVersion": "9.1.3",
"targets": [
{
- "expr": "count(ceph_node_proxy_temperature_celsius{hostname=~\"$hostname\", sensor_name=~\"NVME.*\"})",
+ "expr": "count(ceph_node_proxy_storage_capacity_bytes{hostname=~\"$hostname\", protocol=\"NVMe\"})",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "__auto",
"pluginVersion": "9.1.3",
"targets": [
{
- "expr": "ceph_node_proxy_health{hostname=\"$hostname\",category=\"power\"}",
+ "expr": "ceph_node_proxy_health{hostname=~\"$hostname\",category=\"network\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "__auto",
"refId": "A"
}
],
- "title": "Power Control",
+ "title": "Network",
"transparent": false,
"type": "stat"
},
"pluginVersion": "9.1.3",
"targets": [
{
- "expr": "ceph_node_proxy_health{hostname=\"$hostname\",category=\"fans\"}",
+ "expr": "ceph_node_proxy_health{hostname=~\"$hostname\",category=\"fans\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "__auto",
"pluginVersion": "9.1.3",
"targets": [
{
- "expr": "ceph_node_proxy_health{hostname=\"$hostname\",category=\"storage\"}",
+ "expr": "ceph_node_proxy_health{hostname=~\"$hostname\",category=\"storage\"}",
"format": "time_series",
"intervalFactor": 1,
"legendFormat": "__auto",
"steppedLine": false,
"targets": [
{
- "expr": "avg(ceph_node_proxy_fan_rpm{hostname=~\"$hostname\", fan_name=~\".*TACH.*\"})",
+ "expr": "avg(ceph_node_proxy_fan_rpm{hostname=~\"$hostname\", fan_name!~\"PSU.*\"})",
"format": "time_series",
"intervalFactor": 2,
"legendFormat": "System Fans",
"hide": 2,
"includeAll": true,
"label": "",
- "multi": false,
+ "multi": true,
"name": "fan_speeds",
"options": [ ],
- "query": "label_values(ceph_node_proxy_fan_rpm{hostname=\"$hostname\"},fan_name)",
+ "query": "label_values(ceph_node_proxy_fan_rpm{hostname=~\"$hostname\"},fan_name)",
"refresh": 1,
- "regex": "/.*TACH.*/",
+ "regex": "",
"sort": 0,
"tagValuesQuery": "",
"tags": [ ],
)
self.metrics['node_proxy_memory_capacity_mib'].set(capacity, labels)
- for category in ['storage', 'processors', 'memory', 'power', 'fans', 'network']:
+ for category in ['storage', 'processors', 'memory', 'power', 'fans', 'network', 'temperatures']:
for sys_id, components in status.get(category, {}).items():
for comp_id, comp in components.items():
health_str = comp.get('status', {}).get('health', 'Unknown')