Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README.md « hikvision « cctv « templates - github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 27c30dd4a41af7e5f72e43e7d8f8bb3571b3e3e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

# 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-camera/


This template was tested on:

- DS-I220
- DS-I450
- DS-2CD2620F-I
- DS-2CD1631FWD-I
- DS-2CD2020F-I
- DS-2CD2042WD-I
- DS-2CD2T43G0-I5
- DS-2DF5286-AEL
- DS-2CD2T25FWD-I5
- DS-2CD4A35FWD-IZHS
- DS-I200
- DS-2CD1031-I
- DS-2CD2125FWD-IS
- DS-I122
- DS-I203
- DS-N201
- DS-2CD2622FWD-IZS
- DS-2CD2023G0-I

## Setup

> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/http) for basic instructions.

Define macros according to your camera configuration


## Zabbix configuration

No specific Zabbix configuration is required.

### Macros used

|Name|Description|Default|
|----|-----------|-------|
|{$CPU.UTIL.CRIT} |<p>-</p> |`90` |
|{$HIKVISION_ISAPI_PORT} |<p>ISAPI port on device</p> |`80` |
|{$HIKVISION_MAIN_CHANNEL_ID} |<p>Main video stream ID</p> |`101` |
|{$HIKVISION_STREAM_HEIGHT} |<p>Main video stream image height</p> |`1080` |
|{$HIKVISION_STREAM_WIDTH} |<p>Main video stream image width</p> |`1920` |
|{$MEMORY.UTIL.MAX} |<p>-</p> |`95` |
|{$PASSWORD} |<p>-</p> |`1234` |
|{$USER} |<p>-</p> |`admin` |

## Template links

There are no template links in this template.

## Discovery rules

