Available solutions
Hikvision camera by HTTP
Overview
This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.4 and higher.
Tested versions
This template has been 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
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Set the hostname or IP address of the Hikvision ISAPI host in the
{$HIKVISION_ISAPI_HOST}macro. -
Set the user name and password in the
{$PASSWORD}and{$USER}macros. -
Change other macros according to your camera configuration if necessary.
Macros used
| Name | Description | Default |
|---|---|---|
| {$CPU.UTIL.CRIT} | 90 |
|
| {$HIKVISION_ISAPI_HOST} | The hostname or IP address of the Hikvision ISAPI host. |
<SET ISAPI HOST> |
| {$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 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Boot loader released date | Dependent item | hikvision_cam.boot_released_date Preprocessing
|
|
| Boot loader version | Dependent item | hikvision_cam.boot_version Preprocessing
|
|
| CPU utilization | CPU utilization in % |
Dependent item | hikvision_cam.cpu.util Preprocessing
|
| Current device time | Dependent item | hikvision_cam.current_device_time Preprocessing
|
|
| Device description | Dependent item | hikvision_cam.device_description Preprocessing
|
|
| Device ID | Dependent item | hikvision_cam.device_id Preprocessing
|
|
| Device location | Dependent item | hikvision_cam.device_location Preprocessing
|
|
| Device name | Dependent item | hikvision_cam.device_name Preprocessing
|
|
| Device type | Dependent item | hikvision_cam.device_type Preprocessing
|
|
| Encoder released date | Dependent item | hikvision_cam.encoder_released_date Preprocessing
|
|
| Encoder version | Dependent item | hikvision_cam.encoder_version Preprocessing
|
|
| Firmware released date | Dependent item | hikvision_cam.firmware_released_date Preprocessing
|
|
| Firmware version | Dependent item | hikvision_cam.firmware_version Preprocessing
|
|
| Get device info | Used to get the device information |
HTTP agent | hikvision_cam.get_info Preprocessing
|
| Get device info: Login status | Dependent item | hikvision_cam.get_info.login_status Preprocessing
|
|
| Get system status | It is used to get the status information of the device |
HTTP agent | hikvision_cam.get_status Preprocessing
|
| Get system status: Login status | Dependent item | hikvision_cam.get_status.login_status Preprocessing
|
|
| Get streaming channels | Used to get the properties of streaming channels for the device |
HTTP agent | hikvision_cam.get_streaming Preprocessing
|
| Get streaming channels: Login status | Dependent item | hikvision_cam.get_streaming.login_status Preprocessing
|
|
| Hardware version | Dependent item | hikvision_cam.hardware_version Preprocessing
|
|
| MACaddress | Dependent item | hikvision_cam.mac_address Preprocessing
|
|
| Memory utilization | Memory utilization in % |
Dependent item | hikvision_cam.memory.usage Preprocessing
|
| Model | Dependent item | hikvision_cam.model Preprocessing
|
|
| Serial number | Dependent item | hikvision_cam.serial_number Preprocessing
|
|
| Supported beep | Dependent item | hikvision_cam.support_beep Preprocessing
|
|
| Supported video loss | Dependent item | hikvision_cam.support_video_loss Preprocessing
|
|
| System contact | Dependent item | hikvision_cam.system_contact Preprocessing
|
|
| Telecontrol ID | Dependent item | hikvision_cam.telecontrol_id Preprocessing
|
|
| Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Dependent item | hikvision_cam.uptime Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: High CPU utilization | The 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: Version has changed | Hikvision camera version has changed. Acknowledge to close the problem manually. |
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: 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: 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: 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 | |
| Hikvision: Camera has been replaced | Camera serial number has changed. Acknowledge to close the problem manually. |
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 has been restarted | Uptime is less than 10 minutes. |
last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m |
Info | Manual close: Yes |
LLD rule PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PTZ discovery | HTTP agent | hikvision_cam.ptz.discovery Preprocessing
|
Item prototypes for PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#PTZ_CHANNEL_ID}": Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | Dependent item | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": 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
|
| Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | Dependent item | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Azimuth | Dependent item | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Elevation | Dependent item | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing
|
Trigger prototypes for PTZ discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#PTZ_CHANNEL_ID}": Authorisation error | 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: Channel "{#PTZ_CHANNEL_ID}": Error receiving data | 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: 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 |
LLD rule Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Streaming channels discovery | HTTP agent | hikvision_cam.streaming.discovery Preprocessing
|
Item prototypes for Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#CHANNEL_ID}": Constant bitRate | Dependent item | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Fixed quality | Dependent item | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": GovLength | Dependent item | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": H264Profile | Dependent item | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Key frame interval | Dependent item | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Frame rate (max) | Dependent item | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Smoothing | Dependent item | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Snapshot image type | Dependent item | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR lower | Dependent item | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR upper | Dependent item | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video codec type | Dependent item | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video quality control type | Dependent item | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution height | Dependent item | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution width | Dependent item | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video scan type | Dependent item | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing
|
Trigger prototypes for Streaming channels discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters | expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px |
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 |
| Hikvision: 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 |
Feedback
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
Vendor and Community integrations are created by third parties and are not verified by Zabbix. Zabbix is not responsible for their functionality or quality.
Zabbix community templates
2 Contributed to the zabbix/community-templates repositoryBrief information:Template for Hikvision company NVR´s (Network Video Recorder) using SNMPv2. Tested on Zabbix v4.4 and Hikvision NVR 9664-i8Information covered by a template:Low Level DiscoveryLLD of installed HDD´s statusesLLD of installed HDD´s capacityLLD of installed HDD´s free spaceTriggersHDD count changeHDD state changeItemsCount of installed HDD´sDevice uptimeNumber of NICDevice descriptionMappingsHDD disk state mappings
Utilizes ICMP, SNMP and a Web Check against the RTSP connection to verify the camera is working.HikVision provide minimal data over SNMP so there is not much pulled from there however I have pulled the following information into inventorySystem Firmware Version > OSSystem MAC Address > MAC Address ASystem Model > ModelSystem Manufacturer > VendorYou will need to ensure that your SNMP Macro is set correctly for the cameras (or override it at the Template or Host level) and set the RTSP_USER and RTSP_PASS macro´s in the template to allow the RTSP check to work
Hikvision camera by HTTP
Overview
This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.2 and higher.
Tested versions
This template has been 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
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Set the hostname or IP address of the Hikvision ISAPI host in the
{$HIKVISION_ISAPI_HOST}macro. -
Set the user name and password in the
{$PASSWORD}and{$USER}macros. -
Change other macros according to your camera configuration if necessary.
Macros used
| Name | Description | Default |
|---|---|---|
| {$CPU.UTIL.CRIT} | 90 |
|
| {$HIKVISION_ISAPI_HOST} | The hostname or IP address of the Hikvision ISAPI host. |
<SET ISAPI HOST> |
| {$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 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Boot loader released date | Dependent item | hikvision_cam.boot_released_date Preprocessing
|
|
| Boot loader version | Dependent item | hikvision_cam.boot_version Preprocessing
|
|
| CPU utilization | CPU utilization in % |
Dependent item | hikvision_cam.cpu.util Preprocessing
|
| Current device time | Dependent item | hikvision_cam.current_device_time Preprocessing
|
|
| Device description | Dependent item | hikvision_cam.device_description Preprocessing
|
|
| Device ID | Dependent item | hikvision_cam.device_id Preprocessing
|
|
| Device location | Dependent item | hikvision_cam.device_location Preprocessing
|
|
| Device name | Dependent item | hikvision_cam.device_name Preprocessing
|
|
| Device type | Dependent item | hikvision_cam.device_type Preprocessing
|
|
| Encoder released date | Dependent item | hikvision_cam.encoder_released_date Preprocessing
|
|
| Encoder version | Dependent item | hikvision_cam.encoder_version Preprocessing
|
|
| Firmware released date | Dependent item | hikvision_cam.firmware_released_date Preprocessing
|
|
| Firmware version | Dependent item | hikvision_cam.firmware_version Preprocessing
|
|
| Get device info | Used to get the device information |
HTTP agent | hikvision_cam.get_info Preprocessing
|
| Get device info: Login status | Dependent item | hikvision_cam.get_info.login_status Preprocessing
|
|
| Get system status | It is used to get the status information of the device |
HTTP agent | hikvision_cam.get_status Preprocessing
|
| Get system status: Login status | Dependent item | hikvision_cam.get_status.login_status Preprocessing
|
|
| Get streaming channels | Used to get the properties of streaming channels for the device |
HTTP agent | hikvision_cam.get_streaming Preprocessing
|
| Get streaming channels: Login status | Dependent item | hikvision_cam.get_streaming.login_status Preprocessing
|
|
| Hardware version | Dependent item | hikvision_cam.hardware_version Preprocessing
|
|
| MACaddress | Dependent item | hikvision_cam.mac_address Preprocessing
|
|
| Memory utilization | Memory utilization in % |
Dependent item | hikvision_cam.memory.usage Preprocessing
|
| Model | Dependent item | hikvision_cam.model Preprocessing
|
|
| Serial number | Dependent item | hikvision_cam.serial_number Preprocessing
|
|
| Supported beep | Dependent item | hikvision_cam.support_beep Preprocessing
|
|
| Supported video loss | Dependent item | hikvision_cam.support_video_loss Preprocessing
|
|
| System contact | Dependent item | hikvision_cam.system_contact Preprocessing
|
|
| Telecontrol ID | Dependent item | hikvision_cam.telecontrol_id Preprocessing
|
|
| Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Dependent item | hikvision_cam.uptime Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: High CPU utilization | The 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: Version has changed | Hikvision camera version has changed. Acknowledge to close the problem manually. |
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: 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: 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: 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 | |
| Hikvision: Camera has been replaced | Camera serial number has changed. Acknowledge to close the problem manually. |
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 has been restarted | Uptime is less than 10 minutes. |
last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m |
Info | Manual close: Yes |
LLD rule PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PTZ discovery | HTTP agent | hikvision_cam.ptz.discovery Preprocessing
|
Item prototypes for PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#PTZ_CHANNEL_ID}": Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | Dependent item | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": 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
|
| Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | Dependent item | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Azimuth | Dependent item | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Elevation | Dependent item | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing
|
Trigger prototypes for PTZ discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#PTZ_CHANNEL_ID}": Authorisation error | 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: Channel "{#PTZ_CHANNEL_ID}": Error receiving data | 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: 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 |
LLD rule Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Streaming channels discovery | HTTP agent | hikvision_cam.streaming.discovery Preprocessing
|
Item prototypes for Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#CHANNEL_ID}": Constant bitRate | Dependent item | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Fixed quality | Dependent item | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": GovLength | Dependent item | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": H264Profile | Dependent item | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Key frame interval | Dependent item | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Frame rate (max) | Dependent item | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Smoothing | Dependent item | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Snapshot image type | Dependent item | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR lower | Dependent item | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR upper | Dependent item | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video codec type | Dependent item | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video quality control type | Dependent item | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution height | Dependent item | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution width | Dependent item | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video scan type | Dependent item | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing
|
Trigger prototypes for Streaming channels discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters | expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px |
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 |
| Hikvision: 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 |
Feedback
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
Hikvision camera by HTTP
Overview
This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been 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
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Set the hostname or IP address of the Hikvision ISAPI host in the
{$HIKVISION_ISAPI_HOST}macro. -
Set the user name and password in the
{$PASSWORD}and{$USER}macros. -
Change other macros according to your camera configuration if necessary.
Macros used
| Name | Description | Default |
|---|---|---|
| {$CPU.UTIL.CRIT} | 90 |
|
| {$HIKVISION_ISAPI_HOST} | The hostname or IP address of the Hikvision ISAPI host. |
<SET ISAPI HOST> |
| {$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 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Boot loader released date | Dependent item | hikvision_cam.boot_released_date Preprocessing
|
|
| Boot loader version | Dependent item | hikvision_cam.boot_version Preprocessing
|
|
| CPU utilization | CPU utilization in % |
Dependent item | hikvision_cam.cpu.util Preprocessing
|
| Current device time | Dependent item | hikvision_cam.current_device_time Preprocessing
|
|
| Device description | Dependent item | hikvision_cam.device_description Preprocessing
|
|
| Device ID | Dependent item | hikvision_cam.device_id Preprocessing
|
|
| Device location | Dependent item | hikvision_cam.device_location Preprocessing
|
|
| Device name | Dependent item | hikvision_cam.device_name Preprocessing
|
|
| Device type | Dependent item | hikvision_cam.device_type Preprocessing
|
|
| Encoder released date | Dependent item | hikvision_cam.encoder_released_date Preprocessing
|
|
| Encoder version | Dependent item | hikvision_cam.encoder_version Preprocessing
|
|
| Firmware released date | Dependent item | hikvision_cam.firmware_released_date Preprocessing
|
|
| Firmware version | Dependent item | hikvision_cam.firmware_version Preprocessing
|
|
| Get device info | Used to get the device information |
HTTP agent | hikvision_cam.get_info Preprocessing
|
| Get device info: Login status | Dependent item | hikvision_cam.get_info.login_status Preprocessing
|
|
| Get system status | It is used to get the status information of the device |
HTTP agent | hikvision_cam.get_status Preprocessing
|
| Get system status: Login status | Dependent item | hikvision_cam.get_status.login_status Preprocessing
|
|
| Get streaming channels | Used to get the properties of streaming channels for the device |
HTTP agent | hikvision_cam.get_streaming Preprocessing
|
| Get streaming channels: Login status | Dependent item | hikvision_cam.get_streaming.login_status Preprocessing
|
|
| Hardware version | Dependent item | hikvision_cam.hardware_version Preprocessing
|
|
| MACaddress | Dependent item | hikvision_cam.mac_address Preprocessing
|
|
| Memory utilization | Memory utilization in % |
Dependent item | hikvision_cam.memory.usage Preprocessing
|
| Model | Dependent item | hikvision_cam.model Preprocessing
|
|
| Serial number | Dependent item | hikvision_cam.serial_number Preprocessing
|
|
| Supported beep | Dependent item | hikvision_cam.support_beep Preprocessing
|
|
| Supported video loss | Dependent item | hikvision_cam.support_video_loss Preprocessing
|
|
| System contact | Dependent item | hikvision_cam.system_contact Preprocessing
|
|
| Telecontrol ID | Dependent item | hikvision_cam.telecontrol_id Preprocessing
|
|
| Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Dependent item | hikvision_cam.uptime Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: High CPU utilization | The 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: Version has changed | Hikvision camera version has changed. Acknowledge to close the problem manually. |
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: 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: 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: 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 | |
| Hikvision: Camera has been replaced | Camera serial number has changed. Acknowledge to close the problem manually. |
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 has been restarted | Uptime is less than 10 minutes. |
last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m |
Info | Manual close: Yes |
LLD rule PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PTZ discovery | HTTP agent | hikvision_cam.ptz.discovery Preprocessing
|
Item prototypes for PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#PTZ_CHANNEL_ID}": Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | Dependent item | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": 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
|
| Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | Dependent item | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Azimuth | Dependent item | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Elevation | Dependent item | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing
|
Trigger prototypes for PTZ discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#PTZ_CHANNEL_ID}": Authorisation error | 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: Channel "{#PTZ_CHANNEL_ID}": Error receiving data | 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: 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 |
LLD rule Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Streaming channels discovery | HTTP agent | hikvision_cam.streaming.discovery Preprocessing
|
Item prototypes for Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#CHANNEL_ID}": Constant bitRate | Dependent item | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Fixed quality | Dependent item | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": GovLength | Dependent item | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": H264Profile | Dependent item | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Key frame interval | Dependent item | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Frame rate (max) | Dependent item | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Smoothing | Dependent item | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Snapshot image type | Dependent item | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR lower | Dependent item | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR upper | Dependent item | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video codec type | Dependent item | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video quality control type | Dependent item | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution height | Dependent item | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution width | Dependent item | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video scan type | Dependent item | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing
|
Trigger prototypes for Streaming channels discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision: Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters | expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px |
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 |
| Hikvision: 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 |
Feedback
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
Hikvision camera by HTTP
Overview
This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been 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
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Set the hostname or IP address of the Hikvision ISAPI host in the
{$HIKVISION_ISAPI_HOST}macro. -
Set the user name and password in the
{$PASSWORD}and{$USER}macros. -
Change other macros according to your camera configuration if necessary.
Macros used
| Name | Description | Default |
|---|---|---|
| {$CPU.UTIL.CRIT} | 90 |
|
| {$HIKVISION_ISAPI_HOST} | The hostname or IP address of the Hikvision ISAPI host. |
<SET ISAPI HOST> |
| {$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 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Hikvision camera: Boot loader released date | Dependent item | hikvision_cam.boot_released_date Preprocessing
|
|
| Hikvision camera: Boot loader version | Dependent item | hikvision_cam.boot_version Preprocessing
|
|
| Hikvision camera: CPU utilization | CPU utilization in % |
Dependent item | hikvision_cam.cpu.util Preprocessing
|
| Hikvision camera: Current device time | Dependent item | hikvision_cam.current_device_time Preprocessing
|
|
| Hikvision camera: Device description | Dependent item | hikvision_cam.device_description Preprocessing
|
|
| Hikvision camera: Device ID | Dependent item | hikvision_cam.device_id Preprocessing
|
|
| Hikvision camera: Device location | Dependent item | hikvision_cam.device_location Preprocessing
|
|
| Hikvision camera: Device name | Dependent item | hikvision_cam.device_name Preprocessing
|
|
| Hikvision camera: Device type | Dependent item | hikvision_cam.device_type Preprocessing
|
|
| Hikvision camera: Encoder released date | Dependent item | hikvision_cam.encoder_released_date Preprocessing
|
|
| Hikvision camera: Encoder version | Dependent item | hikvision_cam.encoder_version Preprocessing
|
|
| Hikvision camera: Firmware released date | Dependent item | hikvision_cam.firmware_released_date Preprocessing
|
|
| Hikvision camera: Firmware version | Dependent item | hikvision_cam.firmware_version Preprocessing
|
|
| Hikvision camera: Get device info | Used to get the device information |
HTTP agent | hikvision_cam.get_info Preprocessing
|
| Hikvision camera: Get device info: Login status | Dependent item | hikvision_cam.get_info.login_status Preprocessing
|
|
| Hikvision camera: Get system status | It is used to get the status information of the device |
HTTP agent | hikvision_cam.get_status Preprocessing
|
| Hikvision camera: Get system status: Login status | Dependent item | hikvision_cam.get_status.login_status Preprocessing
|
|
| Hikvision camera: Get streaming channels | Used to get the properties of streaming channels for the device |
HTTP agent | hikvision_cam.get_streaming Preprocessing
|
| Hikvision camera: Get streaming channels: Login status | Dependent item | hikvision_cam.get_streaming.login_status Preprocessing
|
|
| Hikvision camera: Hardware version | Dependent item | hikvision_cam.hardware_version Preprocessing
|
|
| Hikvision camera: MACaddress | Dependent item | hikvision_cam.mac_address Preprocessing
|
|
| Hikvision camera: Memory utilization | Memory utilization in % |
Dependent item | hikvision_cam.memory.usage Preprocessing
|
| Hikvision camera: Model | Dependent item | hikvision_cam.model Preprocessing
|
|
| Hikvision camera: Serial number | Dependent item | hikvision_cam.serial_number Preprocessing
|
|
| Hikvision camera: Supported beep | Dependent item | hikvision_cam.support_beep Preprocessing
|
|
| Hikvision camera: Supported video loss | Dependent item | hikvision_cam.support_video_loss Preprocessing
|
|
| Hikvision camera: System contact | Dependent item | hikvision_cam.system_contact Preprocessing
|
|
| Hikvision camera: Telecontrol ID | Dependent item | hikvision_cam.telecontrol_id Preprocessing
|
|
| Hikvision camera: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Dependent item | hikvision_cam.uptime Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision camera: High CPU utilization | The 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. Acknowledge to close the problem manually. |
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: 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: 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 | |
| Hikvision camera: Camera has been replaced | Camera serial number has changed. Acknowledge to close the problem manually. |
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: has been restarted | Uptime is less than 10 minutes. |
last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m |
Info | Manual close: Yes |
LLD rule PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PTZ discovery | HTTP agent | hikvision_cam.ptz.discovery Preprocessing
|
Item prototypes for PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Hikvision camera: Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | Dependent item | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| 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
|
| Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | Dependent item | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Azimuth | Dependent item | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Elevation | Dependent item | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing
|
Trigger prototypes for PTZ discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| 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: 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:
|
| 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 |
LLD rule Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Streaming channels discovery | HTTP agent | hikvision_cam.streaming.discovery Preprocessing
|
Item prototypes for Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#CHANNEL_ID}": Constant bitRate | Dependent item | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Fixed quality | Dependent item | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": GovLength | Dependent item | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": H264Profile | Dependent item | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Key frame interval | Dependent item | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Frame rate (max) | Dependent item | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Smoothing | Dependent item | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Snapshot image type | Dependent item | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR lower | Dependent item | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR upper | Dependent item | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video codec type | Dependent item | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video quality control type | Dependent item | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution height | Dependent item | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution width | Dependent item | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video scan type | Dependent item | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing
|
Trigger prototypes for Streaming channels discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters | expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px |
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 |
Feedback
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
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 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 Overrides: trigger disabled non main channels |
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: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Boot loader released date | - |
DEPENDENT | hikvision_cam.boot_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Boot loader version | - |
DEPENDENT | hikvision_cam.boot_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Current device time | - |
DEPENDENT | hikvision_cam.current_device_time Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Hikvision camera | Hikvision camera: Device description | - |
DEPENDENT | hikvision_cam.device_description Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Device ID | - |
DEPENDENT | hikvision_cam.device_id Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Device location | - |
DEPENDENT | hikvision_cam.device_location Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Device name | - |
DEPENDENT | hikvision_cam.device_name Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Device type | - |
DEPENDENT | hikvision_cam.device_type Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Encoder released date | - |
DEPENDENT | hikvision_cam.encoder_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Encoder version | - |
DEPENDENT | hikvision_cam.encoder_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Firmware released date | - |
DEPENDENT | hikvision_cam.firmware_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Firmware version | - |
DEPENDENT | hikvision_cam.firmware_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Hardware version | - |
DEPENDENT | hikvision_cam.hardware_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: MACaddress | - |
DEPENDENT | hikvision_cam.mac_address Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Model | - |
DEPENDENT | hikvision_cam.model Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Serial number | - |
DEPENDENT | hikvision_cam.serial_number Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Supported beep | - |
DEPENDENT | hikvision_cam.support_beep Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Supported video loss | - |
DEPENDENT | hikvision_cam.support_video_loss Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: System contact | - |
DEPENDENT | hikvision_cam.system_contact Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision camera | Hikvision camera: Telecontrol ID | - |
DEPENDENT | hikvision_cam.telecontrol_id Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Memory | Hikvision camera: Memory utilization | Memory utilization in % |
DEPENDENT | hikvision_cam.memory.usage Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | - |
DEPENDENT | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Azimuth | - |
DEPENDENT | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Elevation | - |
DEPENDENT | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Hikvision camera: Get device info: Login status | - |
DEPENDENT | hikvision_cam.get_info.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Hikvision camera: Get system status: Login status | - |
DEPENDENT | hikvision_cam.get_status.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Hikvision camera: Get streaming channels: Login status | - |
DEPENDENT | hikvision_cam.get_streaming.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Hikvision camera: Uptime | System uptime in 'N days, hh:mm:ss' format. |
DEPENDENT | hikvision_cam.uptime Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Constant bitRate | - |
DEPENDENT | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Fixed quality | - |
DEPENDENT | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": GovLength | - |
DEPENDENT | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": H264Profile | - |
DEPENDENT | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Key frame interval | - |
DEPENDENT | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Frame rate (max) | - |
DEPENDENT | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Smoothing | - |
DEPENDENT | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Snapshot image type | - |
DEPENDENT | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": VBR lower | - |
DEPENDENT | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": VBR upper | - |
DEPENDENT | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Video codec type | - |
DEPENDENT | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Video quality control type | - |
DEPENDENT | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Resolution height | - |
DEPENDENT | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Resolution width | - |
DEPENDENT | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming Channel | Channel "{#CHANNEL_ID}": Video scan type | - |
DEPENDENT | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| 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: |
| 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: |
| 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: |
| 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: - DISCARD_UNCHANGED_HEARTBEAT: |
| 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: |
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
Hikvision camera by HTTP
Overview
This template is designed for the effortless deployment of Hikvision cameras monitoring by Zabbix via HTTP and doesn't require any external scripts.
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been 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
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
-
Set the hostname or IP address of the Hikvision ISAPI host in the
{$HIKVISION_ISAPI_HOST}macro. -
Set the user name and password in the
{$PASSWORD}and{$USER}macros. -
Change other macros according to your camera configuration if necessary.
Macros used
| Name | Description | Default |
|---|---|---|
| {$CPU.UTIL.CRIT} | 90 |
|
| {$HIKVISION_ISAPI_HOST} | The hostname or IP address of the Hikvision ISAPI host. |
<SET ISAPI HOST> |
| {$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 |
Items
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Hikvision camera: Boot loader released date | Dependent item | hikvision_cam.boot_released_date Preprocessing
|
|
| Hikvision camera: Boot loader version | Dependent item | hikvision_cam.boot_version Preprocessing
|
|
| Hikvision camera: CPU utilization | CPU utilization in % |
Dependent item | hikvision_cam.cpu.util Preprocessing
|
| Hikvision camera: Current device time | Dependent item | hikvision_cam.current_device_time Preprocessing
|
|
| Hikvision camera: Device description | Dependent item | hikvision_cam.device_description Preprocessing
|
|
| Hikvision camera: Device ID | Dependent item | hikvision_cam.device_id Preprocessing
|
|
| Hikvision camera: Device location | Dependent item | hikvision_cam.device_location Preprocessing
|
|
| Hikvision camera: Device name | Dependent item | hikvision_cam.device_name Preprocessing
|
|
| Hikvision camera: Device type | Dependent item | hikvision_cam.device_type Preprocessing
|
|
| Hikvision camera: Encoder released date | Dependent item | hikvision_cam.encoder_released_date Preprocessing
|
|
| Hikvision camera: Encoder version | Dependent item | hikvision_cam.encoder_version Preprocessing
|
|
| Hikvision camera: Firmware released date | Dependent item | hikvision_cam.firmware_released_date Preprocessing
|
|
| Hikvision camera: Firmware version | Dependent item | hikvision_cam.firmware_version Preprocessing
|
|
| Hikvision camera: Get device info | Used to get the device information |
HTTP agent | hikvision_cam.get_info Preprocessing
|
| Hikvision camera: Get device info: Login status | Dependent item | hikvision_cam.get_info.login_status Preprocessing
|
|
| Hikvision camera: Get system status | It is used to get the status information of the device |
HTTP agent | hikvision_cam.get_status Preprocessing
|
| Hikvision camera: Get system status: Login status | Dependent item | hikvision_cam.get_status.login_status Preprocessing
|
|
| Hikvision camera: Get streaming channels | Used to get the properties of streaming channels for the device |
HTTP agent | hikvision_cam.get_streaming Preprocessing
|
| Hikvision camera: Get streaming channels: Login status | Dependent item | hikvision_cam.get_streaming.login_status Preprocessing
|
|
| Hikvision camera: Hardware version | Dependent item | hikvision_cam.hardware_version Preprocessing
|
|
| Hikvision camera: MACaddress | Dependent item | hikvision_cam.mac_address Preprocessing
|
|
| Hikvision camera: Memory utilization | Memory utilization in % |
Dependent item | hikvision_cam.memory.usage Preprocessing
|
| Hikvision camera: Model | Dependent item | hikvision_cam.model Preprocessing
|
|
| Hikvision camera: Serial number | Dependent item | hikvision_cam.serial_number Preprocessing
|
|
| Hikvision camera: Supported beep | Dependent item | hikvision_cam.support_beep Preprocessing
|
|
| Hikvision camera: Supported video loss | Dependent item | hikvision_cam.support_video_loss Preprocessing
|
|
| Hikvision camera: System contact | Dependent item | hikvision_cam.system_contact Preprocessing
|
|
| Hikvision camera: Telecontrol ID | Dependent item | hikvision_cam.telecontrol_id Preprocessing
|
|
| Hikvision camera: Uptime | The system uptime expressed in the following format: "N days, hh:mm:ss". |
Dependent item | hikvision_cam.uptime Preprocessing
|
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision camera: High CPU utilization | The 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. Acknowledge to close the problem manually. |
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: 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: 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 | |
| Hikvision camera: Camera has been replaced | Camera serial number has changed. Acknowledge to close the problem manually. |
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: has been restarted | Uptime is less than 10 minutes. |
last(/Hikvision camera by HTTP/hikvision_cam.uptime)<10m |
Info | Manual close: Yes |
LLD rule PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| PTZ discovery | HTTP agent | hikvision_cam.ptz.discovery Preprocessing
|
Item prototypes for PTZ discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Hikvision camera: Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | Dependent item | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| 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
|
| Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | Dependent item | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Azimuth | Dependent item | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing
|
|
| Channel "{#PTZ_CHANNEL_ID}": Elevation | Dependent item | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing
|
Trigger prototypes for PTZ discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| 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: 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:
|
| 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 |
LLD rule Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Streaming channels discovery | HTTP agent | hikvision_cam.streaming.discovery Preprocessing
|
Item prototypes for Streaming channels discovery
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Channel "{#CHANNEL_ID}": Constant bitRate | Dependent item | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Fixed quality | Dependent item | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": GovLength | Dependent item | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": H264Profile | Dependent item | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Key frame interval | Dependent item | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Frame rate (max) | Dependent item | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Smoothing | Dependent item | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Snapshot image type | Dependent item | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR lower | Dependent item | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": VBR upper | Dependent item | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video codec type | Dependent item | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video quality control type | Dependent item | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution height | Dependent item | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Resolution width | Dependent item | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing
|
|
| Channel "{#CHANNEL_ID}": Video scan type | Dependent item | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing
|
Trigger prototypes for Streaming channels discovery
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters | expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px |
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 |
Feedback
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
Hikvision camera by HTTP
Overview
For Zabbix version: 5.4 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 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- A: {#CHANNEL_ENABLED} MATCHES_REGEX |
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: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Get device info: Login status | - |
DEPENDENT | hikvision_cam.get_info.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Get system status: Login status | - |
DEPENDENT | hikvision_cam.get_status.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Get streaming channels: Login status | - |
DEPENDENT | hikvision_cam.get_streaming.login_status Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Device name | - |
DEPENDENT | hikvision_cam.device_name Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Device ID | - |
DEPENDENT | hikvision_cam.device_id Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Device description | - |
DEPENDENT | hikvision_cam.device_description Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Device location | - |
DEPENDENT | hikvision_cam.device_location Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: System contact | - |
DEPENDENT | hikvision_cam.system_contact Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Model | - |
DEPENDENT | hikvision_cam.model Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Serial number | - |
DEPENDENT | hikvision_cam.serial_number Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: MACaddress | - |
DEPENDENT | hikvision_cam.mac_address Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Firmware version | - |
DEPENDENT | hikvision_cam.firmware_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Firmware released date | - |
DEPENDENT | hikvision_cam.firmware_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Encoder version | - |
DEPENDENT | hikvision_cam.encoder_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Encoder released date | - |
DEPENDENT | hikvision_cam.encoder_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Boot loader version | - |
DEPENDENT | hikvision_cam.boot_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Boot loader released date | - |
DEPENDENT | hikvision_cam.boot_released_date Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Hardware version | - |
DEPENDENT | hikvision_cam.hardware_version Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Device type | - |
DEPENDENT | hikvision_cam.device_type Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Telecontrol ID | - |
DEPENDENT | hikvision_cam.telecontrol_id Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Supported beep | - |
DEPENDENT | hikvision_cam.support_beep Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Supported video loss | - |
DEPENDENT | hikvision_cam.support_video_loss Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Hikvision_camera | Hikvision camera: Current device time | - |
DEPENDENT | hikvision_cam.current_device_time Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Memory | Hikvision camera: Memory utilization | Memory utilization in % |
DEPENDENT | hikvision_cam.memory.usage Preprocessing: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status | - |
DEPENDENT | hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}] Preprocessing: - JAVASCRIPT: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Elevation | - |
DEPENDENT | hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Azimuth | - |
DEPENDENT | hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| PTZ | Channel "{#PTZ_CHANNEL_ID}": Absolute zoom | - |
DEPENDENT | hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}] Preprocessing: - JSONPATH: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Hikvision camera: Uptime | System uptime in 'N days, hh:mm:ss' format. |
DEPENDENT | hikvision_cam.uptime Preprocessing: - JSONPATH: ⛔️ON_FAIL: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Video codec type | - |
DEPENDENT | hikvision_cam.video_codec_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Video scan type | - |
DEPENDENT | hikvision_cam.video_scan_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Resolution width | - |
DEPENDENT | hikvision_cam.video_resolution_width[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Resolution height | - |
DEPENDENT | hikvision_cam.video_resolution_height[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Video quality control type | - |
DEPENDENT | hikvision_cam.video_quality_control_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Constant bitRate | - |
DEPENDENT | hikvision_cam.constant_bit_rate[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Fixed quality | - |
DEPENDENT | hikvision_cam.fixed_quality[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": VBR upper | - |
DEPENDENT | hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": VBR lower | - |
DEPENDENT | hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Frame rate (max) | - |
DEPENDENT | hikvision_cam.max_frame_rate[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Key frame interval | - |
DEPENDENT | hikvision_cam.key_frame_interval[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - MULTIPLIER: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Snapshot image type | - |
DEPENDENT | hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": H264Profile | - |
DEPENDENT | hikvision_cam.h264Profile[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": GovLength | - |
DEPENDENT | hikvision_cam.gov_length[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| Streaming_Channel_{#CHANNEL_ID} | Channel "{#CHANNEL_ID}": Smoothing | - |
DEPENDENT | hikvision_cam.smoothing[{#CHANNEL_ID}] Preprocessing: - JSONPATH: ⛔️ON_FAIL: - JSONPATH: ⛔️ON_FAIL: - DISCARD_UNCHANGED_HEARTBEAT: |
| 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: |
| 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: |
| 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: |
| 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: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| Hikvision camera: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) | CPU utilization is too high. The system might be slow to respond. |
{TEMPLATE_NAME:hikvision_cam.cpu.util.min(5m)}>{$CPU.UTIL.CRIT} |
WARNING | |
| Hikvision camera: Error receiving data | Check the availability of the HTTP port |
{Hikvision camera by HTTP:hikvision_cam.get_info.login_status.last()}=2 or {Hikvision camera by HTTP:hikvision_cam.get_status.login_status.last()}=2 or {Hikvision camera by HTTP:hikvision_cam.get_streaming.login_status.last()}=2 |
WARNING | Manual close: YES |
| Hikvision camera: Authorisation error | Check the correctness of the authorization data |
{Hikvision camera by HTTP:hikvision_cam.get_info.login_status.last()}=1 or {Hikvision camera by HTTP:hikvision_cam.get_status.login_status.last()}=1 or {Hikvision camera by HTTP:hikvision_cam.get_streaming.login_status.last()}=1 |
WARNING | Manual close: YES |
| Hikvision camera: Camera has been replaced (new serial number received) | Camera serial number has changed. Ack to close |
{TEMPLATE_NAME:hikvision_cam.serial_number.diff()}=1 and {TEMPLATE_NAME:hikvision_cam.serial_number.strlen()}>0 |
INFO | Manual close: YES |
| Hikvision camera: Version has changed (new version: {ITEM.VALUE}) | Hikvision camera version has changed. Ack to close. |
{TEMPLATE_NAME:hikvision_cam.firmware_version.diff()}=1 and {TEMPLATE_NAME:hikvision_cam.firmware_version.strlen()}>0 |
INFO | Manual close: YES |
| Hikvision camera: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) | The system is running out of free memory. |
{TEMPLATE_NAME:hikvision_cam.memory.usage.min(5m)}>{$MEMORY.UTIL.MAX} |
AVERAGE | |
| Channel "{#PTZ_CHANNEL_ID}": Error receiving data | Check the availability of the HTTP port |
{TEMPLATE_NAME:hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}].last()}=2 |
WARNING | Manual close: YES |
| Channel "{#PTZ_CHANNEL_ID}": Authorisation error | Check the correctness of the authorization data |
{TEMPLATE_NAME:hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}].last()}=1 |
WARNING | Manual close: YES |
| Channel "{#PTZ_CHANNEL_ID}": PTZ position changed | The direction of the camera has changed |
{TEMPLATE_NAME:hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}].diff()}=1 |
INFO | Manual close: YES |
| Hikvision camera: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
{TEMPLATE_NAME:hikvision_cam.uptime.last()}<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} |
{TEMPLATE_NAME:hikvision_cam.video_resolution_height[{#CHANNEL_ID}].last()}<>{$HIKVISION_STREAM_HEIGHT} or {Hikvision camera by HTTP:hikvision_cam.video_resolution_width[{#CHANNEL_ID}].last()}<>{$HIKVISION_STREAM_WIDTH} |
WARNING | Manual close: YES |
| Channel "{#CHANNEL_ID}": Parameters of video stream are changed | - |
{TEMPLATE_NAME:hikvision_cam.fixed_quality[{#CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.constant_bit_rate[{#CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.video_quality_control_type[{#CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.video_resolution_width[{#CHANNEL_ID}].diff()}=1 or {Hikvision camera by HTTP:hikvision_cam.video_resolution_height[{#CHANNEL_ID}].diff()}=1 |
INFO | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com