{
  "checks": [
    {
      "name": "Ping",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ping",
      "parameters": {},
      "sort_order": 0,
      "value_type": "duration",
      "description": "",
      "check_config": {},
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "HTTPS Port",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "port",
      "parameters": {
        "port": 443
      },
      "sort_order": 1,
      "value_type": "status",
      "description": "",
      "check_config": {
        "port": 443
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "SSH Port",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "port",
      "parameters": {
        "port": 22
      },
      "sort_order": 2,
      "value_type": "status",
      "description": "",
      "check_config": {
        "port": 22
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "SMB Port",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "port",
      "parameters": {
        "port": 445
      },
      "sort_order": 3,
      "value_type": "status",
      "description": "",
      "check_config": {
        "port": 445
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "SSL Certificate",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssl_certificate",
      "parameters": {
        "port": 443
      },
      "sort_order": 4,
      "value_type": "duration",
      "description": "",
      "check_config": {
        "port": 443
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 7,
      "threshold_warn": 30,
      "interval_seconds": 3600,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool health (errored pools)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "ef74d623-3129-5fac-b6ac-268f0959e315",
        "value_unit": "pools",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 5,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "ef74d623-3129-5fac-b6ac-268f0959e315",
        "value_unit": "pools",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 1,
      "threshold_warn": 1,
      "interval_seconds": 120,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool Health",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.7.1",
        "unit": "enum"
      },
      "sort_order": 5,
      "value_type": "status",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.7.1",
        "unit": "enum"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool Size",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.4.1",
        "unit": "bytes"
      },
      "sort_order": 6,
      "value_type": "info",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.4.1",
        "unit": "bytes"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 3600,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool capacity max (%)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "f98e2344-c566-5976-92a7-3bd780c2c11c",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 6,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "f98e2344-c566-5976-92a7-3bd780c2c11c",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 95,
      "threshold_warn": 85,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool Used",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.5.1",
        "unit": "bytes"
      },
      "sort_order": 7,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.50536.1.1.1.1.5.1",
        "unit": "bytes"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZPool I/O errors total (last status)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "48ab6ea0-9e9e-565e-a964-3fb863a37237",
        "value_unit": "errors",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 7,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "48ab6ea0-9e9e-565e-a964-3fb863a37237",
        "value_unit": "errors",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 10,
      "threshold_warn": 1,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "ZFS dataset count",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "34382db9-fc08-597b-b5b9-8bfdca738874",
        "value_unit": "datasets",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 8,
      "value_type": "info",
      "description": "",
      "check_config": {
        "script_id": "34382db9-fc08-597b-b5b9-8bfdca738874",
        "value_unit": "datasets",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 86400,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Scrub in progress (worst pool)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "e3a26bcd-6289-5041-bc5c-36f17dcb22c1",
        "value_unit": "pools",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 9,
      "value_type": "info",
      "description": "",
      "check_config": {
        "script_id": "e3a26bcd-6289-5041-bc5c-36f17dcb22c1",
        "value_unit": "pools",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 3600,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "SMART Disks failed (count)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "5e98d9f9-313a-5357-8435-faee30c8b319",
        "value_unit": "disks",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 10,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "5e98d9f9-313a-5357-8435-faee30c8b319",
        "value_unit": "disks",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 1,
      "threshold_warn": 1,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Disk temperature max (°C)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "1572efe5-6a07-56d5-ade9-f8622dcae6df",
        "value_unit": "°C",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 11,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "1572efe5-6a07-56d5-ade9-f8622dcae6df",
        "value_unit": "°C",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 55,
      "threshold_warn": 45,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Disk power-on hours max (years)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "f66b2035-d095-5a20-997a-ba9d3a61f4ec",
        "value_unit": "years",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 12,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "f66b2035-d095-5a20-997a-ba9d3a61f4ec",
        "value_unit": "years",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 8,
      "threshold_warn": 5,
      "interval_seconds": 86400,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Load average per core (%)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "81fffd25-8464-5bbb-96f1-e2f5d061f393",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 13,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "81fffd25-8464-5bbb-96f1-e2f5d061f393",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 500,
      "threshold_warn": 200,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "CPU Load 1min (×100)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.10.1.5.1",
        "unit": "percent"
      },
      "sort_order": 14,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.10.1.5.1",
        "unit": "percent"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 90,
      "threshold_warn": 75,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Memory Available (kB)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.4.6.0",
        "unit": "bytes"
      },
      "sort_order": 15,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.4.6.0",
        "unit": "bytes"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 120,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "SNMP Uptime",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.2.1.1.3.0",
        "unit": "ticks"
      },
      "sort_order": 16,
      "value_type": "duration",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.2.1.1.3.0",
        "unit": "ticks"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 300,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    }
  ],
  "profile": {
    "icon": "hard-drive",
    "name": "TrueNAS",
    "tags": [],
    "vendor": "ixsystems",
    "category": "nas",
    "os_family": null,
    "description": "",
    "ip_required": true,
    "port_layout": null,
    "visual_type": null,
    "snmp_enabled": true,
    "agent_capable": false,
    "requires_snmp": true,
    "requires_agent": false,
    "sysoid_patterns": null,
    "sysdescr_patterns": null,
    "requires_collector": true
  },
  "scripts": [
    {
      "name": "ZPool health (errored pools)",
      "script_id": "ef74d623-3129-5fac-b6ac-268f0959e315",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "zpool status -x 2>/dev/null | grep -cE 'DEGRADED|FAULTED|OFFLINE|UNAVAIL' || echo 0",
      "expected_output": "nagios"
    },
    {
      "name": "ZPool capacity max (%)",
      "script_id": "f98e2344-c566-5976-92a7-3bd780c2c11c",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "zpool list -H -o capacity 2>/dev/null | tr -d % | sort -n | tail -1",
      "expected_output": "nagios"
    },
    {
      "name": "ZPool I/O errors total (last status)",
      "script_id": "48ab6ea0-9e9e-565e-a964-3fb863a37237",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "zpool status 2>/dev/null | awk '/^\\\\s+[a-z0-9]/ && NF>=5 {r+=$3; w+=$4; c+=$5} END {print r+w+c+0}'",
      "expected_output": "nagios"
    },
    {
      "name": "ZFS dataset count",
      "script_id": "34382db9-fc08-597b-b5b9-8bfdca738874",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "zfs list -H 2>/dev/null | wc -l",
      "expected_output": "nagios"
    },
    {
      "name": "Scrub in progress (worst pool)",
      "script_id": "e3a26bcd-6289-5041-bc5c-36f17dcb22c1",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "zpool status 2>/dev/null | grep -c 'scrub in progress' || echo 0",
      "expected_output": "nagios"
    },
    {
      "name": "NAS — SMART disks failed (count)",
      "script_id": "5e98d9f9-313a-5357-8435-faee30c8b319",
      "is_builtin": true,
      "description": "Loops over `smartctl --scan` on a Linux/BSD NAS and counts disks whose SMART health is not PASSED. Used as worst-of-all aggregate.",
      "interpreter": "bash",
      "script_body": "smartctl --scan 2>/dev/null | awk '/\\/dev\\//{print $1}' | head -32 | xargs -r -I{} sh -c 'smartctl -H {} 2>/dev/null | grep -q PASSED || echo F' | grep -c F | head -1",
      "expected_output": "nagios"
    },
    {
      "name": "NAS — Disk temperature max (°C)",
      "script_id": "1572efe5-6a07-56d5-ade9-f8622dcae6df",
      "is_builtin": true,
      "description": "Max temperature reading across all SMART-capable disks via smartctl -A.",
      "interpreter": "bash",
      "script_body": "for d in $(smartctl --scan 2>/dev/null | awk '/\\/dev\\//{print $1}' | head -32); do smartctl -A $d 2>/dev/null | awk '/Temperature_Celsius|Airflow_Temperature_Cel|Current_Drive_Temperature/{print $10+0; exit}'; done | sort -n | tail -1",
      "expected_output": "nagios"
    },
    {
      "name": "NAS — Disk power-on hours max (years)",
      "script_id": "f66b2035-d095-5a20-997a-ba9d3a61f4ec",
      "is_builtin": true,
      "description": "Lifetime indicator: max power-on hours / 8760 across all disks.",
      "interpreter": "bash",
      "script_body": "for d in $(smartctl --scan 2>/dev/null | awk '/\\/dev\\//{print $1}' | head -32); do smartctl -A $d 2>/dev/null | awk '/Power_On_Hours/{print int($10/8760); exit}'; done | sort -n | tail -1",
      "expected_output": "nagios"
    },
    {
      "name": "Linux — Load average per core (%)",
      "script_id": "81fffd25-8464-5bbb-96f1-e2f5d061f393",
      "is_builtin": true,
      "description": "1-min loadavg normalised to %  (load/cores × 100).",
      "interpreter": "bash",
      "script_body": "awk '{print $1}' /proc/loadavg | awk -v c=$(nproc 2>/dev/null||echo 1) '{printf \\\"%d\\\", ($1/c)*100}'",
      "expected_output": "nagios"
    }
  ],
  "schema_version": 1
}