{
  "checks": [
    {
      "name": "IPsec tunnels established",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "7a484e91-4d66-5d85-9b42-91230506cd4f",
        "value_unit": "tunnels",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 0,
      "value_type": "info",
      "description": "",
      "check_config": {
        "script_id": "7a484e91-4d66-5d85-9b42-91230506cd4f",
        "value_unit": "tunnels",
        "extract_value": "^(\\d+)"
      },
      "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": "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": "OpenVPN clients connected",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "e57b5bf5-06e7-5aa3-b996-e8493b48cfb2",
        "value_unit": "clients",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 1,
      "value_type": "info",
      "description": "",
      "check_config": {
        "script_id": "e57b5bf5-06e7-5aa3-b996-e8493b48cfb2",
        "value_unit": "clients",
        "extract_value": "^(\\d+)"
      },
      "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": "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": "DHCP leases active",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "8450f817-2d27-57fe-9ed3-3ee2b97e3b64",
        "value_unit": "leases",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 2,
      "value_type": "info",
      "description": "",
      "check_config": {
        "script_id": "8450f817-2d27-57fe-9ed3-3ee2b97e3b64",
        "value_unit": "leases",
        "extract_value": "^(\\d+)"
      },
      "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": "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": "Firewall state table usage (%)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "5b0f7b13-ac3a-5ec6-8c20-2a51d2dc090b",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 3,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "5b0f7b13-ac3a-5ec6-8c20-2a51d2dc090b",
        "value_unit": "%",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 90,
      "threshold_warn": 70,
      "interval_seconds": 120,
      "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": 3,
      "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": "Gateway monitoring (down)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "35765ae2-6aea-50d1-8911-cfd8612658e5",
        "value_unit": "gws",
        "extract_value": "^(\\d+)"
      },
      "sort_order": 4,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "35765ae2-6aea-50d1-8911-cfd8612658e5",
        "value_unit": "gws",
        "extract_value": "^(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 1,
      "threshold_warn": 1,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "PF State Count",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.12325.1.200.1.3.1.0",
        "unit": "count"
      },
      "sort_order": 4,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.12325.1.200.1.3.1.0",
        "unit": "count"
      },
      "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": "PF State Limit",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.12325.1.200.1.5.0",
        "unit": "count"
      },
      "sort_order": 5,
      "value_type": "info",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.12325.1.200.1.5.0",
        "unit": "count"
      },
      "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": "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": 6,
      "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": "CPU Load 5min (×100)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.10.1.5.2",
        "unit": "percent"
      },
      "sort_order": 7,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.10.1.5.2",
        "unit": "percent"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 85,
      "threshold_warn": 70,
      "interval_seconds": 120,
      "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": 8,
      "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": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "Memory Total (kB)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.4.5.0",
        "unit": "bytes"
      },
      "sort_order": 9,
      "value_type": "info",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.4.5.0",
        "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": "Swap Used (kB)",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.4.4.0",
        "unit": "bytes"
      },
      "sort_order": 10,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.4.4.0",
        "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": "Disk / Used %",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "snmp_oid",
      "parameters": {
        "oid": "1.3.6.1.4.1.2021.9.1.9.1",
        "unit": "percent"
      },
      "sort_order": 11,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "oid": "1.3.6.1.4.1.2021.9.1.9.1",
        "unit": "percent"
      },
      "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": "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": 12,
      "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": "shield",
    "name": "pfSense Firewall",
    "tags": [],
    "vendor": "netgate",
    "category": "firewall",
    "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": "IPsec tunnels established",
      "script_id": "7a484e91-4d66-5d85-9b42-91230506cd4f",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "pfSsh.php playback ipsec_list_sa 2>/dev/null | grep -c 'state.*ESTABLISHED' || ipsec statusall 2>/dev/null | grep -c 'ESTABLISHED' || echo 0",
      "expected_output": "nagios"
    },
    {
      "name": "OpenVPN clients connected",
      "script_id": "e57b5bf5-06e7-5aa3-b996-e8493b48cfb2",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "echo 'status 2' | nc -w 2 127.0.0.1 1195 2>/dev/null | grep -c '^CLIENT_LIST' || echo 0",
      "expected_output": "nagios"
    },
    {
      "name": "DHCP leases active",
      "script_id": "8450f817-2d27-57fe-9ed3-3ee2b97e3b64",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "grep -c 'binding state active' /var/dhcpd/var/db/dhcpd.leases 2>/dev/null || echo 0",
      "expected_output": "nagios"
    },
    {
      "name": "Firewall state table usage (%)",
      "script_id": "5b0f7b13-ac3a-5ec6-8c20-2a51d2dc090b",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "pfctl -si 2>/dev/null | awk '/^Limit-states/{lim=$NF}/^current entries/{cur=$NF} END{if(lim>0)printf \\\"%d\\\",(cur/lim)*100; else print 0}'",
      "expected_output": "nagios"
    },
    {
      "name": "Gateway monitoring (down)",
      "script_id": "35765ae2-6aea-50d1-8911-cfd8612658e5",
      "is_builtin": true,
      "description": "Auto-registered builtin SSH script.",
      "interpreter": "bash",
      "script_body": "dpinger status 2>/dev/null | grep -c 'state down' || echo 0",
      "expected_output": "nagios"
    }
  ],
  "schema_version": 1
}