{
  "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": "WG Handshake",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "c10b8f9f-2301-5e54-80cb-83fc1b80a3d5",
        "value_unit": "s",
        "extract_value": "(\\d+)"
      },
      "sort_order": 1,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "c10b8f9f-2301-5e54-80cb-83fc1b80a3d5",
        "value_unit": "s",
        "extract_value": "(\\d+)"
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": 300,
      "threshold_warn": 120,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    },
    {
      "name": "WG Interface Up",
      "auto_add": true,
      "check_mode": "passive",
      "check_type": "ssh_script",
      "parameters": {
        "script_id": "e87f562d-5f5f-513d-b2bc-4f4b000bca60",
        "match_regex": "running",
        "fail_if_match": false
      },
      "sort_order": 2,
      "value_type": "gauge",
      "description": "",
      "check_config": {
        "script_id": "e87f562d-5f5f-513d-b2bc-4f4b000bca60",
        "match_regex": "running",
        "fail_if_match": false
      },
      "is_telemetry": false,
      "interpretation": null,
      "threshold_crit": null,
      "threshold_warn": null,
      "interval_seconds": 60,
      "threshold_direction": "upper",
      "confirmation_attempts": 1,
      "confirmation_interval_seconds": 10
    }
  ],
  "profile": {
    "icon": "router",
    "name": "MikroTik WireGuard Tunnel",
    "tags": [
      "mikrotik",
      "wireguard",
      "vpn",
      "ssh"
    ],
    "vendor": "mikrotik",
    "category": "router",
    "os_family": "linux",
    "description": "WireGuard tunnel health on MikroTik via SSH: handshake age, interface state.",
    "ip_required": true,
    "port_layout": null,
    "visual_type": null,
    "snmp_enabled": false,
    "agent_capable": false,
    "requires_snmp": false,
    "description_md": "WireGuard tunnel health on MikroTik via SSH: handshake age, interface state.",
    "requires_agent": false,
    "sysoid_patterns": null,
    "sysdescr_patterns": null,
    "requires_collector": true
  },
  "scripts": [
    {
      "name": "WG Handshake",
      "script_id": "c10b8f9f-2301-5e54-80cb-83fc1b80a3d5",
      "is_builtin": true,
      "description": "Auto-registered from builtin profile-check 'WG Handshake'.",
      "interpreter": "bash",
      "script_body": ":foreach i in=[/interface wireguard peers find] do={ :local hs [/interface wireguard peers get $i last-handshake]; :put $hs }",
      "expected_output": "nagios"
    },
    {
      "name": "WG Interface Up",
      "script_id": "e87f562d-5f5f-513d-b2bc-4f4b000bca60",
      "is_builtin": true,
      "description": "Auto-registered from builtin profile-check 'WG Interface Up'.",
      "interpreter": "bash",
      "script_body": "/interface wireguard print where running",
      "expected_output": "nagios"
    }
  ],
  "schema_version": 1
}