Sharepoint

SharePoint is a web-based collaborative platform that integrates with Microsoft Office. Launched in 2001, SharePoint is primarily sold as a document management and storage system, but the product is highly configurable and usage varies substantially among organizations.

Available solutions




This template is for Zabbix version: 5.4

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/sharepoint_http

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

Filter:

AND

- A: {#SHAREPOINT.LLD.NAME} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.MATCHES}

- B: {#SHAREPOINT.LLD.NAME} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.NAME.NOT_MATCHES}

- C: {#SHAREPOINT.LLD.FULL_PATH} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.MATCHES}

- C: {#SHAREPOINT.LLD.FULL_PATH} NOT_MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.FULL_PATH.NOT_MATCHES}

- E: {#SHAREPOINT.LLD.TYPE} MATCHES_REGEX {$SHAREPOINT.LLD.FILTER.TYPE.MATCHES}

- F: {#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: `</p><p>⛔️ON_FAIL:CUSTOM_VALUE -> {"status":520,"data":{},"time":0}`

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.

{TEMPLATE_NAME:sharepoint.get_dir.status.last()}<>200 WARNING
Sharepoint: Server responds slowly to API request

-

{TEMPLATE_NAME:sharepoint.get_dir.time.last()}>2000 WARNING
Sharepoint: Bad health score {TEMPLATE_NAME:sharepoint.health_score.last()}>"{$SHAREPOINT.MAX_HEALT_SCORE}" AVERAGE
Sharepoint: Sharepoint object is changed

Updated date of modification of folder / file

{TEMPLATE_NAME:sharepoint.modified["{#SHAREPOINT.LLD.FULL_PATH}"].diff()}=1 INFO

Manual close: YES

Feedback

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

Didn't find what you are looking for?