Xymon Mailing List Archive search

BBWin - Monitoring size of Exchange database files

8 messages in this thread

list Thomas Leavitt · Fri, 21 Aug 2009 14:17:01 -0700 ·
We have an ancient installation of Exchange 5.5, which maxes out at a
database size (combined between two files) of 16GB. Apparently, the
native bbwin 0.12 client can't monitor these files, because they're
always open.

There's a BB script here, in VBS, which monitors Exchange files...

http://www.deadcat.net/viewfile.php?fileid=629

Not sure how to adapt this. Has anyone written anything similar, or
done anything similar, that they could send me or point me to, that
would let me monitor this stuff in Xymon?

Thomas
list Raymond Storer · Fri, 21 Aug 2009 17:45:59 -0400 ·
Thomas,

I looked at the script you mentioned below. It is somewhat targeted at a specific environment. What is it about the script you do not understand in order to modify it to work in your environment?

Ray
quoted from Thomas Leavitt

-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 5:17 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] BBWin - Monitoring size of Exchange database files

We have an ancient installation of Exchange 5.5, which maxes out at a
database size (combined between two files) of 16GB. Apparently, the
native bbwin 0.12 client can't monitor these files, because they're
always open.

There's a BB script here, in VBS, which monitors Exchange files...

http://www.deadcat.net/viewfile.php?fileid=629

Not sure how to adapt this. Has anyone written anything similar, or
done anything similar, that they could send me or point me to, that
would let me monitor this stuff in Xymon?

Thomas


CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.
list Thomas Leavitt · Fri, 21 Aug 2009 17:26:01 -0700 ·
We have one Exchange Server (5.5). We don't need to monitor multiple
systems. I need something simple that will monitor the size of two
files (ideally, the combined size, but we can live with checking to
see that the big one hasn't exceeded 15 GB and the small .5 GB).

0. I'm not a Virtual Basic programmer... although I do understand
programming well enough to parse the logic in general.
1. Primarily, I don't understand how to adapt this so that it reports
to Xymon rather than Big Brother... I don't really understand how to
program external scripts to talk to Xymon in general.

I'm sure I could remedy these issues with enough investment of time,
but I'm hoping that I don't have to re-invent the wheel here - surely
someone else has done this? I'm implementing Xymon as a consultant for
a public agency that slashed their budget for my services by 60% from
last year, so I don't really think it's worth it for them to have me
spend even a couple hours of my time and their budget to do something
relatively simple.

OTOH, looking at it again, I could generalize this and lift the
reporting code out of some other VBS external script and deal with it
that way in a a fairly short amount of time. If I don't have a
response by next Friday, then that's probably what I'll do, then post
the result back here and up on the various sites. Bill the client for
an hour and if it takes me two or three because I know jack all about
this, I'll just chalk it up to a learning experience.

Regards,
Thomas
quoted from Raymond Storer

On Fri, Aug 21, 2009 at 2:45 PM, Storer, Raymond<user-bbaa567d59bb@xymon.invalid> wrote:
Thomas,

I looked at the script you mentioned below. It is somewhat targeted at a specific environment. What is it about the script you do not understand in order to modify it to work in your environment?

Ray

-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 5:17 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] BBWin - Monitoring size of Exchange database files

We have an ancient installation of Exchange 5.5, which maxes out at a
database size (combined between two files) of 16GB. Apparently, the
native bbwin 0.12 client can't monitor these files, because they're
always open.

There's a BB script here, in VBS, which monitors Exchange files...

http://www.deadcat.net/viewfile.php?fileid=629

Not sure how to adapt this. Has anyone written anything similar, or
done anything similar, that they could send me or point me to, that
would let me monitor this stuff in Xymon?

Thomas


CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.

list David Gilmore · Mon, 24 Aug 2009 09:11:09 -0400 ·
Go over to deadcat.net and look at Standard Exchange.  You should be able to modify it to in a short time, if you need to modify it at all.

http://www.deadcat.net/viewfile.php?fileid=822

Dave Gilmore
quoted from Thomas Leavitt


-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 8:26 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] BBWin - Monitoring size of Exchange database files

