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 |
---|---|---|---|---|
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 | |
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 |
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 |
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 |
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 | |
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 |
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 |
---|---|---|---|---|
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:
|
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:
|
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