Files
ITWorx Pulse release export bd774932d5
Public source validation / validate (push) Failing after 3m8s
Publish ITWorx Pulse source
2026-09-03 02:09:19 +02:00

398 lines
10 KiB
JSON

{
"schemaVersion": 1,
"metrics": [
{
"semanticName": "host.cpu.utilization",
"version": 1,
"description": "Average host CPU utilization excluding idle time.",
"unit": "percent",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "100 - (avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\",instance={{instance}}}[{{window}}])) * 100)",
"requiredCapabilities": [
"node-exporter.cpu"
],
"allowedLabels": [
"instance"
],
"defaultAggregation": "avg",
"cardinalityBudget": 10,
"limits": {
"maxRangeSeconds": 2592000,
"maxSeries": 10,
"maxPoints": 20000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"gauge"
],
"freshnessSeconds": 30,
"defaultThresholds": [
{
"state": "attention",
"operator": ">=",
"value": 75,
"durationSeconds": 300
},
{
"state": "degraded",
"operator": ">=",
"value": 90,
"durationSeconds": 300
}
]
},
{
"semanticName": "host.memory.utilization",
"version": 1,
"description": "Host memory utilization based on available memory.",
"unit": "percent",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "(1 - node_memory_MemAvailable_bytes{instance={{instance}}} / node_memory_MemTotal_bytes{instance={{instance}}}) * 100",
"requiredCapabilities": [
"node-exporter.memory"
],
"allowedLabels": [
"instance"
],
"defaultAggregation": "avg",
"cardinalityBudget": 10,
"limits": {
"maxRangeSeconds": 2592000,
"maxSeries": 10,
"maxPoints": 20000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"gauge"
],
"freshnessSeconds": 30,
"defaultThresholds": [
{
"state": "attention",
"operator": ">=",
"value": 80,
"durationSeconds": 300
},
{
"state": "degraded",
"operator": ">=",
"value": 92,
"durationSeconds": 300
}
]
},
{
"semanticName": "container.cpu.utilization",
"version": 1,
"description": "Container CPU utilization normalized to a percentage of one core unless configured otherwise.",
"unit": "percent",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "rate(container_cpu_usage_seconds_total{name={{container}}}[{{window}}]) * 100",
"requiredCapabilities": [
"container.cpu"
],
"allowedLabels": [
"instance",
"container",
"image"
],
"defaultAggregation": "avg",
"cardinalityBudget": 500,
"limits": {
"maxRangeSeconds": 2592000,
"maxSeries": 200,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"ranked-list",
"table"
],
"freshnessSeconds": 30,
"defaultThresholds": []
},
{
"semanticName": "container.memory.used",
"version": 1,
"description": "Current working-set memory used by a container.",
"unit": "bytes",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "container_memory_working_set_bytes{name={{container}}}",
"requiredCapabilities": [
"container.memory"
],
"allowedLabels": [
"instance",
"container",
"image"
],
"defaultAggregation": "avg",
"cardinalityBudget": 500,
"limits": {
"maxRangeSeconds": 2592000,
"maxSeries": 200,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"ranked-list",
"table"
],
"freshnessSeconds": 30,
"defaultThresholds": []
},
{
"semanticName": "storage.disk.temperature",
"version": 1,
"description": "Observed disk temperature.",
"unit": "celsius",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "smartctl_device_temperature{device={{device}}}",
"requiredCapabilities": [
"smart.temperature"
],
"allowedLabels": [
"instance",
"device",
"model",
"serial_hash"
],
"defaultAggregation": "max",
"cardinalityBudget": 100,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 100,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"gauge",
"heatmap",
"table",
"storage-map"
],
"freshnessSeconds": 300,
"defaultThresholds": [
{
"state": "attention",
"operator": ">=",
"value": 45,
"durationSeconds": 300
},
{
"state": "degraded",
"operator": ">=",
"value": 50,
"durationSeconds": 300
},
{
"state": "critical",
"operator": ">=",
"value": 60,
"durationSeconds": 60
}
]
},
{
"semanticName": "storage.disk.temperature.maximum",
"version": 1,
"description": "Maximum observed disk temperature across the approved source set.",
"unit": "celsius",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "max(max_over_time(smartctl_device_temperature[{{window}}]))",
"requiredCapabilities": [
"smart.temperature"
],
"allowedLabels": [
"instance",
"device",
"model",
"serial_hash"
],
"defaultAggregation": "max",
"cardinalityBudget": 1,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 1,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"gauge"
],
"freshnessSeconds": 300,
"defaultThresholds": []
},
{
"semanticName": "storage.pool.utilization",
"version": 1,
"description": "Used capacity as a percentage of usable pool capacity.",
"unit": "percent",
"valueKind": "gauge",
"sourceKind": "derived",
"queryTemplate": "pulse_storage_pool_used_bytes{pool={{pool}}} / pulse_storage_pool_capacity_bytes{pool={{pool}}} * 100",
"requiredCapabilities": [
"storage.pool.capacity"
],
"allowedLabels": [
"instance",
"pool",
"filesystem"
],
"defaultAggregation": "max",
"cardinalityBudget": 100,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 100,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"gauge",
"table",
"storage-map"
],
"freshnessSeconds": 120,
"defaultThresholds": [
{
"state": "attention",
"operator": ">=",
"value": 80,
"durationSeconds": 600
},
{
"state": "degraded",
"operator": ">=",
"value": 90,
"durationSeconds": 600
},
{
"state": "critical",
"operator": ">=",
"value": 97,
"durationSeconds": 300
}
]
},
{
"semanticName": "service.response_time",
"version": 1,
"description": "End-to-end probe response time.",
"unit": "seconds",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "probe_duration_seconds{probe_id={{probe_id}}}",
"requiredCapabilities": [
"probe.duration"
],
"allowedLabels": [
"probe_id",
"service_id",
"probe_type"
],
"defaultAggregation": "p95",
"cardinalityBudget": 1000,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 500,
"maxPoints": 200000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"ranked-list",
"table",
"heatmap",
"service-matrix"
],
"freshnessSeconds": 120,
"defaultThresholds": []
},
{
"semanticName": "service.availability",
"version": 1,
"description": "Probe success represented as 0 or 1 and aggregated to availability.",
"unit": "ratio",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "probe_success{probe_id={{probe_id}}}",
"requiredCapabilities": [
"probe.success"
],
"allowedLabels": [
"probe_id",
"service_id",
"probe_type"
],
"defaultAggregation": "avg",
"cardinalityBudget": 1000,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 500,
"maxPoints": 200000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries",
"table",
"service-matrix"
],
"freshnessSeconds": 120,
"defaultThresholds": []
},
{
"semanticName": "service.availability.minimum",
"version": 1,
"description": "Minimum probe availability across the approved service source set.",
"unit": "ratio",
"valueKind": "gauge",
"sourceKind": "prometheus",
"queryTemplate": "min(min_over_time(probe_success[{{window}}]))",
"requiredCapabilities": [
"probe.success"
],
"allowedLabels": [
"probe_id",
"service_id",
"probe_type"
],
"defaultAggregation": "min",
"cardinalityBudget": 1,
"limits": {
"maxRangeSeconds": 7776000,
"maxSeries": 1,
"maxPoints": 100000,
"timeoutSeconds": 10
},
"allowedVisualizations": [
"stat",
"timeseries"
],
"freshnessSeconds": 120,
"defaultThresholds": []
}
]
}