zabbix_export: version: '6.0' date: '2021-11-21T21:32:12Z' groups: - uuid: 7df96b18c230490a9a0a9e2307226338 name: Templates templates: - uuid: 99998298007545ebb910dffdda71ffed template: 'Gluster Storage' name: 'Gluster Storage' description: | ## Overview This project was created to monitor Gluster Storage with Zabbix. In this repository there are two files. One python script that calls [gstatus](https://github.com/gluster/gstatus), discovering gluster volumes and print data we want, according to the arguments given. You have to install gstatus [gstatus](https://github.com/gluster/gstatus) You should save the script in any directory you want, in order to do it executable from zabbix user using sudo. You have to create a file in /etc/zabbix/zabbix\_server.conf.d/ and add UserParameters: * You should save the script in any directory you want, do it executable from zabbix user using sudo. * You have to create a file in /etc/zabbix/zabbix\_server.conf.d/ and add UserParameters: ... UserParameter=gluster\_volume\_info[*],sudo /path/gstatus\_discovery.py $1 $2 UserParameter=gluster\_storage\_info[*],sudo /path/gstatus\_discovery.py $1 UserParameter=gluster\_volume\_info,sudo /path/gstatus\_discovery.py * The last one shoud be import zabbix\_template.xml in zabbix You can check my [github repository](https://github.com/MrCirca/zabbix-glusterfs) ## Author MrCirca groups: - name: Templates items: - uuid: d86318e42887411a87bb94243e3db533 name: 'Gluster Storage % Free Space' type: CALCULATED key: gluster_storage_free_space delay: 2m units: '%' params: '100*((last(//gluster_storage_info["usable_capacity"])-last(//gluster_storage_info["used_capacity"]))/last(//gluster_storage_info["usable_capacity"]))' - uuid: 5cc82d58a4d64d0ead376619eb9c4b61 name: 'Gluster Storage Active Nodes' key: 'gluster_storage_info["nodes_active"]' delay: 2m - uuid: 0212d95fabcf4741957cc9c3a840ad0a name: 'Gluster Storage Nodes' key: 'gluster_storage_info["node_count"]' delay: 2m - uuid: c3e39711510541c786daf04ef319dc63 name: 'Gluster Storage raw capacity' key: 'gluster_storage_info["raw_capacity"]' delay: 2m units: b - uuid: 16ba42bdd717458db085ef6886d9896d name: 'Gluster Storage Self Heal Active' key: 'gluster_storage_info["sh_active"]' delay: 2m - uuid: bc48e1e25a0d4fbd9f209889f6d3e8e0 name: 'Gluster Storage Self Heal Enabled' key: 'gluster_storage_info["sh_enabled"]' delay: 2m - uuid: 29800442c7244a3996fb22a5a1af4a50 name: 'Gluster Storage Snapshots' key: 'gluster_storage_info["snapshot_count"]' delay: 2m - uuid: d8866bb6eabe481fa3950d823b1ac600 name: 'Gluster Storage status' key: 'gluster_storage_info["status"]' delay: 2m trends: '0' value_type: TEXT triggers: - uuid: e9e837e820db46c9b1c89d9134dc6659 expression: 'find(/Gluster Storage/gluster_storage_info["status"],,"like","healthy")=0' name: 'Gluster volume status is Unhealthy' priority: WARNING - uuid: 52ce7337ca834f64bf68a8a3adb2a3e6 name: 'Gluster Storage Total Size' key: 'gluster_storage_info["usable_capacity"]' delay: 2m units: b - uuid: ec68d0a841bb49b3b69b8a5574eac4d5 name: 'Gluster Storage Used Size' key: 'gluster_storage_info["used_capacity"]' delay: 2m units: b - uuid: ca6fc41674514df8b6821d5d835f0177 name: 'Gluster Storage Volume Number' key: 'gluster_storage_info["volume_count"]' delay: 2m discovery_rules: - uuid: c9ef492726ff47a1a04ecdb3d2874ceb name: 'Gluster Volume Names Discovery' key: gluster_volume_name.discovery delay: 30s item_prototypes: - uuid: c8544e009afb4216ae0529c43b1d96af name: 'Gluster Volume % Free Space {#VOLUME_NAME}' type: CALCULATED key: 'gluster_volume_free_space[{#VOLUME_NAME}]' delay: 30s units: '%' params: '100*((last(//gluster_volume_info["usable_capacity",{#VOLUME_NAME}])-last(//gluster_volume_info["used_capacity",{#VOLUME_NAME}]))/last(//gluster_volume_info["usable_capacity",{#VOLUME_NAME}]))' trigger_prototypes: - uuid: c0794d96120145b588f93c668e9c6394 expression: 'last(/Gluster Storage/gluster_volume_free_space[{#VOLUME_NAME}],#1:now-5m)<20' name: 'Gluster Volume Free Space is less than 20%' priority: WARNING - uuid: 05451268b8294ce49e654a18327aeca7 name: 'Gluster Volume snapshot_count on {#VOLUME_NAME}' key: 'gluster_volume_info["snapshot_count",{#VOLUME_NAME}]' delay: 30s - uuid: 7aa532b341d249e88a0281ae73eaf0e2 name: 'Gluster Volume state on {#VOLUME_NAME}' key: 'gluster_volume_info["state",{#VOLUME_NAME}]' delay: 30s trends: '0' value_type: TEXT trigger_prototypes: - uuid: 5034c13c8d2b4fc49afafff7744b85d6 expression: 'find(/Gluster Storage/gluster_volume_info["state",{#VOLUME_NAME}],,"like","up")=0' name: 'Gluster Volume state in {#VOLUME_NAME} is down' priority: WARNING - uuid: a84833e5ec524cd7bc0c09b20b717bc5 name: 'Gluster Volume Total Size on {#VOLUME_NAME}' key: 'gluster_volume_info["usable_capacity",{#VOLUME_NAME}]' delay: 30s units: b - uuid: dfcfa580e9e04875ba03681611cd4a26 name: 'Gluster Volume Used Size on {#VOLUME_NAME}' key: 'gluster_volume_info["used_capacity",{#VOLUME_NAME}]' delay: 30s units: b triggers: - uuid: 9cd6d6af0143406e8fe7771917f37dc3 expression: 'last(/Gluster Storage/gluster_storage_info["nodes_active"]) < last(/Gluster Storage/gluster_storage_info["node_count"])' name: 'Gluster storage nodes is not online' priority: INFO