Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/7.4
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/7.2
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/7.0
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/6.4
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/6.2
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/6.0
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
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/cctv/hikvision?at=release/5.4
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
