### Execute Unifi Controller Agent via CLI Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Command-line interface examples for testing the special agent. Includes flags for authentication, SSL certificate handling, site selection, and debugging. ```bash ./agent_unifi_controller --user admin --password mypassword --port 443 192.168.1.1 ./agent_unifi_controller --user admin --password mypassword --port 443 --ignore-cert 192.168.1.1 ./agent_unifi_controller --user admin --password mypassword --port 8443 --site production 192.168.1.1 ./agent_unifi_controller --user admin --password mypassword --port 443 --debug 192.168.1.1 ./agent_unifi_controller --user admin --password mypassword --port 443 --piggyback ip 192.168.1.1 ./agent_unifi_controller --user admin --password mypassword --port 443 --piggyback none 192.168.1.1 ``` -------------------------------- ### UniFi Device Shortlist Inventory Plugin Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Provides inventory data for all UniFi devices visible to the controller, used for hardware inventory in CheckMK. Creates inventory entries under 'hardware -> networkdevices'. ```python # Agent output format (<<>>) # AP-Office|version|7.0.83 # AP-Office|ip|192.168.1.100 # AP-Office|mac|00:11:22:33:44:55 # AP-Office|serial|ABC123DEF456 # AP-Office|model|UAP-AC-Pro # AP-Office|model_name|UAP AC Pro # AP-Office|state|1 # Creates inventory entries under: hardware -> networkdevices # Inventory columns: serial, state, vendor (ubiquiti), model, version, ip_address, mac ``` -------------------------------- ### Define Site Check Parameters Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Python configuration for the site check plugin, allowing users to define custom parameters such as ignoring site alarms. ```python rule_spec_unifi_sites = CheckParameters( name="unifi_sites", parameter_form=Dictionary( elements={ "ignore_alarms": DictElement( parameter_form=BooleanChoice( title=Title("Ignore Site Alarms"), prefill=DefaultValue(False), ), ), }, ), ) ``` -------------------------------- ### UniFi Network Interface Check Plugin Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Monitors switch ports with standard CheckMK interface monitoring, UniFi-specific PoE metrics, and satisfaction scores. It uses standard CheckMK rulesets for discovery and parameter configuration. ```python # Agent output format (<<>>) # 1|port_idx|1 # 1|name|Port 1 # 1|speed|1000 # 1|oper_status|1 # 1|admin_status|1 # 1|rx_bytes|38499976384 # 1|tx_bytes|238190158091 # 1|poe_enable|1 # 1|poe_power|12.50 # 1|poe_voltage|53.20 # 1|satisfaction|100 # 1|portconf|ALL # Discovered services: "Interface " # Uses standard CheckMK interface ruleset "inventory_if_rules" for discovery # Uses standard CheckMK interface ruleset "interfaces" for check parameters # Additional metrics beyond standard interfaces: # - satisfaction: Port satisfaction percentage # - poe_power: PoE power consumption in watts # - poe_voltage: PoE voltage # - Network/VLAN assignment display ``` -------------------------------- ### UniFi Host Labels Configuration Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Automatically sets CheckMK host labels for device categorization and filtering. The controller host is labeled with 'cmk/unifi/controller: yes'. ```json # Labels set on controller host: {"cmk/unifi/controller": "yes"} ``` -------------------------------- ### Configure Unifi Controller Special Agent Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt JSON configuration parameters for the CheckMK 'Unifi Controller via API' rule. This defines connection credentials, site filtering, and piggyback behavior. ```json { "user": "api-user", "password": "secret123", "port": 443, "site": "default", "ignore_cert": true, "piggyback": "name" } ``` -------------------------------- ### UniFi Radio Check Plugin Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Monitors wireless radio status on access points, providing channel, satisfaction, and user metrics for 2.4GHz and 5GHz bands. Discovers services for 'Radio 2.4Ghz' and 'Radio 5Ghz'. ```python # Agent output format (<<>>) # ng|radio|ng # ng|channel|6 # ng|satisfaction|92 # ng|num_sta|15 # ng|user_num_sta|12 # ng|guest_num_sta|3 # ng|rx_bytes|1234567890 # ng|tx_bytes|9876543210 # na|radio|na # na|channel|149 # na|satisfaction|98 # na|num_sta|25 # Discovered services: # - "Radio 2.4Ghz" (ng radio) # - "Radio 5Ghz" (na radio) # Metrics: satisfaction, wlan_user_sta, wlan_guest_sta, wlan_iot_sta, read_data, write_data ``` -------------------------------- ### UniFi Device Mapping Table (Python) Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt A Python dictionary used to map UniFi model codes to human-readable names. This table is essential for displaying device information clearly in CheckMK, supporting over 200 devices. ```python UNIFI_DEVICE_TABLE = { 'U7PRO' : 'U7 Pro', 'U7PROMAX' : 'U7 Pro Max', 'U6ENT' : 'U6 Enterprise', 'UAP6MP' : 'U6 Pro', 'UDMPRO' : 'UDM Pro', 'UDMPROSE' : 'UDM SE', 'UDR' : 'UDR', 'UCKG2' : 'UCK G2', 'UCKP' : 'UCK G2 Plus', 'USL24P' : 'USW 24 PoE', 'USL48P' : 'USW 48 PoE', 'USWDA24' : 'UPS Tower', 'UCGF' : 'Cloud Gateway Fiber', 'UXGPRO' : 'UXG Pro', # ... and many more } ``` -------------------------------- ### UniFi Network Check Plugin Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Monitors UniFi network configurations including corporate LANs, guest networks, WAN connections, VPN clients, and remote user VPNs. Discovers services named 'Network: @'. ```python # Agent output format (<<>>) # Corporate@Default|purpose|corporate # Corporate@Default|enabled|1 # Corporate@Default|dhcpd_enabled|1 # Corporate@Default|stats_dhcp_active_leases|45 # Corporate@Default|stats_dhcp_max_leases|200 # WAN@Default|purpose|wan # WAN@Default|stats_uptime_percentage|99.95 # VPN-Client@Default|purpose|vpn-client # VPN-Client@Default|conn_status|CONNECTED # VPN-Client@Default|conn_rx_rate_bps|1234567 # RemoteVPN@Default|purpose|remote-user-vpn # RemoteVPN@Default|active_clients|5 # Discovered services: "Network: @" # Network types and their specific checks: # - corporate/guest: DHCP lease usage (free, used, max) # - wan: Uptime percentage with thresholds (WARN <99%, CRIT <50%) # - vpn-client: Connection status (CONNECTED=OK, CONNECTING=WARN) # - remote-user-vpn: Active VPN client count ``` -------------------------------- ### UniFi SSID Check Plugin Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt Monitors wireless networks on individual access points, tracking channel usage, user counts per band, signal quality, and packet metrics. Discovers services named 'SSID: '. ```python # Agent output format (<<>>) # MyWiFi|ng_channel|6 # MyWiFi|na_channel|149 # MyWiFi|ng_satisfaction|90 # MyWiFi|na_satisfaction|95 # MyWiFi|ng_num_sta|10 # MyWiFi|na_num_sta|20 # MyWiFi|ng_is_guest|0 # MyWiFi|na_avg_client_signal|-65 # Discovered services: "SSID: " # Metrics: # - satisfaction: Combined satisfaction score # - wlan_24Ghz_num_user: 2.4GHz user count # - wlan_5Ghz_num_user: 5GHz user count # - na_avg_client_signal / ng_avg_client_signal: Average signal strength # - na_tcp_packet_loss / ng_tcp_packet_loss: Packet loss percentage # - na_wifi_retries / ng_wifi_retries: Retry counts # - na_wifi_latency / ng_wifi_latency: WiFi latency ``` -------------------------------- ### UniFi Device Type Labels Source: https://context7.com/cshuttle/linet-unifi-controller/llms.txt These labels are used to categorize and identify different types of UniFi devices within the monitoring system. They help in applying specific monitoring rules and displaying device information accurately. ```json {"cmk/os_family": "UnifiOS"} ``` ```json {"cmk/unifi/device": "yes"} ``` ```json {"unifi_device": "unifi-udm"} ``` ```json {"unifi_device": "unifi-uap"} ``` ```json {"unifi_device": "unifi-usw"} ``` ```json {"unifi_device": "unifi-ugw"} ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.