# Hikvision camera by HTTP ## Overview For Zabbix version: 6.2 and higher Sample device overview page: https://www.hikvision.com/en/products/IP-Products/Network-Cameras/ This template was tested on: - DS-I220 - DS-I450 - DS-2CD2620F-I - DS-2CD1631FWD-I - DS-2CD2020F-I - DS-2CD2042WD-I - DS-2CD2T43G0-I5 - DS-2DF5286-AEL - DS-2CD2T25FWD-I5 - DS-2CD4A35FWD-IZHS - DS-I200 - DS-2CD1031-I - DS-2CD2125FWD-IS - DS-I122 - DS-I203 - DS-N201 - DS-2CD2622FWD-IZS - DS-2CD2023G0-I ## Setup > See [Zabbix template operation](https://www.zabbix.com/documentation/6.2/manual/config/templates_out_of_the_box/http) for basic instructions. Define macros according to your camera configuration ## Zabbix configuration No specific Zabbix configuration is required. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$CPU.UTIL.CRIT} |

-

|`90` | |{$HIKVISION_ISAPI_PORT} |

ISAPI port on device

|`80` | |{$HIKVISION_MAIN_CHANNEL_ID} |

Main video stream ID

|`101` | |{$HIKVISION_STREAM_HEIGHT} |

Main video stream image height

|`1080` | |{$HIKVISION_STREAM_WIDTH} |

Main video stream image width

|`1920` | |{$MEMORY.UTIL.MAX} |

-

|`95` | |{$PASSWORD} |

-

|`1234` | |{$USER} |

-

|`admin` | ## Template links There are no template links in this template. ## Discovery rules |Name|Description|Type|Key and additional info| |----|-----------|----|----| |PTZ discovery |

-

|HTTP_AGENT |hikvision_cam.ptz.discovery

**Preprocessing**:

- XML_TO_JSON

- JAVASCRIPT | |Streaming channels discovery |

-

|HTTP_AGENT |hikvision_cam.streaming.discovery

**Preprocessing**:

- XML_TO_JSON

- JAVASCRIPT

**Filter**:

AND

