commit c0a8ecf9d23d738effad607a80bc793a7ec02258 Author: Thomas Constans Date: Wed Mar 8 15:18:16 2023 +0100 add active user item diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..8726eeb --- /dev/null +++ b/Readme.md @@ -0,0 +1,41 @@ +# Template nextcloud + +## Ref: + +https://github.com/zabbix/community-templates/tree/main/Cloud/template_nextcloud_monitoring_api/6.0 + +## Overview + +Nextcloud Monitoring API integration for Zabbix + + +Needs **curl** to be installed on the Nextcloud server. + + +**You need to set the macros according to your environment.** + + +Fully compatible with Nextcloud versions 14 - 25. + + +Shows different operating values of your Nextcloud server: + + +Version +Webserver +Database Type +Database Version +Database Size +PHP Max. Execution Time +PHP Memory Limit +PHP Upload Max. Filesize +PHP Version +Storage Files +Storage Freespace +Storage Users +Number of Storages +Apps Installed +Apps Needing Update +Active users last minute, last hour, last day + +warning if app update available diff --git a/template_nextcloud_monitoring_api.yaml b/template_nextcloud_monitoring_api.yaml new file mode 100644 index 0000000..1796a1a --- /dev/null +++ b/template_nextcloud_monitoring_api.yaml @@ -0,0 +1,421 @@ +zabbix_export: + version: '6.0' + date: '2023-03-08T14:14:12Z' + groups: + - + uuid: 7df96b18c230490a9a0a9e2307226338 + name: Templates + templates: + - + uuid: 26a38df87cef4ff89facf20cf8fff72e + template: 'App Nextcloud Monitoring API' + name: 'App Nextcloud Monitoring API' + description: | + ## Overview + + Nextcloud Monitoring API integration for Zabbix 3.4 + + + Needs **curl** to be installed on the Nextcloud server. + + + **You need to set the macros according to your environment.** + + + Fully compatible with Nextcloud versions 14 - 17. + + + Shows different operating values of your Nextcloud server: + + + Version + Webserver + Database Type + Database Version + Database Size + PHP Max. Execution Time + PHP Memory Limit + PHP Upload Max. Filesize + PHP Version + Storage Files + Storage Freespace + Storage Users + Number of Storages + Apps Installed + Apps Needing Update + Active users last minute, last hour, last day + groups: + - + name: Templates + items: + - + uuid: f4b91ee3053841798ca2a08576b96a64 + name: 'Nextcloud Active User - last 24h' + type: DEPENDENT + key: nextcloud.active.user + delay: '0' + description: 'Number of active user per 24h' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/activeUsers/last24hours) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 268602ac569d4e44814c8459da23f496 + name: 'Nextcloud Active User - last 1h' + type: DEPENDENT + key: nextcloud.active.user1h + delay: '0' + description: 'Number of active user per 24h' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/activeUsers/last1hour) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: a75d6dd9c2a04eed9b854eaab6dd710d + name: 'Nextcloud Active User - last 5m' + type: DEPENDENT + key: nextcloud.active.user5m + delay: '0' + description: 'Number of active user per 24h' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/activeUsers/last5minutes) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: a2078ef4ae2643e196c68a7b2d782e5d + name: 'Nextcloud PHP Max. Execution Time' + type: DEPENDENT + key: nextcloud.php.maxexectime + delay: '0' + units: s + description: 'Nextcloud PHP Max. Execution Time' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/server/php/max_execution_time) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: e68a778ac18549b4ab976853f96dfc5b + name: 'Nextcloud PHP Memory Limit' + type: DEPENDENT + key: nextcloud.php.memlimit + delay: '0' + units: B + description: 'Nextcloud PHP Memory Limit' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/server/php/memory_limit) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: c4261edda3ff42e8bcdccee079c18978 + name: 'Nextcloud PHP Upload Max. Filesize' + type: DEPENDENT + key: nextcloud.php.upmaxfilesize + delay: '0' + units: B + description: 'Nextcloud PHP Upload Max. Filesize' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/server/php/upload_max_filesize) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 13f1ee8b056b4fb582f3a5b0f4bd4e89 + name: 'Nextcloud PHP Version' + type: DEPENDENT + key: nextcloud.php.version + delay: '0' + trends: '0' + value_type: TEXT + description: 'Nextcloud PHP Version' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/server/php/version) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 10c735a5be294d3b8894756e8a3b4128 + name: 'Nextcloud Database Size' + type: DEPENDENT + key: nextcloud.server.database.size + delay: '0' + units: B + description: 'Nextcloud Dababase Type' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/server/database/size) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: bc63778964bd4c9ab5cfad229eeeee05 + name: 'Nextcloud Database Type' + type: DEPENDENT + key: nextcloud.server.database.type + delay: '0' + trends: '0' + value_type: TEXT + description: 'Nextcloud Dababase Type' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/server/database/type) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 3e8426e6a6a54536a2fbff5a2ff54780 + name: 'Nextcloud Database Version' + type: DEPENDENT + key: nextcloud.server.database.version + delay: '0' + trends: '0' + value_type: TEXT + description: 'Nextcloud Dababase Version' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/server/database/version) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 7d4de1aa15f4480d8a3c80d1536a9138 + name: 'Nextcloud Webserver' + type: DEPENDENT + key: nextcloud.server.webserver + delay: '0' + trends: '0' + value_type: TEXT + description: 'Nextcloud Webserver' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/server/webserver) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: dcae33d3518449aba0559ed5746c8792 + name: 'Nextcloud Storage Freespace' + type: DEPENDENT + key: nextcloud.storage.freespace + delay: '0' + units: B + description: 'Nextcloud Storage Freespace' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/nextcloud/system/freespace) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 20aa91701c1149e4ac4e58c3ade03d5e + name: 'Nextcloud Storage Files' + type: DEPENDENT + key: nextcloud.storage.numfiles + delay: '0' + description: 'Nextcloud Storage Files' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/nextcloud/storage/num_files) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 65c1ab75ecde49e0b934e9eb75c52b4f + name: 'Nextcloud Number of Storages' + type: DEPENDENT + key: nextcloud.storage.numstorages + delay: '0' + description: 'Nextcloud Number of Storages' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/nextcloud/storage/num_storages) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 441f4b05b99c4c068679205a525c1cf4 + name: 'Nextcloud Storage Users' + type: DEPENDENT + key: nextcloud.storage.numusers + delay: '0' + description: 'Nextcloud Storage Users' + preprocessing: + - + type: XMLPATH + parameters: + - number(/ocs/data/nextcloud/storage/num_users) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: 63f40dbbb4a949b5bd16350a42e16d56 + name: 'Nextcloud Apps Needing Update' + type: DEPENDENT + key: nextcloud.system.apps.needingupdate + delay: '0' + description: 'Nextcloud Apps Needing Update' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/nextcloud/system/apps/num_updates_available) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + triggers: + - + uuid: 8bb03f9c16454d0baf9026534ba68b36 + expression: 'last(/App Nextcloud Monitoring API/nextcloud.system.apps.needingupdate)>0' + name: 'Nextcloud Application Updates available' + priority: INFO + - + uuid: e429a3b4020c4ce19cad4f2396156356 + name: 'Nextcloud Apps Installed' + type: DEPENDENT + key: nextcloud.system.apps.numinstalled + delay: '0' + description: 'Nextcloud Apps Installed' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/nextcloud/system/apps/num_installed) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: ae80a9021cf448019185363145349412 + name: 'Nextcloud Version' + type: DEPENDENT + key: nextcloud.system.version + delay: '0' + trends: '0' + value_type: TEXT + description: 'Nextcloud Version' + preprocessing: + - + type: XMLPATH + parameters: + - string(/ocs/data/nextcloud/system/version) + master_item: + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + tags: + - + tag: Application + value: Nextcloud + - + uuid: f591863a26434d11a59d09dcabb03ff8 + name: 'Nextcloud Monitoring API' + type: ZABBIX_ACTIVE + key: 'system.run[curl -s -H "NC-Token: {$CLOUD_APP_TOKEN}" {$HTTP_OR_HTTPS}://{$FQDN_NEXTCLOUD}/ocs/v2.php/apps/serverinfo/api/v1/info]' + history: 7d + trends: '0' + value_type: TEXT + description: 'Master Item - Nextcloud Monitoring API' + tags: + - + tag: Application + value: Nextcloud + macros: + - + macro: '{$CLOUD_ADMIN_PW}' + value: password + - + macro: '{$CLOUD_ADMIN_USER}' + value: user + - + macro: '{$FQDN_NEXTCLOUD}' + value: nextcloud.domain.com + - + macro: '{$HTTP_OR_HTTPS}' + value: https