Xymon Mailing List Archive search

BBwin 0.13 and Mountpoints

list Mario Andre
Wed, 8 Jan 2014 17:14:41 -0200
Message-Id: <user-1c123693bd28@xymon.invalid>

Hi all,

I think my message title "BBwin 0.13 and mountpoints" sent to the Xymon
list don´t reflect exactly what I was thinking.
What I really want is to modify the do_disk.c and not bbwin 0.13.

From one side if we change the bbwin output maybe we could have the graphs
working without changing the do_disk.c file on xymon.
But, I think that the easier way is to change the do_disk.c to read
correctly the output data when we have a mountpoint on a windows server
disk monitoring.

So, my question is how we can grab correctly the value and description on
do_disk.c to create the correspondent rrd file on xymon.
I´ve made some attempts and modififcations without success on do_disk.c,
they don´t create the rrds files I want.
The column[11] on the current line works when it has the "N/A" but don´t
when it has a "J:\Tempdb\" mount point , for example.

Sample output:
Filesystem              1K-blocks     Used       Avail    Capacity   Total
Size   Free Space   Type    Status   Mount Point
C                        62811132   50331028   12480104    80%
59.90 GB     11.90 GB   FIXED     green      N/A
D                       116043772    1106160  114937612     0%
110.67 GB    109.61 GB   FIXED     green      N/A
E                       943848444  533077660  410770784    56%
900.12 GB    391.74 GB   FIXED     green      N/A
H                        10487804     232568   10255236     2%
10.00 GB      9.78 GB   FIXED     green      N/A
Tephra                   94379004   35080592   59298412    37%
90.01 GB     56.55 GB   FIXED     green      H:\Tephra\
J                        20970492   14819908    6150584    70%
20.00 GB      5.87 GB   FIXED     green      N/A
Tempdb                  104869884   45310732   59559152    43%
100.01 GB     56.80 GB   FIXED     green      J:\Tempdb\
Log_Local               199235580  142506088   56729492    71%
190.01 GB     54.10 GB   FIXED     green      J:\Log_Local\
AnalysisServices        125834236   62594172   63240064    49%
120.00 GB     60.31 GB   FIXED     green      J:\AnalysisServices\
Integration             125834236   84555080   41279156    67%
120.00 GB     39.37 GB   FIXED     green      J:\Integration\
M                          253948     126556     127392    49%
248.00 MB    124.41 MB   FIXED     green      N/A
N                        15732732    1145888   14586844     7%
15.00 GB     13.91 GB   FIXED     green      N/A
Dados                   718359548  140812328  577547220    19%
685.08 GB    550.79 GB   FIXED     green      N:\Dados\
Tempdb                   52433916     781132   51652784     1%
50.00 GB     49.26 GB   FIXED     green      N:\Tempdb\

Henrik, any hint?

Thanks and Regards,
Mario

On Wed, Jan 8, 2014 at 11:15 AM, Mario <user-82c7780661a4@xymon.invalid> wrote:
Hi,

I have 2 cases here.
The first one is a SQL Server Cluster design.
And the second one is a Oracle Server with 6 database instances.
Each database has a separated mount point and this is used to make
possible a restore in production for a single db using a recovery point
tool.


Regards,
Mario


On Mon, Jan 6, 2014 at 6:14 PM, Malcolm Hunter <user-8c18ec239c05@xymon.invalid>wrote:
  That seems like a really unusual filesystem structure. What's the
reasoning behind that design?

Sent with AquaMail for Android
http://www.aqua-mail.com

On 6 January 2014 19:23:04 Mario <user-82c7780661a4@xymon.invalid> wrote:
Hi All,

I´m trying to fix the issue with the graphs creation for windows
mountpoints and bbwin 0.13.

The issue is that we only have graphs for the single drive letters and
not for the mountpoints using the bbwin 0.13.
Another problem is even if the graphs were working we could not have
duplicated names for different drive letters.

Filesystem
  1K-blocks     Used       Avail    Capacity   Total Size   Free Space
Type    Status   Mount Point

C                        62811132   49966236   12844896    79%
59.90 GB     12.25 GB   FIXED     green      N/A
D
116043772    1100880  114942892     0%        110.67 GB    109.62 GB
FIXED     green      N/A

E                       943848444  533077788  410770656    56%
900.12 GB    391.74 GB   FIXED     green      N/A
F
 943848444  495800916  448047528    52%        900.12 GB    427.29 GB
FIXED     green      N/A

J                        20970492   14764648    6205844    70%
20.00 GB      5.92 GB   FIXED     green      N/A
DadosLocal_Diversos_A
1237451772  928809832  308641940    75%          1.15 TB    294.34 GB
FIXED     green      J:\DadosLocal_Diversos_A\

DadosLocal_Diversos_B  1782825980 1216555488  566270492    68%
1.66 TB    540.04 GB   FIXED     green
J:\DadosLocal_Diversos_B\
Tempdb                  104869884   54526796
50343088    51%        100.01 GB     48.01 GB   FIXED     green
J:\Tempdb\

Log_Local               199235580  135337320   63898260    67%
190.01 GB     60.94 GB   FIXED     green
J:\Log_Local\


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.
But I don´t want to continue changing or adding a server agent everytime
a server administrator configure a mountpoint in a server.

WinPSCLient output example where I have all graphs created:
Mon 06 Jan 16:44:55 2014 - Filesystems OK

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


I´ve tried some modifications on do_disk.c but without sucess.
I´ve created a new dsystype called DT_MOUNTPOINT:


*else if (strstr(msg, "Mount Point")) dsystype = DT_MOUNTPOINT;... if (
(dsystype == DT_MOUNTPOINT) && (*(columns[9])) && (strchr(columns[11],
'/')) )                dsystype = DT_MOUNTPOINT; if ( (dsystype ==
DT_MOUNTPOINT) && (*(columns[9])) && (strchr(columns[11], ':'))
)                dsystype = DT_MOUNTPOINT;*
And here at the "case DT_MOUNTPOINT" is where the things are not good.
I´ve tried to get the the column[11] but unfortunately we have
backslashes.
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.
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.


*case DT_MOUNTPOINT:                         diskname =
xstrdup(columns[11]);                        if (strstr(diskname, "N/A"))
{                        diskname =
xstrdup(columns[0]);                        }                        else {
                        diskname =
xstrdup(columns[11]);                        }
/*sprintf(diskname, "/%s", columns[11]);*/                        p =
strchr(columns[4], '%'); if (p) *p = ' ';                         pused =
atoi(columns[4]);                        aused = str2ll(columns[2],
NULL);                        break;*
I´ve tried to use the diskname as columns[0] but doesn´t work for the
mountpoints too.
The case DT_BBWin format that works for the winPSclient doesn´t work if
I use the diskname as columns[0] or columns[11].

case DT_BBWIN:

*diskname = xmalloc(strlen(columns[0])+2);            sprintf(diskname,
"/%s", columns[0]);*


Thanks in advance,
Mario