We have one Exchange Server (5.5). We don't need to monitor multiple
systems. I need something simple that will monitor the size of two
files (ideally, the combined size, but we can live with checking to
see that the big one hasn't exceeded 15 GB and the small .5 GB).

0. I'm not a Virtual Basic programmer... although I do understand
programming well enough to parse the logic in general.
1. Primarily, I don't understand how to adapt this so that it reports
to Xymon rather than Big Brother... I don't really understand how to
program external scripts to talk to Xymon in general.

I'm sure I could remedy these issues with enough investment of time,
but I'm hoping that I don't have to re-invent the wheel here - surely
someone else has done this? I'm implementing Xymon as a consultant for
a public agency that slashed their budget for my services by 60% from
last year, so I don't really think it's worth it for them to have me
spend even a couple hours of my time and their budget to do something
relatively simple.

OTOH, looking at it again, I could generalize this and lift the
reporting code out of some other VBS external script and deal with it
that way in a a fairly short amount of time. If I don't have a
response by next Friday, then that's probably what I'll do, then post
the result back here and up on the various sites. Bill the client for
an hour and if it takes me two or three because I know jack all about
this, I'll just chalk it up to a learning experience.

Regards,
Thomas

On Fri, Aug 21, 2009 at 2:45 PM, Storer, Raymond<user-bbaa567d59bb@xymon.invalid> wrote:
Thomas,

I looked at the script you mentioned below. It is somewhat targeted at a specific environment. What is it about the script you do not understand in order to modify it to work in your environment?

Ray

-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 5:17 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] BBWin - Monitoring size of Exchange database files

We have an ancient installation of Exchange 5.5, which maxes out at a
database size (combined between two files) of 16GB. Apparently, the
native bbwin 0.12 client can't monitor these files, because they're
always open.

There's a BB script here, in VBS, which monitors Exchange files...

http://www.deadcat.net/viewfile.php?fileid=629

Not sure how to adapt this. Has anyone written anything similar, or
done anything similar, that they could send me or point me to, that
would let me monitor this stuff in Xymon?

Thomas


CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.
list Raymond Storer · Mon, 24 Aug 2009 10:23:02 -0400 ·
Thomas, you can try the code someone else pointed to at deadcat and you can also try this:

Ray

'Author: Ray Storer
'Date: 2009-08-24
'Purpose: Check file size and existence

Option Explicit

'If you want to use the registry to find this, feel free to change this.
Const BBWIN_TMP_DIR = "C:\Program Files\BBWin\tmp\" 'change to meet your environment, but leave the trailing backslash
Const BBWIN_TEST_NAME = "fsize" 'change to meet your requirements

'If you want to use the environment variables feel free to change this.
Const HOST_NAME = "YOUR_MACHINE_NAME" 'change to meet your environment

'16 gigabytes
Const MAX_TOTAL_FILE_SIZE = 17179869184 'change to meet your requirements
Dim RED_FILE_SIZE
RED_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.85 'change to meet your requirements
Dim YELLOW_FILE_SIZE
YELLOW_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.70 'change to meet your requirements

'change the arrFiles(1) to the number of elements (files) you need minus 1.
Dim oFso, arrFiles(1), strStatus, oFile, iSumFileSize, strRedGreen, strFileInfo
iSumFileSize = 0
strRedGreen = "GREEN"
Set oFso = CreateObject("Scripting.FileSystemObject")

'change to meet your environment
arrFiles(0) = "C:\Program Files\BBWin\bin\cpu.dll"
arrFiles(1) = "C:\Program Files\BBWin\bin\disk.dll"
'keep adding arrFiles(...) here if you need more
strStatus = ""
strFileInfo = ""

'get the file sizes and set red if they do not exist
Dim sFile
for each sFile in arrFiles
        if (oFso.FileExists(sFile)) then
                Set oFile = oFso.GetFile(sFile)
                strFileInfo = strFileInfo & vbcrlf & sFile & vbtab & CStr(oFile.Size)
                iSumFileSize = iSumFileSize + oFile.Size
        else
                strRedGreen = "RED"
                if (len(strStatus) = 0) then
                        strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now())
                        strStatus = strStatus & VbCrLf
                        strStatus = strStatus & " " & sFile & " file does not exist."
                else
                        strStatus = strStatus & " " & sFile & " file does not exist."
                end if 'check len of strStatus
        end if 'check for file existence
next 'iterate over the files

'set red,yellow,green based on file sizes
if (iSumFileSize >= RED_FILE_SIZE) then
        strRedGreen = "RED"
else
        if (iSumFileSize >= YELLOW_FILE_SIZE) then
                if (strRedGreen <> "RED") then
                        strRedGreen = "YELLOW"
                end if
        else
                if (strRedGreen <> "RED") then
                        strRedGreen = "GREEN"
                end if
        end if
end if

if (len(strStatus) = 0) then
        strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now())
        strStatus = strStatus & vbcrlf
        strStatus = strStatus & strFileInfo
        strStatus = strStatus & vbcrlf
        strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize)
else
        strStatus = strStatus & vbcrlf
        strStatus = strStatus & strFileInfo
        strStatus = strStatus & vbcrlf
        strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize)
end if

Set oFile = ofso.CreateTextFile(BBWIN_TMP_DIR & BBWIN_TEST_NAME, true)
oFile.WriteLine(strStatus)
oFile.Close

Set oFile = Nothing
Set oFso = Nothing
quoted from David Gilmore

CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.
list Thomas Leavitt · Fri, 28 Aug 2009 15:48:00 -0700 ·
Don't know how I missed this the first time around. :) Looks like it
would have done the job with minimal adaptation.

I actually wound up implementing Ray's script today, since it's pretty
clean and simple to understand.

Regards,
Thomas Leavitt

On Mon, Aug 24, 2009 at 6:11 AM, David
quoted from David Gilmore
Gilmore<user-70507ff7198d@xymon.invalid> wrote:
Go over to deadcat.net and look at Standard Exchange.  You should be able to modify it to in a short time, if you need to modify it at all.

http://www.deadcat.net/viewfile.php?fileid=822

Dave Gilmore


-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 8:26 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] BBWin - Monitoring size of Exchange database files

We have one Exchange Server (5.5). We don't need to monitor multiple
systems. I need something simple that will monitor the size of two
files (ideally, the combined size, but we can live with checking to
see that the big one hasn't exceeded 15 GB and the small .5 GB).

0. I'm not a Virtual Basic programmer... although I do understand
programming well enough to parse the logic in general.
1. Primarily, I don't understand how to adapt this so that it reports
to Xymon rather than Big Brother... I don't really understand how to
program external scripts to talk to Xymon in general.

I'm sure I could remedy these issues with enough investment of time,
but I'm hoping that I don't have to re-invent the wheel here - surely
someone else has done this? I'm implementing Xymon as a consultant for
a public agency that slashed their budget for my services by 60% from
last year, so I don't really think it's worth it for them to have me
spend even a couple hours of my time and their budget to do something
relatively simple.

OTOH, looking at it again, I could generalize this and lift the
reporting code out of some other VBS external script and deal with it
that way in a a fairly short amount of time. If I don't have a
response by next Friday, then that's probably what I'll do, then post
the result back here and up on the various sites. Bill the client for
an hour and if it takes me two or three because I know jack all about
this, I'll just chalk it up to a learning experience.

Regards,
Thomas

On Fri, Aug 21, 2009 at 2:45 PM, Storer, Raymond<user-bbaa567d59bb@xymon.invalid> wrote:
Thomas,

I looked at the script you mentioned below. It is somewhat targeted at a specific environment. What is it about the script you do not understand in order to modify it to work in your environment?

Ray

-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 21, 2009 5:17 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] BBWin - Monitoring size of Exchange database files

We have an ancient installation of Exchange 5.5, which maxes out at a
database size (combined between two files) of 16GB. Apparently, the
native bbwin 0.12 client can't monitor these files, because they're
always open.

There's a BB script here, in VBS, which monitors Exchange files...

http://www.deadcat.net/viewfile.php?fileid=629

Not sure how to adapt this. Has anyone written anything similar, or
done anything similar, that they could send me or point me to, that
would let me monitor this stuff in Xymon?

Thomas


CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.

list Thomas Leavitt · Fri, 28 Aug 2009 19:41:01 -0700 ·
Note (half an hour of frustration later):

First, I forget that you need to specify the script in the <externals>
</externals> section of BBWin.cfg. Doh. Suggest that Ray put a note to
that effect in the comments section of his script to help remind folks
who haven't done this in a while (me) or are first timers.

Then, it seems that simply calling cscript fsize.vbs (filename I gave
it) does not work. The full path to the program appears to need to be
specified, i.e. "cscript C:\Program Files\BBWin\ext\fsize.vbs". I
suspect that this is because simply invoking "cscript filename.vbs"
causes cscript to be executed in a working directory other than the
"ext" directory. Is this a bug? Saw someone else say that full pathing
a call to the cluster.exe script fixed their problem.

Trying cscript on the command line, it appears to gack on there being
a space in "Program Files" unless you enclose the supplied path in
quotes... which I'm not sure how to do inside the BBWin.cfg file.

So I had to create a "C:\BBWin\ext" directory and drop the script in
there, and it works. ... any way to get around this?

Thomas
quoted from Raymond Storer

On Mon, Aug 24, 2009 at 7:23 AM, Storer, Raymond<user-bbaa567d59bb@xymon.invalid> wrote:
Thomas, you can try the code someone else pointed to at deadcat and you can also try this:

Ray

'Author: Ray Storer
'Date: 2009-08-24
'Purpose: Check file size and existence

Option Explicit

'If you want to use the registry to find this, feel free to change this.
Const BBWIN_TMP_DIR = "C:\Program Files\BBWin\tmp\" 'change to meet your environment, but leave the trailing backslash
Const BBWIN_TEST_NAME = "fsize" 'change to meet your requirements

'If you want to use the environment variables feel free to change this.
Const HOST_NAME = "YOUR_MACHINE_NAME" 'change to meet your environment

