This template is designed for the effortless deployment of Cradlepoint NCM v2 monitoring by Zabbix via HTTP and doesn't require any external scripts.
Zabbix version: 7.4 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
X-ECM-API-ID and X-ECM-API-KEY values in the {$CP.ECM.API.ID} and {$CP.ECM.API.KEY} macros.X-CP-API-ID and X-CP-API-KEY API key values.X-CP-API-ID and X-CP-API-KEY values in the {$CP.API.ID} and {$CP.API.KEY} macros.For more on NetCloud Manager API v2 authentication, please refer to the vendor documentation.
| Name | Description | Default |
|---|---|---|
| {$NCM.API.URL} | NetCloud Manager API URL. |
https://www.cradlepointecm.com/api/v2/ |
| {$NCM.CP.API.ID} | NetCloud Manager |
|
| {$NCM.CP.API.KEY} | NetCloud Manager |
|
| {$NCM.ECM.API.ID} | NetCloud Manager |
|
| {$NCM.ECM.API.KEY} | NetCloud Manager |
|
| {$NCM.DATA.TIMEOUT} | The response timeout for the API. |
15s |
| {$NCM.RESP.DATA.LIMIT} | The number of records returned by the API. Max value is |
500 |
| {$NCM.DEVICES.REBOOT.TH} | The maximum number of devices requiring a reboot before the trigger fires. The trigger can be disabled by setting the value to |
5 |
| {$NCM.DEVICES.UPGRADE.TH} | The maximum number of devices with a pending upgrade before the trigger fires. The trigger can be disabled by setting the value to |
5 |
| {$NCM.DEVICE.NAME.MATCHES} | A regular expression to filter devices by name. Only devices with names matching this regex will be monitored. |
.* |
| {$NCM.DEVICE.NAME.NOT_MATCHES} | Regular expression to filter devices by name. Devices with names matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.HTTP_PROXY} | HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. See the documentation at https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/http |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Cradlepoint NCM v2", e.g. {$HTTP.TLS.VERIFY:"Cradlepoint NCM v2"}. |
full |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get devices | Item for gathering all devices from NetCloud Manager API. |
Script | cradlepoint.devices.get |
| Get devices item errors | Item for gathering all the data item errors. |
Dependent item | cradlepoint.devices.errors Preprocessing
|
| Total devices | The total number of all devices. |
Dependent item | cradlepoint.devices.total Preprocessing
|
| Devices required reboot | Number of devices required reboot. |
Dependent item | cradlepoint.devices.reboot_required Preprocessing
|
| Devices with pending upgrade | Number of devices with pending upgrade. |
Dependent item | cradlepoint.devices.upgrade_pending Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Cradlepoint: There are errors in the 'Get devices' metric | length(last(/Cradlepoint NCM v2 by HTTP/cradlepoint.devices.errors))>0 |
Warning | ||
| Cradlepoint: More than {$NCM.DEVICES.REBOOT.TH} devices required reboot | {$NCM.DEVICES.REBOOT.TH}<>-1 and length(last(/Cradlepoint NCM v2 by HTTP/cradlepoint.devices.reboot_required))>{$NCM.DEVICES.REBOOT.TH} |
Info | ||
| Cradlepoint: More than {$NCM.DEVICES.UPGRADE.TH} devices awaiting upgrade | {$NCM.DEVICES.UPGRADE.TH}<>-1 and length(last(/Cradlepoint NCM v2 by HTTP/cradlepoint.devices.upgrade_pending))>{$NCM.DEVICES.UPGRADE.TH} |
Info |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Devices discovery | Discovering devices from NetCloud Manager API. |
Dependent item | cradlepoint.devices.discovery Preprocessing
|
| Name | Description | Default |
|---|---|---|
| {$NCM.API.URL} | NetCloud Manager API URL. |
https://www.cradlepointecm.com/api/v2/ |
| {$NCM.CP.API.ID} | NetCloud Manager X-CP-API-ID. |
|
| {$NCM.CP.API.KEY} | NetCloud Manager X-CP-API-KEY. |
|
| {$NCM.ECM.API.ID} | NetCloud Manager X-ECM-API-ID. |
|
| {$NCM.ECM.API.KEY} | NetCloud Manager X-ECM-API-KEY. |
|
| {$NCM.DEVICE.ID} | NetCloud Manager device ID. |
|
| {$NCM.DATA.TIMEOUT} | A response timeout for an API. |
15s |
| {$NCM.RESP.DATA.LIMIT} | The number of records returned by API. Max value is 500. |
500 |
| {$REBOOT.CONTROL} | The macro is used as a flag to control device reboot tracking for the 'Reboot is required' trigger. |
1 |
| {$SIM.PIN.CONTROL} | The macro is used as a flag to control SIM PIN readiness tracking for the 'SIM PIN is not ready' trigger. Can be used with the net device ID as context. |
1 |
| {$NCM.LAN.NAME.MATCHES} | Regular expression to filter LANs based on their names. Only LANs with names matching this regex will be monitored. |
.* |
| {$NCM.LAN.NAME.NOT_MATCHES} | Regular expression to filter LANs based on their names. LANs with names matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.LAN.STATUS.MATCHES} | Regular expression to filter LANs based on their statuses. Only LANs with statuses matching this regex will be monitored. |
.* |
| {$NCM.LAN.STATUS.NOT_MATCHES} | Regular expression to filter LANs based on their statuses. LANs with statuses matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.NET.DEVICE.NAME.MATCHES} | Regular expression to filter Network devices based on their names. Only devices with names matching this regex will be monitored. |
.* |
| {$NCM.NET.DEVICE.NAME.NOT_MATCHES} | Regular expression to filter Network devices based on their statuses. Devices with names matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.NET.DEVICE.MODE.MATCHES} | Regular expression to filter Network devices based on their modes. Only devices with modes matching this regex will be monitored. |
.* |
| {$NCM.NET.DEVICE.MODE.NOT_MATCHES} | Regular expression to filter Network devices based on their modes. Devices with modes matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.NET.DEVICE.TYPE.MATCHES} | Regular expression to filter Network devices based on their types. Only devices with types matching this regex will be monitored. |
.* |
| {$NCM.NET.DEVICE.TYPE.NOT_MATCHES} | Regular expression to filter Network devices based on their types. Devices with types matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.NET.DEVICE.CONN.MATCHES} | Regular expression to filter Network devices based on their connection types. Only devices with connection types matching this regex will be monitored. |
.* |
| {$NCM.NET.DEVICE.CONN.NOT_MATCHES} | Regular expression to filter Network devices based on their connection types. Devices with connection types matching this regex will be excluded from monitoring. |
CHANGE_IF_NEEDED |
| {$NCM.HTTP_PROXY} | HTTP proxy for API requests. You can specify it using the format [protocol://][username[:password]@]proxy.example.com[:port]. See the documentation at https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/http |
|
| {$HTTP.TLS.VERIFY} | TLS certificate verification for script items: "none" - disabled, "peer" - verify the certificate chain and expiration, "full" - full verification. Any other value enables full verification. To override the setting for this template only, define the macro with the context "Cradlepoint NCM v2 device", e.g. {$HTTP.TLS.VERIFY:"Cradlepoint NCM v2 device"}. |
full |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Get device data | Item for gathering device data from the NetCloud Manager API. |
Script | cradlepoint_device.data.get |
| Get device item errors | Item for gathering device data errors. |
Dependent item | cradlepoint_device.data.errors Preprocessing
|
| Device state | Device state. |
Dependent item | cradlepoint_device.state Preprocessing
|
| Device type | Type of device, e.g., router or access point. |
Dependent item | cradlepoint_device.device_type Preprocessing
|
| Serial number | Serial number of the device. |
Dependent item | cradlepoint_device.serial_number Preprocessing
|
| Product name | Full product name of the device. |
Dependent item | cradlepoint_device.device_model Preprocessing
|
| MAC address | MAC address of the device. |
Dependent item | cradlepoint_device.mac_address Preprocessing
|
| Firmware | Firmware of the device. |
Dependent item | cradlepoint_device.firmware Preprocessing
|
| IP address | IPv4 address of the device. |
Dependent item | cradlepoint_device.ip_address Preprocessing
|
| Timezone | Timezone of the device. |
Dependent item | cradlepoint_device.timezone Preprocessing
|
| Device latitude | Latitude of the device location. |
Dependent item | cradlepoint_device.latitude Preprocessing
|
| Device longitude | Longitude of the device location. |
Dependent item | cradlepoint_device.longitude Preprocessing
|
| Device description | Description of the device. |
Dependent item | cradlepoint_device.description Preprocessing
|
| Reboot required | Indicates if a reboot is required to enable additional device functionality. |
Dependent item | cradlepoint_device.reboot_required Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Cradlepoint: There are errors in the 'Get device data' metric | length(last(/Cradlepoint NCM v2 device by HTTP/cradlepoint_device.data.errors))>0 |
Warning | ||
| Cradlepoint: Device state is not online | last(/Cradlepoint NCM v2 device by HTTP/cradlepoint_device.state)<>1 |
Warning | ||
| Cradlepoint: Reboot is required | {$REBOOT.CONTROL}=1 and last(/Cradlepoint NCM v2 device by HTTP/cradlepoint_device.reboot_required)=1 |
Info |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| LAN discovery | Discovery of LANs via the NetCloud Manager API. |
Dependent item | cradlepoint_device.lan.discovery Preprocessing
|
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#NAME}: Get data | Item for gathering data for the |
Dependent item | cradlepoint_device.lan.data_get[{#ID}] Preprocessing
|
| {#NAME}: IP address | IP address of the LAN. |
Dependent item | cradlepoint_device.lan.ip_address[{#ID}] Preprocessing
|
| {#NAME}: Netmask | Netmask of the LAN. |
Dependent item | cradlepoint_device.lan.netmask[{#ID}] Preprocessing
|
| {#NAME}: State | State of the LAN, e.g., enabled or disabled. |
Dependent item | cradlepoint_device.lan.state[{#ID}] Preprocessing
|
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Network device discovery | Discovery of network devices connected through the router. |
Dependent item | cradlepoint_device.net_device.discovery Preprocessing
|
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#NAME}: Get device info | Item for gathering general information about the |
Dependent item | cradlepoint_device.net_device.info_get[{#ID}] Preprocessing
|
| {#NAME}: APN | Access Point Name. |
Dependent item | cradlepoint_device.net_device.apn[{#ID}] Preprocessing
|
| {#NAME}: Carrier | The connected carrier, if available; otherwise, the carrier the modem is configured to connect to. |
Dependent item | cradlepoint_device.net_device.carrier[{#ID}] Preprocessing
|
| {#NAME}: Connection state | Current connection state. |
Dependent item | cradlepoint_device.net_device.conn_state[{#ID}] Preprocessing
|
| {#NAME}: Gateway | Gateway of the network. |
Dependent item | cradlepoint_device.net_device.gateway[{#ID}] Preprocessing
|
| {#NAME}: IPv4 address | IPv4 address of the |
Dependent item | cradlepoint_device.net_device.ipv4_address[{#ID}] Preprocessing
|
| {#NAME}: IPv6 address | IPv6 address of the |
Dependent item | cradlepoint_device.net_device.ipv6_address[{#ID}] Preprocessing
|
| {#NAME}: DNS0 server | Primary DNS server. |
Dependent item | cradlepoint_device.net_device.dns0[{#ID}] Preprocessing
|
| {#NAME}: DNS1 server | Secondary DNS server. |
Dependent item | cradlepoint_device.net_device.dns1[{#ID}] Preprocessing
|
| {#NAME}: LTE bandwidth | Indicates the frequency width of the LTE band being used by the modem module. |
Dependent item | cradlepoint_device.net_device.ltebandwidth[{#ID}] Preprocessing
|
| {#NAME}: MAC address | MAC address of the |
Dependent item | cradlepoint_device.net_device.mac_address[{#ID}] Preprocessing
|
| {#NAME}: Netmask | Netmask of the |
Dependent item | cradlepoint_device.net_device.netmask[{#ID}] Preprocessing
|
| {#NAME}: Serial number | Serial number of the |
Dependent item | cradlepoint_device.net_device.serial[{#ID}] Preprocessing
|
| {#NAME}: Product name | Product name of the |
Dependent item | cradlepoint_device.net_device.product_name[{#ID}] Preprocessing
|
| {#NAME}: Model | Manufacturing model of the |
Dependent item | cradlepoint_device.net_device.model[{#ID}] Preprocessing
|
| {#NAME}: Firmware | Firmware version of the |
Dependent item | cradlepoint_device.net_device.firmware[{#ID}] Preprocessing
|
| {#NAME}: PIN status | Indicates the status of the SIM PIN. |
Dependent item | cradlepoint_device.net_device.pin_status[{#ID}] Preprocessing
|
| {#NAME}: Radio frequency band | Indicates the radio frequency band that is currently being used by the modem module. |
Dependent item | cradlepoint_device.net_device.rf_band[{#ID}] Preprocessing
|
| {#NAME}: Radio frequency band 5G | Indicates the 5G radio frequency band that is currently being used by the modem module. |
Dependent item | cradlepoint_device.net_device.rf_band_5g[{#ID}] Preprocessing
|
| {#NAME}: Radio frequency channel | Indicates the radio frequency channel that is currently being used by the modem module. |
Dependent item | cradlepoint_device.net_device.rf_channel[{#ID}] Preprocessing
|
| {#NAME}: Uptime | Time in seconds since the network device established its link. |
Dependent item | cradlepoint_device.net_device.uptime[{#ID}] Preprocessing
|
| {#NAME}: WiMAX realm | WiMAX realm string used to connect to a WiMAX network. |
Dependent item | cradlepoint_device.net_device.wimax_realm[{#ID}] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Cradlepoint: {#NAME}: SIM PIN is not ready | {$SIM.PIN.CONTROL:"{#ID}"}=1 and last(/Cradlepoint NCM v2 device by HTTP/cradlepoint_device.net_device.pin_status[{#ID}])<>1 |
Warning |
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums