diff --git a/extension-files/agent-config/zabbix_disk_discovery.conf b/extension-files/agent-config/zabbix_disk_discovery.conf index 27ddf7b..c76eb75 100755 --- a/extension-files/agent-config/zabbix_disk_discovery.conf +++ b/extension-files/agent-config/zabbix_disk_discovery.conf @@ -2,5 +2,5 @@ # Add a configfile to /etc/zabbix/item_zabbix_discovery_devices.conf UserParameter=custom.vfs.dev.discovery,/usr/bin/zabbix_discovery_devices --config /etc/zabbix/item_zabbix_discovery_devices.json Alias=vfs.dev.discovery:custom.vfs.dev.discovery -UserParameter=vfs.dev.discovery.detail,/usr/bin/zabbix_discovery_devices --smart --config /etc/zabbix/item_zabbix_discovery_devices.json +UserParameter=vfs.dev.discovery.rawdisks,/usr/bin/zabbix_discovery_devices --only_rawdisk --config /etc/zabbix/item_zabbix_discovery_devices.json UserParameter=vfs.dev.discovery.softwareraid,/usr/bin/zabbix_discovery_devices --software_raid --config /etc/zabbix/item_zabbix_discovery_devices.json diff --git a/extension-files/agent-config/zabbix_smartmontools.conf b/extension-files/agent-config/zabbix_smartmontools.conf index 7e68ca1..4c7e15b 100755 --- a/extension-files/agent-config/zabbix_smartmontools.conf +++ b/extension-files/agent-config/zabbix_smartmontools.conf @@ -1,5 +1,5 @@ # invoke /usr/bin/zabbix_discovery_devices --help to view information about configuration format -UserParameter=vfs.dev.discovery.rawdisks,/usr/bin/zabbix_discovery_devices --config /etc/zabbix/item_zabbix_discovery_devices.json --only_rawdisk +UserParameter=vfs.dev.discovery.smart,/usr/bin/zabbix_discovery_devices --config /etc/zabbix/item_zabbix_discovery_devices.json --only_rawdisk --smart # UserParameter=hardware.disk.health[*],sudo /usr/bin/zabbix_check_smartmontools --health --device "$1" UserParameter=hardware.disk.smart.attributes[*],sudo /usr/bin/zabbix_check_smartmontools --device "$1" --attribute "$2" diff --git a/extension-files/tools/zabbix_discovery_devices b/extension-files/tools/zabbix_discovery_devices index 363df2c..dde28fa 100755 --- a/extension-files/tools/zabbix_discovery_devices +++ b/extension-files/tools/zabbix_discovery_devices @@ -150,17 +150,24 @@ parser.add_argument( parser.add_argument( '--software_raid', - help='Discovery for software_raid devices', + help='Discovery only for software_raid devices', action='store_true', ) parser.add_argument( '--only_rawdisk', - help='Discovery for real raw/hardware devices', + help='Discovery only for real raw/hardware devices', action='store_true', ) +parser.add_argument( + '--no_partitions', + help='Exclude partitions from discovery', + action='store_true', +) + + parser.add_argument( '--config', nargs='?', @@ -261,12 +268,19 @@ for filename in glob.glob('/sys/block/*'): device['{#DEVTYPE}'] = "disk" devices_discovered['data'].append(device) -for filename in glob.glob('/sys/block/*/*/partition'): - partition = os.path.basename(os.path.dirname(filename)) - device = {} - device['{#DEVNAME}'] = partition - device['{#DEVTYPE}'] = "partition" - devices_discovered['data'].append(device) +if args.debug: + sys.stderr.write("** Discover partitions\n") + +if args.no_partitions or args.software_raid or args.only_rawdisk: + if args.debug: + sys.stderr.write("do not add partitions to the result\n") +else: + for filename in glob.glob('/sys/block/*/*/partition'): + partition = os.path.basename(os.path.dirname(filename)) + device = {} + device['{#DEVNAME}'] = partition + device['{#DEVTYPE}'] = "partition" + devices_discovered['data'].append(device) if args.debug: print(json.dumps(devices_discovered, sort_keys=True, indent=2)) diff --git a/zabbix_templates/6.4/custom-os-linux-disk-io-details.xml b/zabbix_templates/6.4/custom-os-linux-disk-io-details.xml index cc319b8..a466052 100644 --- a/zabbix_templates/6.4/custom-os-linux-disk-io-details.xml +++ b/zabbix_templates/6.4/custom-os-linux-disk-io-details.xml @@ -22,7 +22,7 @@ 6e50927ae08242c0a136e53e23500428 Disk IO detail discovery ZABBIX_ACTIVE - vfs.dev.discovery.detail + vfs.dev.discovery.rawdisks 60m diff --git a/zabbix_templates/6.4/custom-os-linux-hardware.xml b/zabbix_templates/6.4/custom-os-linux-hardware.xml index 1af14ef..f8b3b16 100644 --- a/zabbix_templates/6.4/custom-os-linux-hardware.xml +++ b/zabbix_templates/6.4/custom-os-linux-hardware.xml @@ -23,7 +23,7 @@ 841fe680e6cc4f1c9b6e7065ca044ffe Hard Disk discovery ZABBIX_ACTIVE - vfs.dev.discovery.rawdisks + vfs.dev.discovery.smart 15m