|Name|Description|Type|Key and additional info|
|----|-----------|----|----|
|PTZ discovery |<p>-</p> |HTTP_AGENT |hikvision_cam.ptz.discovery<p>**Preprocessing**:</p><p>- XML_TO_JSON: ``</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p> |
|Streaming channels discovery |<p>-</p> |HTTP_AGENT |hikvision_cam.streaming.discovery<p>**Preprocessing**:</p><p>- XML_TO_JSON: ``</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p><p>**Filter**:</p>AND <p>- A: {#CHANNEL_ENABLED} MATCHES_REGEX `true`</p> |

## Items collected

|Group|Name|Description|Type|Key and additional info|
|-----|----|-----------|----|---------------------|
|CPU |Hikvision camera: CPU utilization |<p>CPU utilization in %</p> |DEPENDENT |hikvision_cam.cpu.util<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceStatus.CPUList.CPU.cpuUtilization`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Hikvision_camera |Hikvision camera: Get device info: Login status |<p>-</p> |DEPENDENT |hikvision_cam.get_info.login_status<p>**Preprocessing**:</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Hikvision_camera |Hikvision camera: Get system status: Login status |<p>-</p> |DEPENDENT |hikvision_cam.get_status.login_status<p>**Preprocessing**:</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Hikvision_camera |Hikvision camera: Get streaming channels: Login status |<p>-</p> |DEPENDENT |hikvision_cam.get_streaming.login_status<p>**Preprocessing**:</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Hikvision_camera |Hikvision camera: Device name |<p>-</p> |DEPENDENT |hikvision_cam.device_name<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.deviceName`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
|Hikvision_camera |Hikvision camera: Device ID |<p>-</p> |DEPENDENT |hikvision_cam.device_id<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.deviceID`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Device description |<p>-</p> |DEPENDENT |hikvision_cam.device_description<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.deviceDescription`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Device location |<p>-</p> |DEPENDENT |hikvision_cam.device_location<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.deviceLocation`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: System contact |<p>-</p> |DEPENDENT |hikvision_cam.system_contact<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.systemContact`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Model |<p>-</p> |DEPENDENT |hikvision_cam.model<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.model`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Serial number |<p>-</p> |DEPENDENT |hikvision_cam.serial_number<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.serialNumber`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: MACaddress |<p>-</p> |DEPENDENT |hikvision_cam.mac_address<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.macAddress`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Firmware version |<p>-</p> |DEPENDENT |hikvision_cam.firmware_version<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.firmwareVersion`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Firmware released date |<p>-</p> |DEPENDENT |hikvision_cam.firmware_released_date<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.firmwareReleasedDate`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Encoder version |<p>-</p> |DEPENDENT |hikvision_cam.encoder_version<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.encoderVersion`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Encoder released date |<p>-</p> |DEPENDENT |hikvision_cam.encoder_released_date<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.encoderReleasedDate`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Boot loader version |<p>-</p> |DEPENDENT |hikvision_cam.boot_version<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.bootVersion`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Boot loader released date |<p>-</p> |DEPENDENT |hikvision_cam.boot_released_date<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.bootReleasedDate`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Hardware version |<p>-</p> |DEPENDENT |hikvision_cam.hardware_version<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.hardwareVersion`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Device type |<p>-</p> |DEPENDENT |hikvision_cam.device_type<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.deviceType`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Telecontrol ID |<p>-</p> |DEPENDENT |hikvision_cam.telecontrol_id<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.telecontrolID`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Supported beep |<p>-</p> |DEPENDENT |hikvision_cam.support_beep<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.supportBeep`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Supported video loss |<p>-</p> |DEPENDENT |hikvision_cam.support_video_loss<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceInfo.supportVideoLoss`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `24h`</p> |
|Hikvision_camera |Hikvision camera: Current device time |<p>-</p> |DEPENDENT |hikvision_cam.current_device_time<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceStatus.currentDeviceTime`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p> |
|Memory |Hikvision camera: Memory utilization |<p>Memory utilization in %</p> |DEPENDENT |hikvision_cam.memory.usage<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceStatus.MemoryList.Memory.memoryUsage`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|PTZ |Channel "{#PTZ_CHANNEL_ID}": Get PTZ info: Channel "{#PTZ_CHANNEL_ID}": Login status |<p>-</p> |DEPENDENT |hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JAVASCRIPT: `Text is too long. Please see the template.`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|PTZ |Channel "{#PTZ_CHANNEL_ID}": Elevation |<p>-</p> |DEPENDENT |hikvision_cam.ptz.elevation[{#PTZ_CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.PTZStatus.AbsoluteHigh.elevation`</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|PTZ |Channel "{#PTZ_CHANNEL_ID}": Azimuth |<p>-</p> |DEPENDENT |hikvision_cam.ptz.azimuth[{#PTZ_CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.PTZStatus.AbsoluteHigh.azimuth`</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|PTZ |Channel "{#PTZ_CHANNEL_ID}": Absolute zoom |<p>-</p> |DEPENDENT |hikvision_cam.ptz.absolute_zoom[{#PTZ_CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.PTZStatus.AbsoluteHigh.absoluteZoom`</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Status |Hikvision camera: Uptime |<p>System uptime in 'N days, hh:mm:ss' format.</p> |DEPENDENT |hikvision_cam.uptime<p>**Preprocessing**:</p><p>- JSONPATH: `$.DeviceStatus.deviceUpTime`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Video codec type |<p>-</p> |DEPENDENT |hikvision_cam.video_codec_type[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoCodecType`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Video scan type |<p>-</p> |DEPENDENT |hikvision_cam.video_scan_type[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoScanType`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Resolution width |<p>-</p> |DEPENDENT |hikvision_cam.video_resolution_width[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoResolutionWidth`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Resolution height |<p>-</p> |DEPENDENT |hikvision_cam.video_resolution_height[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoResolutionHeight`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Video quality control type |<p>-</p> |DEPENDENT |hikvision_cam.video_quality_control_type[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.videoQualityControlType`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Constant bitRate |<p>-</p> |DEPENDENT |hikvision_cam.constant_bit_rate[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.constantBitRate`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Fixed quality |<p>-</p> |DEPENDENT |hikvision_cam.fixed_quality[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.fixedQuality`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": VBR upper |<p>-</p> |DEPENDENT |hikvision_cam.vbr_upper_cap[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.vbrUpperCap`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": VBR lower |<p>-</p> |DEPENDENT |hikvision_cam.vbr_lower_cap[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.vbrLowerCap`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Frame rate (max) |<p>-</p> |DEPENDENT |hikvision_cam.max_frame_rate[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.maxFrameRate`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- MULTIPLIER: `0.01`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Key frame interval |<p>-</p> |DEPENDENT |hikvision_cam.key_frame_interval[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.keyFrameInterval`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- MULTIPLIER: `0.01`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Snapshot image type |<p>-</p> |DEPENDENT |hikvision_cam.snap_shot_image_type[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.snapShotImageType`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": H264Profile |<p>-</p> |DEPENDENT |hikvision_cam.h264Profile[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.H264Profile`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": GovLength |<p>-</p> |DEPENDENT |hikvision_cam.gov_length[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.GovLength`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Streaming_Channel_{#CHANNEL_ID} |Channel "{#CHANNEL_ID}": Smoothing |<p>-</p> |DEPENDENT |hikvision_cam.smoothing[{#CHANNEL_ID}]<p>**Preprocessing**:</p><p>- JSONPATH: `$.StreamingChannelList.StreamingChannel[?(@.id=={#CHANNEL_ID})].Video.smoothing`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JSONPATH: `$[0]`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Zabbix_raw_items |Hikvision camera: Get device info |<p>Used to get the device information</p> |HTTP_AGENT |hikvision_cam.get_info<p>**Preprocessing**:</p><p>- CHECK_NOT_SUPPORTED: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p><p>- XML_TO_JSON: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p> |
|Zabbix_raw_items |Hikvision camera: Get system status |<p>It is used to get the status information of the device</p> |HTTP_AGENT |hikvision_cam.get_status<p>**Preprocessing**:</p><p>- CHECK_NOT_SUPPORTED: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p><p>- XML_TO_JSON: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p> |
|Zabbix_raw_items |Hikvision camera: Get streaming channels |<p>Used to get the properties of streaming channels for the device</p> |HTTP_AGENT |hikvision_cam.get_streaming<p>**Preprocessing**:</p><p>- CHECK_NOT_SUPPORTED: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p><p>- XML_TO_JSON: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p> |
|Zabbix_raw_items |Hikvision camera: Get PTZ info |<p>High precision positioning which is accurate to a bit after the decimal point</p> |HTTP_AGENT |hikvision_cam.get_ptz[{#PTZ_CHANNEL_ID}]<p>**Preprocessing**:</p><p>- CHECK_NOT_SUPPORTED: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p><p>- XML_TO_JSON: ``</p><p>⛔️ON_FAIL: `CUSTOM_VALUE -> {"html":{"head":{"title":"Connection error"}}}`</p> |

## Triggers

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----|----|----|
|Hikvision camera: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |<p>CPU utilization is too high. The system might be slow to respond.</p> |`{TEMPLATE_NAME:hikvision_cam.cpu.util.min(5m)}>{$CPU.UTIL.CRIT}` |WARNING | |
|Hikvision camera: Error receiving data |<p>Check the availability of the HTTP port</p> |`{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 |<p>Manual close: YES</p> |
|Hikvision camera: Authorisation error |<p>Check the correctness of the authorization data</p> |`{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 |<p>Manual close: YES</p> |
|Hikvision camera: Camera has been replaced (new serial number received) |<p>Camera serial number has changed. Ack to close</p> |`{TEMPLATE_NAME:hikvision_cam.serial_number.diff()}=1 and {TEMPLATE_NAME:hikvision_cam.serial_number.strlen()}>0` |INFO |<p>Manual close: YES</p> |
|Hikvision camera: Version has changed (new version: {ITEM.VALUE}) |<p>Hikvision camera version has changed. Ack to close.</p> |`{TEMPLATE_NAME:hikvision_cam.firmware_version.diff()}=1 and {TEMPLATE_NAME:hikvision_cam.firmware_version.strlen()}>0` |INFO |<p>Manual close: YES</p> |
|Hikvision camera: High memory utilization ( >{$MEMORY.UTIL.MAX}% for 5m) |<p>The system is running out of free memory.</p> |`{TEMPLATE_NAME:hikvision_cam.memory.usage.min(5m)}>{$MEMORY.UTIL.MAX}` |AVERAGE | |
|Channel "{#PTZ_CHANNEL_ID}": Error receiving data |<p>Check the availability of the HTTP port</p> |`{TEMPLATE_NAME:hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}].last()}=2 ` |WARNING |<p>Manual close: YES</p> |
|Channel "{#PTZ_CHANNEL_ID}": Authorisation error |<p>Check the correctness of the authorization data</p> |`{TEMPLATE_NAME:hikvision_cam.get_ptz.login_status[{#PTZ_CHANNEL_ID}].last()}=1 ` |WARNING |<p>Manual close: YES</p> |
|Channel "{#PTZ_CHANNEL_ID}": PTZ position changed |<p>The direction of the camera has changed</p> |`{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 |<p>Manual close: YES</p> |
|Hikvision camera: has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:hikvision_cam.uptime.last()}<10m` |INFO |<p>Manual close: YES</p> |
|Channel "{#CHANNEL_ID}": Invalid video stream resolution parameters |<p>expected: {$HIKVISION_STREAM_WIDTH} px x {$HIKVISION_STREAM_HEIGHT} px</p><p>received: {ITEM.LASTVALUE2} x {ITEM.LASTVALUE1}</p> |`{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 |<p>Manual close: YES</p> |
|Channel "{#CHANNEL_ID}": Parameters of video stream are changed |<p>-</p> |`{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 |<p>Manual close: YES</p> |

## Feedback

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