'16 gigabytes
Const MAX_TOTAL_FILE_SIZE = 17179869184 'change to meet your requirements
Dim RED_FILE_SIZE
RED_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.85 'change to meet your requirements
Dim YELLOW_FILE_SIZE
YELLOW_FILE_SIZE = MAX_TOTAL_FILE_SIZE * 0.70 'change to meet your requirements

'change the arrFiles(1) to the number of elements (files) you need minus 1.
Dim oFso, arrFiles(1), strStatus, oFile, iSumFileSize, strRedGreen, strFileInfo
iSumFileSize = 0
strRedGreen = "GREEN"
Set oFso = CreateObject("Scripting.FileSystemObject")

'change to meet your environment
arrFiles(0) = "C:\Program Files\BBWin\bin\cpu.dll"
arrFiles(1) = "C:\Program Files\BBWin\bin\disk.dll"
'keep adding arrFiles(...) here if you need more
strStatus = ""
strFileInfo = ""

'get the file sizes and set red if they do not exist
Dim sFile
for each sFile in arrFiles
       if (oFso.FileExists(sFile)) then
               Set oFile = oFso.GetFile(sFile)
               strFileInfo = strFileInfo & vbcrlf & sFile & vbtab & CStr(oFile.Size)
               iSumFileSize = iSumFileSize + oFile.Size
       else
               strRedGreen = "RED"
               if (len(strStatus) = 0) then
                       strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now())
                       strStatus = strStatus & VbCrLf
                       strStatus = strStatus & " " & sFile & " file does not exist."
               else
                       strStatus = strStatus & " " & sFile & " file does not exist."
               end if 'check len of strStatus
       end if 'check for file existence
next 'iterate over the files

'set red,yellow,green based on file sizes
if (iSumFileSize >= RED_FILE_SIZE) then
       strRedGreen = "RED"
else
       if (iSumFileSize >= YELLOW_FILE_SIZE) then
               if (strRedGreen <> "RED") then
                       strRedGreen = "YELLOW"
               end if
       else
               if (strRedGreen <> "RED") then
                       strRedGreen = "GREEN"
               end if
       end if
end if

if (len(strStatus) = 0) then
       strStatus = strRedGreen & " " & HOST_NAME & " " & CStr(Now())
       strStatus = strStatus & vbcrlf
       strStatus = strStatus & strFileInfo
       strStatus = strStatus & vbcrlf
       strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize)
else
       strStatus = strStatus & vbcrlf
       strStatus = strStatus & strFileInfo
       strStatus = strStatus & vbcrlf
       strStatus = strStatus & "Total File Size: " & CStr(iSumFileSize)
end if

Set oFile = ofso.CreateTextFile(BBWIN_TMP_DIR & BBWIN_TEST_NAME, true)
oFile.WriteLine(strStatus)
oFile.Close

Set oFile = Nothing
Set oFso = Nothing

CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.

list Raymond Storer · Sat, 29 Aug 2009 15:19:19 -0400 ·
To fix the path problem try a construct like this (notice the single quotes for the entire value and the double quotes for the file path):

<externals>
        <load value='cscript "C:\Program Files\BBWin\ext\fsize.vbs"' timer="15m"/>
</externals>
quoted from Thomas Leavitt

Ray

-----Original Message-----
From: Thomas Leavitt [mailto:user-22bea179a13a@xymon.invalid]
Sent: Friday, August 28, 2009 10:41 PM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] BBWin - Monitoring size of Exchange database files

Note (half an hour of frustration later):

First, I forget that you need to specify the script in the <externals>
</externals> section of BBWin.cfg. Doh. Suggest that Ray put a note to
that effect in the comments section of his script to help remind folks
who haven't done this in a while (me) or are first timers.

Then, it seems that simply calling cscript fsize.vbs (filename I gave
it) does not work. The full path to the program appears to need to be
specified, i.e. "cscript C:\Program Files\BBWin\ext\fsize.vbs". I
suspect that this is because simply invoking "cscript filename.vbs"
causes cscript to be executed in a working directory other than the
"ext" directory. Is this a bug? Saw someone else say that full pathing
a call to the cluster.exe script fixed their problem.

Trying cscript on the command line, it appears to gack on there being
a space in "Program Files" unless you enclose the supplied path in
quotes... which I'm not sure how to do inside the BBWin.cfg file.

So I had to create a "C:\BBWin\ext" directory and drop the script in
there, and it works. ... any way to get around this?

Thomas


CONFIDENTIALITY NOTICE:  This email and any attachments are for the
exclusive and confidential use of the intended recipient.  If you are not
the intended recipient, please do not read, distribute or take action in
reliance upon this message. If you have received this in error, please
notify us immediately by return email and promptly delete this message
and its attachments from your computer system. We do not waive
attorney-client or work product privilege by the transmission of this
message.