This template is for Zabbix version: 6.0
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http?at=release/6.0
Microsoft SharePoint by HTTP
Overview
For Zabbix version: 6.0 and higher
SharePoint includes a Representational State Transfer (REST) service. Developers can perform read operations from their SharePoint Add-ins, solutions, and client applications, using REST web technologies and standard Open Data Protocol (OData) syntax. Details in
https://docs.microsoft.com/ru-ru/sharepoint/dev/sp-add-ins/get-to-know-the-sharepoint-rest-service?tabs=csom
This template was tested on:
- SharePoint Server, version 2019
Setup
See Zabbix template operation for basic instructions.
Create a new host.
Define macros according to your Sharepoint web portal.
It is recommended to fill in the values of the filter macros to avoid getting redundant data.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name |
Description |
Default |
{$SHAREPOINT.GET_INTERVAL} |
- |
1m |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} |
Filter of discoverable dictionaries by full path. |
^/ |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} |
Filter to exclude discovered dictionaries by full path. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.NAME.MATCHES} |
Filter of discoverable dictionaries by name. |
.* |
{$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} |
Filter to exclude discovered dictionaries by name. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} |
Filter of discoverable types. |
FOLDER |
{$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Filter to exclude discovered types. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD_INTERVAL} |
- |
3h |
{$SHAREPOINT.MAX_HEALT_SCORE} |
Must be in the range from 0 to 10 in details: https://docs.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-wsshp/c60ddeb6-4113-4a73-9e97-26b5c3907d33 |
5 |
{$SHAREPOINT.PASSWORD} |
- |
`` |
{$SHAREPOINT.ROOT} |
- |
/Shared Documents |
{$SHAREPOINT.URL} |
Portal page URL. For example http://sharepoint.companyname.local/ |
`` |
{$SHAREPOINT.USER} |
- |
`` |
Template links
There are no template links in this template.
Discovery rules
Name |
Description |
Type |
Key and additional info |
Directory discovery |
- |
SCRIPT |
sharepoint.directory.discovery Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: 6h Filter: AND - {#SHAREPOINT.LLD.NAME} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.MATCHES} - {#SHAREPOINT.LLD.NAME} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} - {#SHAREPOINT.LLD.FULL_PATH} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} - {#SHAREPOINT.LLD.FULL_PATH} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} - {#SHAREPOINT.LLD.TYPE} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} - {#SHAREPOINT.LLD.TYPE} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Items collected
Group |
Name |
Description |
Type |
Key and additional info |
Sharepoint |
Sharepoint: Get directory structure: Status |
HTTP response (status) code. Indicates whether the HTTP request was successfully completed. Additional information is available in the server log file. |
DEPENDENT |
sharepoint.get_dir.status Preprocessing: - JSONPATH: $.status ⛔️ON_FAIL: CUSTOM_ERROR -> DISCARD_VALUE - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Get directory structure: Exec time |
The time taken to execute the script for obtaining the data structure (in ms). Less is better. |
DEPENDENT |
sharepoint.get_dir.time Preprocessing: - JSONPATH: $.time ⛔️ON_FAIL: CUSTOM_ERROR -> DISCARD_VALUE - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Health score |
This item specifies a value between 0 and 10, where 0 represents a low load and a high ability to process requests and 10 represents a high load and that the server is throttling requests to maintain adequate throughput. |
HTTP_AGENT |
sharepoint.health_score Preprocessing: - REGEX: X-SharePointHealthScore\b:\s(\d+) \1 - IN_RANGE: 0 10 ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Size ({#SHAREPOINT.LLD.FULL_PATH}) |
Size of: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.size["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.size ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 24h |
Sharepoint |
Sharepoint: Modified ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of change: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.modified ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Created ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of creation: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.created["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.created ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Zabbix raw items |
Sharepoint: Get directory structure |
Used to get directory structure information |
SCRIPT |
sharepoint.get_dir Preprocessing: - CHECK_NOT_SUPPORTED ⛔️ON_FAIL: CUSTOM_VALUE -> {"status":520,"data":{},"time":0} Expression: The text is too long. Please see the template. |
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
Sharepoint: Error getting directory structure. |
Error getting directory structure. Check the Zabbix server log for more details. |
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.status)<>200 |
WARNING |
|
Sharepoint: Server responds slowly to API request |
- |
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.time)>2000 |
WARNING |
|
Sharepoint: Bad health score |
- |
last(/Microsoft SharePoint by HTTP/sharepoint.health_score)>"{$SHAREPOINT.MAX_HEALT_SCORE}" |
AVERAGE |
|
Sharepoint: Sharepoint object is changed |
Updated date of modification of folder / file |
last(/Microsoft SharePoint by HTTP/sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"],#1)<>last(/Microsoft SharePoint by HTTP/sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"],#2) |
INFO |
Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
This template is for Zabbix version: 5.4
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http?at=release/5.4
Microsoft SharePoint by HTTP
Overview
For Zabbix version: 5.4 and higher
SharePoint includes a Representational State Transfer (REST) service. Developers can perform read operations from their SharePoint Add-ins, solutions, and client applications, using REST web technologies and standard Open Data Protocol (OData) syntax. Details in
https://docs.microsoft.com/ru-ru/sharepoint/dev/sp-add-ins/get-to-know-the-sharepoint-rest-service?tabs=csom
This template was tested on:
- SharePoint Server, version 2019
Setup
See Zabbix template operation for basic instructions.
Create a new host.
Define macros according to your Sharepoint web portal.
It is recommended to fill in the values of the filter macros to avoid getting redundant data.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name |
Description |
Default |
{$SHAREPOINT.GET_INTERVAL} |
- |
1m |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} |
Filter of discoverable dictionaries by full path. |
^/ |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} |
Filter to exclude discovered dictionaries by full path. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.NAME.MATCHES} |
Filter of discoverable dictionaries by name. |
.* |
{$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} |
Filter to exclude discovered dictionaries by name. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} |
Filter of discoverable types. |
FOLDER |
{$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Filter to exclude discovered types. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD_INTERVAL} |
- |
3h |
{$SHAREPOINT.MAX_HEALT_SCORE} |
Must be in the range from 0 to 10 in details: https://docs.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-wsshp/c60ddeb6-4113-4a73-9e97-26b5c3907d33 |
5 |
{$SHAREPOINT.PASSWORD} |
- |
`` |
{$SHAREPOINT.ROOT} |
- |
/Shared Documents |
{$SHAREPOINT.URL} |
Portal page URL. For example http://sharepoint.companyname.local/ |
`` |
{$SHAREPOINT.USER} |
- |
`` |
Template links
There are no template links in this template.
Discovery rules
Name |
Description |
Type |
Key and additional info |
Directory discovery |
- |
SCRIPT |
sharepoint.directory.discovery Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: 6h Filter: AND - {#SHAREPOINT.LLD.NAME} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.MATCHES} - {#SHAREPOINT.LLD.NAME} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} - {#SHAREPOINT.LLD.FULL_PATH} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} - {#SHAREPOINT.LLD.FULL_PATH} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} - {#SHAREPOINT.LLD.TYPE} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} - {#SHAREPOINT.LLD.TYPE} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Items collected
Group |
Name |
Description |
Type |
Key and additional info |
Sharepoint |
Sharepoint: Get directory structure: Status |
HTTP response (status) code. Indicates whether the HTTP request was successfully completed. Additional information is available in the server log file. |
DEPENDENT |
sharepoint.get_dir.status Preprocessing: - JSONPATH: $.status ⛔️ON_FAIL: CUSTOM_ERROR -> DISCARD_VALUE - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Get directory structure: Exec time |
The time taken to execute the script for obtaining the data structure (in ms). Less is better. |
DEPENDENT |
sharepoint.get_dir.time Preprocessing: - JSONPATH: $.time ⛔️ON_FAIL: CUSTOM_ERROR -> DISCARD_VALUE - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Health score |
This item specifies a value between 0 and 10, where 0 represents a low load and a high ability to process requests and 10 represents a high load and that the server is throttling requests to maintain adequate throughput. |
HTTP_AGENT |
sharepoint.health_score Preprocessing: - REGEX: X-SharePointHealthScore\b:\s(\d+) \1 - IN_RANGE: 0 10 ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Size ({#SHAREPOINT.LLD.FULL_PATH}) |
Size of: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.size["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.size ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 24h |
Sharepoint |
Sharepoint: Modified ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of change: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.modified ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Sharepoint |
Sharepoint: Created ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of creation: {#SHAREPOINT.LLD.FULL_PATH} |
DEPENDENT |
sharepoint.created["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing: - JSONPATH: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.created ⛔️ON_FAIL: DISCARD_VALUE -> - DISCARD_UNCHANGED_HEARTBEAT: 3h |
Zabbix_raw_items |
Sharepoint: Get directory structure |
Used to get directory structure information |
SCRIPT |
sharepoint.get_dir Preprocessing: - CHECK_NOT_SUPPORTED ⛔️ON_FAIL: CUSTOM_VALUE -> {"status":520,"data":{},"time":0} Expression: The text is too long. Please see the template. |
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
Sharepoint: Error getting directory structure. |
Error getting directory structure. Check the Zabbix server log for more details. |
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.status)<>200 |
WARNING |
|
Sharepoint: Server responds slowly to API request |
- |
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.time)>2000 |
WARNING |
|
Sharepoint: Bad health score |
- |
last(/Microsoft SharePoint by HTTP/sharepoint.health_score)>"{$SHAREPOINT.MAX_HEALT_SCORE}" |
AVERAGE |
|
Sharepoint: Sharepoint object is changed |
Updated date of modification of folder / file |
last(/Microsoft SharePoint by HTTP/sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"],#1)<>last(/Microsoft SharePoint by HTTP/sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"],#2) |
INFO |
Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
Link |
Source |
Compatibility |
Type, Technology |
Created Updated |
Rating |
See all Zabbix community templates