{
  "leansignal_demand_export": "1.0",
  "exported_at": "2026-07-17T00:00:00Z",
  "source_tenant": "leansignal-catalog",
  "catalog": {
    "slug": "host-metrics-otel-demand-extended",
    "integration": "host-metrics",
    "variant": "extended",
    "title": "Host Metrics — Extended",
    "category": "Infrastructure",
    "dashboards": 1,
    "panels": 15,
    "alerts": 9,
    "docs_url": "https://docs.leansignal.io/integrations/host-metrics/"
  },
  "demand": {
    "ref": "demand",
    "name": "Host Metrics — Extended (OpenTelemetry)",
    "description": "Deep host visibility: CPU utilization and per-state breakdown, swap/paging, inodes, disk operations and busy time, dropped packets, and process counts — plus the full alert set.",
    "dashboards": [
      {
        "ref": "dash-host-metrics",
        "name": "Host Metrics — Extended",
        "description": "Host-level metrics from the OpenTelemetry hostmetrics receiver (extended variant).",
        "data": {
          "display": {
            "name": "Host Metrics — Extended"
          },
          "panels": {
            "load_average": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Load average",
                  "description": "Runnable tasks averaged over 1/5/15 minutes — sustained load above the cores line means saturation."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "decimal"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "max by (host_name) (system_cpu_load_average_1m{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · 1m"
                        }
                      }
                    }
                  },
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "max by (host_name) (system_cpu_load_average_5m{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · 5m"
                        }
                      }
                    }
                  },
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "max by (host_name) (system_cpu_load_average_15m{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · 15m"
                        }
                      }
                    }
                  },
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "count by (host_name) (count by (host_name, cpu) (system_cpu_time_seconds_total{host_name=~\"$instance\",state=\"idle\"}))",
                          "seriesNameFormat": "{{host_name}} · cores"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "cpu_utilization": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "CPU utilization",
                  "description": "Busy (non-idle) CPU fraction per host, averaged over 5m windows. Volatile by nature — read it for diagnosis; alerting rides on load per core."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "1 - avg by (host_name) (rate(system_cpu_time_seconds_total{host_name=~\"$instance\",state=\"idle\"}[5m]))",
                          "seriesNameFormat": "{{host_name}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "cpu_by_state": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "CPU by state",
                  "description": "Where CPU time goes — user, system, iowait, and friends."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "avg by (host_name, state) (rate(system_cpu_time_seconds_total{host_name=~\"$instance\",state!=\"idle\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{state}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "memory_utilization": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Memory utilization",
                  "description": "Fraction of physical memory in use per host (used state over all states)."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name) (system_memory_usage_bytes{host_name=~\"$instance\",state=\"used\"}) / sum by (host_name) (system_memory_usage_bytes{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "memory_by_state": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Memory usage by state",
                  "description": "Used vs cached vs buffered vs free, per host."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "bytes"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, state) (system_memory_usage_bytes{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · {{state}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "swap_usage": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Swap usage",
                  "description": "Sustained swap use signals memory pressure. Empty on hosts with no swap configured."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "bytes"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, state) (system_paging_usage_bytes{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · {{state}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "filesystem_utilization": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Filesystem utilization",
                  "description": "Fill level per mount point — used space over used + free."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, mountpoint) (system_filesystem_usage_bytes{host_name=~\"$instance\",state=\"used\"}) / sum by (host_name, mountpoint) (system_filesystem_usage_bytes{host_name=~\"$instance\",state=~\"used|free\"})",
                          "seriesNameFormat": "{{host_name}} · {{mountpoint}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "filesystem_inodes": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Inode utilization",
                  "description": "Inodes used per mount — a full inode table blocks writes even with disk space left."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, mountpoint) (system_filesystem_inodes_usage{host_name=~\"$instance\",state=\"used\"}) / sum by (host_name, mountpoint) (system_filesystem_inodes_usage{host_name=~\"$instance\",state=~\"used|free\"})",
                          "seriesNameFormat": "{{host_name}} · {{mountpoint}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "disk_io": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Disk I/O",
                  "description": "Read/write throughput per device."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "decbytes/sec"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, device, direction) (rate(system_disk_io_bytes_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}} {{direction}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "disk_operations": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Disk operations",
                  "description": "IOPS per device, split by read/write."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "ops/sec"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, device, direction) (rate(system_disk_operations_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}} {{direction}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "disk_busy": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Disk busy time",
                  "description": "Fraction of time each device spends servicing I/O — pinned near 100% means the device is the bottleneck."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "percent-decimal"
                      },
                      "min": 0,
                      "max": 1
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "max by (host_name, device) (rate(system_disk_io_time_seconds_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "network_io": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Network I/O",
                  "description": "Receive/transmit throughput per interface."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "decbytes/sec"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, device, direction) (rate(system_network_io_bytes_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}} {{direction}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "network_errors": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Network errors",
                  "description": "Interface errors — zero on a healthy link."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "packets/sec"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, device, direction) (rate(system_network_errors_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}} {{direction}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "network_dropped": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Network dropped packets",
                  "description": "Drops per interface — buffer or driver pressure."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "packets/sec"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, device, direction) (rate(system_network_dropped_total{host_name=~\"$instance\"}[5m]))",
                          "seriesNameFormat": "{{host_name}} · {{device}} {{direction}}"
                        }
                      }
                    }
                  }
                ]
              }
            },
            "processes_count": {
              "kind": "Panel",
              "spec": {
                "display": {
                  "name": "Processes by status",
                  "description": "Process counts by state (needs the opt-in processes scraper)."
                },
                "plugin": {
                  "kind": "TimeSeriesChart",
                  "spec": {
                    "legend": {
                      "position": "bottom",
                      "mode": "table",
                      "values": [
                        "last-number",
                        "mean",
                        "max"
                      ]
                    },
                    "yAxis": {
                      "format": {
                        "unit": "decimal"
                      },
                      "min": 0
                    }
                  }
                },
                "queries": [
                  {
                    "kind": "TimeSeriesQuery",
                    "spec": {
                      "plugin": {
                        "kind": "PrometheusTimeSeriesQuery",
                        "spec": {
                          "query": "sum by (host_name, status) (system_processes_count{host_name=~\"$instance\"})",
                          "seriesNameFormat": "{{host_name}} · {{status}}"
                        }
                      }
                    }
                  }
                ]
              }
            }
          },
          "layouts": [
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "CPU",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/load_average"
                    }
                  },
                  {
                    "x": 12,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/cpu_utilization"
                    }
                  },
                  {
                    "x": 0,
                    "y": 8,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/cpu_by_state"
                    }
                  }
                ]
              }
            },
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "Memory",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/memory_utilization"
                    }
                  },
                  {
                    "x": 12,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/memory_by_state"
                    }
                  },
                  {
                    "x": 0,
                    "y": 8,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/swap_usage"
                    }
                  }
                ]
              }
            },
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "Filesystem",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/filesystem_utilization"
                    }
                  },
                  {
                    "x": 12,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/filesystem_inodes"
                    }
                  }
                ]
              }
            },
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "Disk",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/disk_io"
                    }
                  },
                  {
                    "x": 12,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/disk_operations"
                    }
                  },
                  {
                    "x": 0,
                    "y": 8,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/disk_busy"
                    }
                  }
                ]
              }
            },
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "Network",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/network_io"
                    }
                  },
                  {
                    "x": 12,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/network_errors"
                    }
                  },
                  {
                    "x": 0,
                    "y": 8,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/network_dropped"
                    }
                  }
                ]
              }
            },
            {
              "kind": "Grid",
              "spec": {
                "display": {
                  "title": "Processes",
                  "collapse": {
                    "open": true
                  }
                },
                "items": [
                  {
                    "x": 0,
                    "y": 0,
                    "width": 12,
                    "height": 8,
                    "content": {
                      "$ref": "#/spec/panels/processes_count"
                    }
                  }
                ]
              }
            }
          ],
          "variables": [
            {
              "kind": "ListVariable",
              "spec": {
                "name": "instance",
                "display": {
                  "name": "Instance"
                },
                "allowAllValue": true,
                "allowMultiple": true,
                "customAllValue": ".*",
                "defaultValue": ".*",
                "plugin": {
                  "kind": "PrometheusLabelValuesVariable",
                  "spec": {
                    "labelName": "host_name"
                  }
                }
              }
            }
          ],
          "duration": "1h",
          "refreshInterval": "30s",
          "datasources": {}
        }
      }
    ],
    "alert_rules": [
      {
        "ref": "alert-load-critical",
        "name": "Host load high (critical)",
        "description": null,
        "query": "max by (host_name) (system_cpu_load_average_5m) / count by (host_name) (count by (host_name, cpu) (system_cpu_time_seconds_total{state=\"idle\"}))",
        "condition_op": "gt",
        "threshold": 3,
        "interval": "1m",
        "for": "10m",
        "severity": "critical",
        "message": "5m load on {{labels.host_name}} is {{value}}× its core count — the host is heavily saturated.",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-load-warning",
        "name": "Host load high (warning)",
        "description": null,
        "query": "max by (host_name) (system_cpu_load_average_5m) / count by (host_name) (count by (host_name, cpu) (system_cpu_time_seconds_total{state=\"idle\"}))",
        "condition_op": "gt",
        "threshold": 1.5,
        "interval": "1m",
        "for": "15m",
        "severity": "warning",
        "message": "5m load on {{labels.host_name}} is {{value}}× its core count — runnable tasks exceed the cores.",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-memory-critical",
        "name": "Host memory usage high (critical)",
        "description": null,
        "query": "sum by (host_name) (system_memory_usage_bytes{state=\"used\"}) / sum by (host_name) (system_memory_usage_bytes)",
        "condition_op": "gt",
        "threshold": 0.9,
        "interval": "1m",
        "for": "5m",
        "severity": "critical",
        "message": "Memory utilization on {{labels.host_name}} is above 90% ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-memory-warning",
        "name": "Host memory usage high (warning)",
        "description": null,
        "query": "sum by (host_name) (system_memory_usage_bytes{state=\"used\"}) / sum by (host_name) (system_memory_usage_bytes)",
        "condition_op": "gt",
        "threshold": 0.8,
        "interval": "1m",
        "for": "15m",
        "severity": "warning",
        "message": "Memory utilization on {{labels.host_name}} is above 80% ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-filesystem-critical",
        "name": "Host filesystem usage high (critical)",
        "description": null,
        "query": "sum by (host_name, mountpoint) (system_filesystem_usage_bytes{state=\"used\"}) / sum by (host_name, mountpoint) (system_filesystem_usage_bytes{state=~\"used|free\"})",
        "condition_op": "gt",
        "threshold": 0.9,
        "interval": "1m",
        "for": "10m",
        "severity": "critical",
        "message": "Filesystem {{labels.mountpoint}} on {{labels.host_name}} is above 90% full ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-filesystem-warning",
        "name": "Host filesystem usage high (warning)",
        "description": null,
        "query": "sum by (host_name, mountpoint) (system_filesystem_usage_bytes{state=\"used\"}) / sum by (host_name, mountpoint) (system_filesystem_usage_bytes{state=~\"used|free\"})",
        "condition_op": "gt",
        "threshold": 0.8,
        "interval": "1m",
        "for": "15m",
        "severity": "warning",
        "message": "Filesystem {{labels.mountpoint}} on {{labels.host_name}} is above 80% full ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-inodes-high",
        "name": "Host filesystem inodes high",
        "description": null,
        "query": "sum by (host_name, mountpoint) (system_filesystem_inodes_usage{state=\"used\"}) / sum by (host_name, mountpoint) (system_filesystem_inodes_usage{state=~\"used|free\"})",
        "condition_op": "gt",
        "threshold": 0.85,
        "interval": "1m",
        "for": "15m",
        "severity": "warning",
        "message": "Inode usage on {{labels.mountpoint}} ({{labels.host_name}}) is above 85% ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-swap-high",
        "name": "Host swap usage high",
        "description": null,
        "query": "sum by (host_name) (system_paging_usage_bytes{state=\"used\"}) / sum by (host_name) (system_paging_usage_bytes)",
        "condition_op": "gt",
        "threshold": 0.5,
        "interval": "1m",
        "for": "15m",
        "severity": "warning",
        "message": "Swap utilization on {{labels.host_name}} is above 50% ({{value}}).",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      },
      {
        "ref": "alert-network-errors-high",
        "name": "Host network errors high",
        "description": null,
        "query": "sum by (host_name) (rate(system_network_errors_total[5m]))",
        "condition_op": "gt",
        "threshold": 10,
        "interval": "1m",
        "for": "5m",
        "severity": "warning",
        "message": "Network error rate on {{labels.host_name}} is {{value}}/s.",
        "notify_on_resolve": true,
        "paused": false,
        "channels": []
      }
    ]
  }
}