- {#CHANNEL_ENABLED} MATCHES_REGEX `true`

**Overrides:**

trigger disabled non main channels
- {#CHANNEL_ID} NOT_MATCHES_REGEX `{$HIKVISION_MAIN_CHANNEL_ID}`
- TRIGGER_PROTOTYPE LIKE `Invalid video stream resolution parameters` - NO_DISCOVER

| ## Items collected |Group|Name|Description|Type|Key and additional info| |-----|----|-----------|----|---------------------| |CPU |Hikvision camera: CPU utilization |

CPU utilization in %

|DEPENDENT |hikvision_cam.cpu.util

**Preprocessing**:

- JSONPATH: `$.DeviceStatus.CPUList.CPU.cpuUtilization`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Hikvision camera |Hikvision camera: Boot loader released date |

-

|DEPENDENT |hikvision_cam.boot_released_date

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.bootReleasedDate`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Boot loader version |

-

|DEPENDENT |hikvision_cam.boot_version

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.bootVersion`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Current device time |

-

|DEPENDENT |hikvision_cam.current_device_time

**Preprocessing**:

- JSONPATH: `$.DeviceStatus.currentDeviceTime`

⛔️ON_FAIL: `DISCARD_VALUE -> `

| |Hikvision camera |Hikvision camera: Device description |

-

|DEPENDENT |hikvision_cam.device_description

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.deviceDescription`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Device ID |

-

|DEPENDENT |hikvision_cam.device_id

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.deviceID`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Device location |

-

|DEPENDENT |hikvision_cam.device_location

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.deviceLocation`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Device name |

-

|DEPENDENT |hikvision_cam.device_name

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.deviceName`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1d`

| |Hikvision camera |Hikvision camera: Device type |

-

|DEPENDENT |hikvision_cam.device_type

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.deviceType`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Encoder released date |

-

|DEPENDENT |hikvision_cam.encoder_released_date

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.encoderReleasedDate`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Encoder version |

-

|DEPENDENT |hikvision_cam.encoder_version

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.encoderVersion`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Firmware released date |

-

|DEPENDENT |hikvision_cam.firmware_released_date

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.firmwareReleasedDate`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Firmware version |

-

|DEPENDENT |hikvision_cam.firmware_version

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.firmwareVersion`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Hardware version |

-

|DEPENDENT |hikvision_cam.hardware_version

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.hardwareVersion`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: MACaddress |

-

|DEPENDENT |hikvision_cam.mac_address

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.macAddress`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Model |

-

|DEPENDENT |hikvision_cam.model

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.model`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Serial number |

-

|DEPENDENT |hikvision_cam.serial_number

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.serialNumber`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Supported beep |

-

|DEPENDENT |hikvision_cam.support_beep

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.supportBeep`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Supported video loss |

-

|DEPENDENT |hikvision_cam.support_video_loss

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.supportVideoLoss`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: System contact |

-

|DEPENDENT |hikvision_cam.system_contact

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.systemContact`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Hikvision camera |Hikvision camera: Telecontrol ID |

-

|DEPENDENT |hikvision_cam.telecontrol_id

**Preprocessing**:

- JSONPATH: `$.DeviceInfo.telecontrolID`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `24h`

| |Memory |Hikvision camera: Memory utilization |

Memory utilization in %

|DEPENDENT |hikvision_cam.memory.usage

**Preprocessing**:

- JSONPATH: `$.DeviceStatus.MemoryList.Memory.memoryUsage`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |PTZ |Channel "{#PTZ_CHANNEL_ID}": Absolute zoom |

-

|DEPENDENT |hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.PTZStatus.AbsoluteHigh.absoluteZoom`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- MULTIPLIER: `0.1`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |PTZ |Channel "{#PTZ_CHANNEL_ID}": Azimuth |

-

|DEPENDENT |hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.PTZStatus.AbsoluteHigh.azimuth`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- MULTIPLIER: `0.1`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |PTZ |Channel "{#PTZ_CHANNEL_ID}": Elevation |

-

|DEPENDENT |hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.PTZStatus.AbsoluteHigh.elevation`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- MULTIPLIER: `0.1`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |Hikvision camera: Get device info: Login status |

-

|DEPENDENT |hikvision_cam.get_info.login_status

**Preprocessing**:

- JAVASCRIPT: `var data = JSON.parse(value); if ("html" in data){ if (data.html.head.title === "Document Error: Unauthorized") {return 1} else if (data.html.head.title === "Connection error") {return 2} } return 0; `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |Hikvision camera: Get system status: Login status |

-

|DEPENDENT |hikvision_cam.get_status.login_status

**Preprocessing**:

- JAVASCRIPT: `var data = JSON.parse(value); if ("html" in data){ if (data.html.head.title === "Document Error: Unauthorized") {return 1} else if (data.html.head.title === "Connection error") {return 2} } return 0; `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |Hikvision camera: Get streaming channels: Login status |

-

|DEPENDENT |hikvision_cam.get_streaming.login_status

**Preprocessing**:

- JAVASCRIPT: `var data = JSON.parse(value); if ("html" in data){ if (data.html.head.title === "Document Error: Unauthorized") {return 1} else if (data.html.head.title === "Connection error") {return 2} } return 0; `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |Hikvision camera: Uptime |

System uptime in 'N days, hh:mm:ss' format.

|DEPENDENT |hikvision_cam.uptime

**Preprocessing**:

- JSONPATH: `$.DeviceStatus.deviceUpTime`

⛔️ON_FAIL: `DISCARD_VALUE -> `

| |Streaming Channel |Channel "{#CHANNEL_ID}": Constant bitRate |

-

|DEPENDENT |hikvision_cam.constant_bit_rate[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.constantBitRate`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$.[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Fixed quality |

-

|DEPENDENT |hikvision_cam.fixed_quality[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.fixedQuality`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": GovLength |

-

|DEPENDENT |hikvision_cam.gov_length[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.GovLength`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": H264Profile |

-

|DEPENDENT |hikvision_cam.h264Profile[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.H264Profile`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Key frame interval |

-

|DEPENDENT |hikvision_cam.key_frame_interval[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.keyFrameInterval`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- MULTIPLIER: `0.01`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Frame rate (max) |

-

|DEPENDENT |hikvision_cam.max_frame_rate[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.maxFrameRate`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- MULTIPLIER: `0.01`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Smoothing |

-

|DEPENDENT |hikvision_cam.smoothing[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.smoothing`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Snapshot image type |

-

|DEPENDENT |hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.snapShotImageType`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": VBR lower |

-

|DEPENDENT |hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.vbrLowerCap`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": VBR upper |

-

|DEPENDENT |hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.vbrUpperCap`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

| |Streaming Channel |Channel "{#CHANNEL_ID}": Video codec type |

-

|DEPENDENT |hikvision_cam.video_codec_type[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoCodecType`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Video quality control type |

-

|DEPENDENT |hikvision_cam.video_quality_control_type[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoQualityControlType`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Resolution height |

-

|DEPENDENT |hikvision_cam.video_resolution_height[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoResolutionHeight`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Resolution width |

-

|DEPENDENT |hikvision_cam.video_resolution_width[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoResolutionWidth`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Streaming Channel |Channel "{#CHANNEL_ID}": Video scan type |

-

|DEPENDENT |hikvision_cam.video_scan_type[{#CHANNEL_ID}]

**Preprocessing**:

- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoScanType`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JSONPATH: `$[0]`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Zabbix raw items |Hikvision camera: Get device info |

Used to get the device information

|HTTP_AGENT |hikvision_cam.get_info

**Preprocessing**:

- CHECK_NOT_SUPPORTED: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

- XML_TO_JSON: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

| |Zabbix raw items |Hikvision camera: Get system status |

It is used to get the status information of the device

|HTTP_AGENT |hikvision_cam.get_status

**Preprocessing**:

- CHECK_NOT_SUPPORTED: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

- XML_TO_JSON: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

| |Zabbix raw items |Hikvision camera: Get streaming channels |

Used to get the properties of streaming channels for the device

|HTTP_AGENT |hikvision_cam.get_streaming

**Preprocessing**:

- CHECK_NOT_SUPPORTED: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

- XML_TO_JSON: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

| |Zabbix raw items |Hikvision camera: Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status |

-

|DEPENDENT |hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}]

**Preprocessing**:

- JAVASCRIPT: `var data = JSON.parse(value); if ("html" in data){ if (data.html.head.title === "Document Error: Unauthorized") {return 1} else if (data.html.head.title === "Connection error") {return 2} } return 0; `

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Zabbix raw items |Hikvision camera: Get PTZ info |

High precision positioning which is accurate to a bit after the decimal point

|HTTP_AGENT |hikvision_cam.get_ptz[{#PTZ_CHANNEL_ID}]

**Preprocessing**:

- CHECK_NOT_SUPPORTED: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

- XML_TO_JSON: ``

⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`

| ## Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----|----|----| |Hikvision camera: High CPU utilization |

CPU utilization is too high. The system might be slow to respond.

|`min(/Hikvision camera by HTTP/hikvision_cam.cpu.util,5m)>{$CPU.UTIL.CRIT}` |WARNING | | |Hikvision camera: Version has changed |

Hikvision camera version has changed. Ack to close.

|`last(/Hikvision camera by HTTP/hikvision_cam.firmware_version,#1)<>last(/Hikvision camera by HTTP/hikvision_cam.firmware_version,#2) and length(last(/Hikvision camera by HTTP/hikvision_cam.firmware_version))>0` |INFO |

Manual close: YES

| |Hikvision camera: Camera has been replaced |

Camera serial number has changed. Ack to close

|`last(/Hikvision camera by HTTP/hikvision_cam.serial_number,#1)<>last(/Hikvision camera by HTTP/hikvision_cam.serial_number,#2) and length(last(/Hikvision camera by HTTP/hikvision_cam.serial_number))>0` |INFO |

Manual close: YES

| |Hikvision camera: High memory utilization |

The system is running out of free memory.

|`min(/Hikvision camera by HTTP/hikvision_cam.memory.usage,5m)>{$MEMORY.UTIL.MAX}` |AVERAGE | | |Channel "{#PTZ_CHANNEL_ID}": PTZ position changed |

The direction of the camera has changed

|`last(/Hikvision camera by HTTP/hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}],#2) ` |INFO |

Manual close: YES

| |Hikvision camera: Authorisation error |

Check the correctness of the authorization data

|`last(/Hikvision camera by HTTP/hikvision_cam.get_info.login_status)=1 or last(/Hikvision camera by HTTP/hikvision_cam.get_streaming.login_status)=1 or last(/Hikvision camera by HTTP/hikvision_cam.get_status.login_status)=1 ` |WARNING |

Manual close: YES

| |Hikvision camera: Error receiving data |

Check the availability of the HTTP port

|`last(/Hikvision camera by HTTP/hikvision_cam.get_info.login_status)=2 or last(/Hikvision camera by HTTP/hikvision_cam.get_streaming.login_status)=2 or last(/Hikvision camera by HTTP/hikvision_cam.get_status.login_status)=2 ` |WARNING |

Manual close: YES

| |Hikvision camera: has been restarted |

Uptime is less than 10 minutes.

|`last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m` |INFO |

Manual close: YES

| |Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters |

expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px

received: {ITEM.LASTVALUE2} x {ITEM.LASTVALUE1}

|`last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_height[{#CHANNEL_ID}])<>{$HIKVISION_STREAM_HEIGHT} or last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_width[{#CHANNEL_ID}])<>{$HIKVISION_STREAM_WIDTH} ` |WARNING |

Manual close: YES

| |Channel "{#CHANNEL_ID}": Parameters of video stream are changed |

-

|`last(/Hikvision camera by HTTP/hikvision_cam.fixed_quality[{#CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.fixed_quality[{#CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.constant_bit_rate[{#CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.constant_bit_rate[{#CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.video_quality_control_type[{#CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.video_quality_control_type[{#CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_width[{#CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_width[{#CHANNEL_ID}],#2) or last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_height[{#CHANNEL_ID}],#1)<>last(/Hikvision camera by HTTP/hikvision_cam.video_resolution_height[{#CHANNEL_ID}],#2) ` |INFO |

Manual close: YES

| |Hikvision camera: Authorisation error on get PTZ channels |

Check the correctness of the authorization data

|`last(/Hikvision camera by HTTP/hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}])=1` |WARNING |

Manual close: YES

**Depends on**:

- Hikvision camera: Authorisation error

| |Hikvision camera: Error receiving data on PTZ channels |

Check the availability of the HTTP port

|`last(/Hikvision camera by HTTP/hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}])=2` |WARNING |

Manual close: YES

**Depends on**:

- Hikvision camera: Error receiving data

| ## Feedback Please report any issues with the template at https://support.zabbix.com