-
Problem report
-
Resolution: Fixed
-
Trivial
-
None
-
None
-
Sprint 74 (Mar 2021)
-
1
Moved from: ZBXNEXT-6339
Thanks for the answer. I took your advice and understood how it works.
But I ran into some problem (possibly a bug). Agent 2 version - 5.2.5, OS - Windows 10
If I use the smartctl disk listing command on the local machine, I get this result:
c:\zabbix_agent2\userfiles\smartmontools32\bin>smartctl.exe --scan /dev/sda -d ata # /dev/sda, ATA device /dev/sdb -d ata # /dev/sdb, ATA device /dev/csmi0,0 -d ata # /dev/csmi0,0, ATA device /dev/csmi0,1 -d ata # /dev/csmi0,1, ATA device /dev/csmi0,3 -d ata # /dev/csmi0,3, ATA device
If you make a request with a module command via zabbix_get, the result is different:
root@ZABBIX-SKUD:~# zabbix_get -s 10.100.40.108 -p 10150 -k smart.disk.discovery [{ "{#NAME}": "sda", "{#DISKTYPE}": "HDD", "{#MODEL}": "ST1000DM003-1ER162", "{#SN}": "Z4Y1S7B6" },{ "{#NAME}": "sdb", "{#DISKTYPE}": "HDD", "{#MODEL}": "ST4000DM000-1F2168", "{#SN}": "Z300D821" }]
But he may be like that:
root@ZABBIX-SKUD:~# zabbix_get -s 10.100.40.108 -p 10150 -k smart.disk.discovery [{ "{#NAME}": "csmi0,1", "{#DISKTYPE}": "HDD", "{#MODEL}": "ST4000DM000-1F2168", "{#SN}": "Z300D821" },{ "{#NAME}": "csmi0,0", "{#DISKTYPE}": "HDD", "{#MODEL}": "ST1000DM003-1ER162", "{#SN}": "Z4Y1S7B6" }]
As you can see, the names of the disks change, it happens that they are mixed with each other. As a result, the following errors appear in the data items:
In the above example, there are only two hard drives, the third item is CD-ROM Drive. The smartctl utility does not always display smart information for both types of drive names.
In the example described, there are only two hard drives, the third item is CD-ROM Drive. The smartctl utility does not always display smart information for both types of drive names. I faced this problem before the release of the module for zabbix2, when I tried to do disk polling using smartmontools myself. In smartmontool, you can specify the media type when listing drives, for example:
c:\zabbix_agent2\userfiles\smartmontools32\bin>smartctl.exe -j --scan -d { "json_format_version":[1,0], "smartctl":{"version":[7,2], "svn_revision":"5155", "platform_info":"i686-w64-mingw32-w10-1809(64)", "build_info":"(sf-7.2-1)", "argv":["smartctl","-j","--scan","-d"], "messages":[{ "string":"=======> ARGUMENT REQUIRED FOR OPTION: d","severity":"error"},{"string":"=======> VALID ARGUMENTS ARE: ata, scsi[+TYPE], nvme[,NSID], sat[,auto][,N][+TYPE], usbcypress[,X], usbjmicron[,p][,x][,N], usbprolific, usbsunplus, sntjmicron[,NSID], sntrealtek, intelliprop,N[+TYPE], jmb39x[-q],N[,sLBA][,force][+TYPE], jms56x,N[,sLBA][,force][+TYPE], aacraid,H,L,ID, areca,N[/E], auto, test <=======","severity":"error"}],"exit_status":1} } c:\zabbix_agent2\userfiles\smartmontools32\bin>smartctl.exe -j --scan -d ata { "json_format_version":[1,0], "smartctl":{ "version":[7,2], "svn_revision":"5155", "platform_info":"i686-w64-mingw32-w10-1809(64)", "build_info":"(sf-7.2-1)", "argv":["smartctl","-j","--scan","-d","ata"],"exit_status":0 }, "devices":[ {"name":"/dev/sda","info_name":"/dev/sda","type":"ata","protocol":"ATA"}, {"name":"/dev/sdb","info_name":"/dev/sdb","type":"ata","protocol":"ATA"}] } c:\zabbix_agent2\userfiles\smartmontools32\bin>smartctl.exe -j --scan -d csmi { "json_format_version":[1,0], "smartctl":{ "version":[7,2], "svn_revision":"5155", "platform_info":"i686-w64-mingw32-w10-1809(64)", "build_info":"(sf-7.2-1)", "argv":["smartctl","-j","--scan","-d","csmi"],"exit_status":0}, "devices":[ {"name":"/dev/csmi0,0","info_name":"/dev/csmi0,0","type":"ata","protocol":"ATA"}, {"name":"/dev/csmi0,1","info_name":"/dev/csmi0,1","type":"ata","protocol":"ATA"}, {"name":"/dev/csmi0,3","info_name":"/dev/csmi0,3","type":"ata","protocol":"ATA"}] }
But on computers that display multiple drive name formats, you need to manually check for the correct one. Until now, I have not been able to understand by what sign or parameter they can be determined automatically.