<div dir="ltr"><div><div><div>Hi All,<br><br></div>I´m trying to fix the issue with the graphs creation for windows mountpoints and bbwin 0.13.<br><br></div><div>The issue is that we only have graphs for the single drive letters and not for the mountpoints using the bbwin 0.13. <br>
Another problem is even if the graphs were working we could not have duplicated names for different drive letters.<br><pre>Filesystem 1K-blocks Used Avail Capacity Total Size Free Space Type Status Mount Point<br>
C 62811132 49966236 12844896 79% 59.90 GB 12.25 GB FIXED green N/A<br>D 116043772 1100880 114942892 0% 110.67 GB 109.62 GB FIXED green N/A<br>
E 943848444 533077788 410770656 56% 900.12 GB 391.74 GB FIXED green N/A<br>F 943848444 495800916 448047528 52% 900.12 GB 427.29 GB FIXED green N/A<br>
J 20970492 14764648 6205844 70% 20.00 GB 5.92 GB FIXED green N/A<br>DadosLocal_Diversos_A 1237451772 928809832 308641940 75% 1.15 TB 294.34 GB FIXED green J:\DadosLocal_Diversos_A\<br>
DadosLocal_Diversos_B 1782825980 1216555488 566270492 68% 1.66 TB 540.04 GB FIXED green J:\DadosLocal_Diversos_B\<br>Tempdb 104869884 54526796 50343088 51% 100.01 GB 48.01 GB FIXED green J:\Tempdb\<br>
Log_Local 199235580 135337320 63898260 67% 190.01 GB 60.94 GB FIXED green J:\Log_Local\</pre><br></div><div>I´ve already modified the winPSclient to consider the mountpoints and If I use this client I have all the graphs created without any problem. <br>
But I don´t want to continue changing or adding a server agent everytime a server administrator configure a mountpoint in a server.<br><br></div><div>WinPSCLient output example where I have all graphs created:<br><h3> Mon 06 Jan 16:44:55 2014 - Filesystems OK</h3>
<pre>Filesystem 1K-blocks Used Avail Capacity Mounted Summary(Total\Avail GB)
C 52377596 39455096 12922500 75% /FIXED/C 49.95gb\12.32gb
D 90254332 82510624 7743708 91% /FIXED/D 86.07gb\7.38gb
F 10482684 91992 10390692 1% /FIXED/F 10.00gb\9.91gb
F:\ORAARCHIVE 10482684 85608 10397076 1% /FIXED/F:\ORAARCHIVE 10.00gb\9.92gb
F:\ORABACKUP01 10482684 1638116 8844568 16% /FIXED/F:\ORABACKUP01 10.00gb\8.43gb
F:\ORADATA01 41939964 31552684 10387280 75% /FIXED/F:\ORADATA01 40.00gb\9.91gb
I 10482684 84468 10398216 1% /FIXED/I 10.00gb\9.92gb
I:\ORAARCHIVE 5239804 54772 5185032 1% /FIXED/I:\ORAARCHIVE 5.00gb\4.94gb
I:\ORABACKUP01 52425724 93492 52332232 0% /FIXED/I:\ORABACKUP01 50.00gb\49.91gb
I:\ORADATA01 209712124 98292 209613832 0% /FIXED/I:\ORADATA01 200.00gb\199.90gb
J 10482684 96676 10386008 1% /FIXED/J 10.00gb\9.90gb
J:\OraArchive 5239804 125628 5114176 2% /FIXED/J:\OraArchive 5.00gb\4.88gb
J:\ORADATA01 207614972 136793092 70821880 66% /FIXED/J:\ORADATA01 198.00gb\67.54gb
J:\ORATEMP 41939964 33645564 8294400 80% /FIXED/J:\ORATEMP 40.00gb\7.91gb</pre><br><br></div><div></div><div></div>I´ve tried some modifications on do_disk.c but without sucess. <br>I´ve created a new dsystype called DT_MOUNTPOINT:<br>
<br><i>else if (strstr(msg, "Mount Point")) dsystype = DT_MOUNTPOINT;<br>...<br> if ( (dsystype == DT_MOUNTPOINT) && (*(columns[9])) && (strchr(columns[11], '/')) )<br> dsystype = DT_MOUNTPOINT;<br>
if ( (dsystype == DT_MOUNTPOINT) && (*(columns[9])) && (strchr(columns[11], ':')) )<br> dsystype = DT_MOUNTPOINT;<br></i><br></div><div>And here at the "case DT_MOUNTPOINT" is where the things are not good. <br>
I´ve tried to get the the column[11] but unfortunately we have backslashes. <br>I´ve tried several ways, but I´m not good in c as I would like to and after many many tests I´m asking for a help or if you can put this on Xymon todo list.<br>
</div><div>I´m using xymon 4.3.0-beta2 , sorry if this was already solved in the last version. I´ve checked the do_disk.c file on the last stable but couldn´t see this solution.<br></div><div><br><i>case DT_MOUNTPOINT:<br>
diskname = xstrdup(columns[11]);<br> if (strstr(diskname, "N/A")) {<br> diskname = xstrdup(columns[0]);<br> }<br> else {<br>
diskname = xstrdup(columns[11]);<br> }<br> /*sprintf(diskname, "/%s", columns[11]);*/<br> p = strchr(columns[4], '%'); if (p) *p = ' ';<br>
pused = atoi(columns[4]);<br> aused = str2ll(columns[2], NULL);<br> break;<br></i><br></div><div>I´ve tried to use the diskname as columns[0] but doesn´t work for the mountpoints too.<br>
</div><div>The case DT_BBWin format that works for the winPSclient doesn´t work if I use the diskname as columns[0] or columns[11].<br><br>case DT_BBWIN:<br> <i>diskname = xmalloc(strlen(columns[0])+2);<br> sprintf(diskname, "/%s", columns[0]);</i><br>
</div><div><br><br><br></div><div>Thanks in advance,<br></div><div>Mario<br></div></div>