This template is for Zabbix version: 7.0
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http?at=release/7.0
Microsoft SharePoint by HTTP
Overview
This template is designed for the effortless deployment of Microsoft SharePoint monitoring by Zabbix via HTTP and doesn't require any external scripts.
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
Requirements
Zabbix version: 7.0 and higher.
Tested versions
This template has been tested on:
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
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.
Macros used
Name |
Description |
Default |
{$SHAREPOINT.USER} |
|
|
{$SHAREPOINT.PASSWORD} |
|
|
{$SHAREPOINT.URL} |
Portal page URL. For example http://sharepoint.companyname.local/ |
|
{$SHAREPOINT.LLD.FILTER.NAME.MATCHES} |
Filter of discoverable dictionaries by name. |
.* |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} |
Filter of discoverable dictionaries by full path. |
^/ |
{$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} |
Filter of discoverable types. |
FOLDER |
{$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} |
Filter to exclude discovered dictionaries by name. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} |
Filter to exclude discovered dictionaries by full path. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Filter to exclude discovered types. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.ROOT} |
|
/Shared Documents |
{$SHAREPOINT.LLD_INTERVAL} |
|
3h |
{$SHAREPOINT.GET_INTERVAL} |
|
1m |
{$SHAREPOINT.MAX_HEALTH_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 |
Items
Name |
Description |
Type |
Key and additional info |
Get directory structure |
Used to get directory structure information |
Script |
sharepoint.get_dir Preprocessing Check for not supported value: any error ⛔️Custom on fail: Set value to: {"status":520,"data":{},"time":0}
|
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 item |
sharepoint.get_dir.status Preprocessing |
Get directory structure: Exec time |
The time taken to execute the script for obtaining the data structure (in ms). Less is better. |
Dependent item |
sharepoint.get_dir.time Preprocessing |
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 Regular expression: X-SharePointHealthScore\b:\s(\d+) \1 In range: 0 -> 10 ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
MS 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 |
Manual close: Yes |
MS SharePoint: Server responds slowly to API request |
|
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.time)>2000 |
Warning |
Manual close: Yes |
MS SharePoint: Bad health score |
|
last(/Microsoft SharePoint by HTTP/sharepoint.health_score)>"{$SHAREPOINT.MAX_HEALTH_SCORE}" |
Average |
|
LLD rule Directory discovery
Name |
Description |
Type |
Key and additional info |
Directory discovery |
|
Script |
sharepoint.directory.discovery Preprocessing |
Item prototypes for Directory discovery
Name |
Description |
Type |
Key and additional info |
Size ({#SHAREPOINT.LLD.FULL_PATH}) |
Size of: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.size["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.size ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 24h
|
Modified ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of change: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Created ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of creation: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.created["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Trigger prototypes for Directory discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
MS 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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Zabbix version: 6.4
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http?at=release/6.4
Microsoft SharePoint by HTTP
Overview
This template is designed for the effortless deployment of Microsoft SharePoint monitoring by Zabbix via HTTP and doesn't require any external scripts.
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
Requirements
Zabbix version: 6.4 and higher.
Tested versions
This template has been tested on:
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
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.
Macros used
Name |
Description |
Default |
{$SHAREPOINT.USER} |
|
|
{$SHAREPOINT.PASSWORD} |
|
|
{$SHAREPOINT.URL} |
Portal page URL. For example http://sharepoint.companyname.local/ |
|
{$SHAREPOINT.LLD.FILTER.NAME.MATCHES} |
Filter of discoverable dictionaries by name. |
.* |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} |
Filter of discoverable dictionaries by full path. |
^/ |
{$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} |
Filter of discoverable types. |
FOLDER |
{$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} |
Filter to exclude discovered dictionaries by name. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} |
Filter to exclude discovered dictionaries by full path. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Filter to exclude discovered types. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.ROOT} |
|
/Shared Documents |
{$SHAREPOINT.LLD_INTERVAL} |
|
3h |
{$SHAREPOINT.GET_INTERVAL} |
|
1m |
{$SHAREPOINT.MAX_HEALTH_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 |
Items
Name |
Description |
Type |
Key and additional info |
Sharepoint: Get directory structure |
Used to get directory structure information |
Script |
sharepoint.get_dir Preprocessing Check for not supported value ⛔️Custom on fail: Set value to: {"status":520,"data":{},"time":0}
|
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 item |
sharepoint.get_dir.status Preprocessing |
Sharepoint: Get directory structure: Exec time |
The time taken to execute the script for obtaining the data structure (in ms). Less is better. |
Dependent item |
sharepoint.get_dir.time Preprocessing |
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 Regular expression: X-SharePointHealthScore\b:\s(\d+) \1 In range: 0 -> 10 ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
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 |
Manual close: Yes |
Sharepoint: Server responds slowly to API request |
|
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.time)>2000 |
Warning |
Manual close: Yes |
Sharepoint: Bad health score |
|
last(/Microsoft SharePoint by HTTP/sharepoint.health_score)>"{$SHAREPOINT.MAX_HEALTH_SCORE}" |
Average |
|
LLD rule Directory discovery
Name |
Description |
Type |
Key and additional info |
Directory discovery |
|
Script |
sharepoint.directory.discovery Preprocessing |
Item prototypes for Directory discovery
Name |
Description |
Type |
Key and additional info |
Sharepoint: Size ({#SHAREPOINT.LLD.FULL_PATH}) |
Size of: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.size["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.size ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 24h
|
Sharepoint: Modified ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of change: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Sharepoint: Created ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of creation: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.created["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Trigger prototypes for Directory discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Zabbix version: 6.2
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http?at=release/6.2
Microsoft SharePoint by HTTP
Overview
For Zabbix version: 6.2 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: 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
This template is designed for the effortless deployment of Microsoft SharePoint monitoring by Zabbix via HTTP and doesn't require any external scripts.
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
Requirements
Zabbix version: 6.0 and higher.
Tested versions
This template has been tested on:
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
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.
Macros used
Name |
Description |
Default |
{$SHAREPOINT.USER} |
|
|
{$SHAREPOINT.PASSWORD} |
|
|
{$SHAREPOINT.URL} |
Portal page URL. For example http://sharepoint.companyname.local/ |
|
{$SHAREPOINT.LLD.FILTER.NAME.MATCHES} |
Filter of discoverable dictionaries by name. |
.* |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES} |
Filter of discoverable dictionaries by full path. |
^/ |
{$SHAREPOINT.LLD.FILTER.TYPE.MATCHES} |
Filter of discoverable types. |
FOLDER |
{$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES} |
Filter to exclude discovered dictionaries by name. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES} |
Filter to exclude discovered dictionaries by full path. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.LLD.FILTER.TYPE.NOT_MATCHES} |
Filter to exclude discovered types. |
CHANGE_IF_NEEDED |
{$SHAREPOINT.ROOT} |
|
/Shared Documents |
{$SHAREPOINT.LLD_INTERVAL} |
|
3h |
{$SHAREPOINT.GET_INTERVAL} |
|
1m |
{$SHAREPOINT.MAX_HEALTH_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 |
Items
Name |
Description |
Type |
Key and additional info |
Sharepoint: Get directory structure |
Used to get directory structure information |
Script |
sharepoint.get_dir Preprocessing Check for not supported value ⛔️Custom on fail: Set value to: {"status":520,"data":{},"time":0}
|
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 item |
sharepoint.get_dir.status Preprocessing |
Sharepoint: Get directory structure: Exec time |
The time taken to execute the script for obtaining the data structure (in ms). Less is better. |
Dependent item |
sharepoint.get_dir.time Preprocessing |
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 Regular expression: X-SharePointHealthScore\b:\s(\d+) \1 In range: 0 -> 10 ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
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 |
Manual close: Yes |
Sharepoint: Server responds slowly to API request |
|
last(/Microsoft SharePoint by HTTP/sharepoint.get_dir.time)>2000 |
Warning |
Manual close: Yes |
Sharepoint: Bad health score |
|
last(/Microsoft SharePoint by HTTP/sharepoint.health_score)>"{$SHAREPOINT.MAX_HEALTH_SCORE}" |
Average |
|
LLD rule Directory discovery
Name |
Description |
Type |
Key and additional info |
Directory discovery |
|
Script |
sharepoint.directory.discovery Preprocessing |
Item prototypes for Directory discovery
Name |
Description |
Type |
Key and additional info |
Sharepoint: Size ({#SHAREPOINT.LLD.FULL_PATH}) |
Size of: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.size["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: {{#SHAREPOINT.LLD.JSON_PATH}.regsub("(.*)", \1)}.meta.size ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 24h
|
Sharepoint: Modified ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of change: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Sharepoint: Created ({#SHAREPOINT.LLD.FULL_PATH}) |
Date of creation: {#SHAREPOINT.LLD.FULL_PATH} |
Dependent item |
sharepoint.created["{#SHAREPOINT.LLD.FULL_PATH}"] Preprocessing JSON Path: The text is too long. Please see the template. ⛔️Custom on fail: Discard value Discard unchanged with heartbeat: 3h
|
Trigger prototypes for Directory discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
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