Hi,

Fairly new to Intermapper, have written a couple of other probes but am having 
trouble with this one.  Anyone's help or thoughts would be much appreciated.

I have the probe set up for a few windows servers, which it's monitoring fine 
most of the time.  The top message is from a successful probe, following a 
failed probe 30 seconds earlier.  The "Response time: XXX msec" in the 
"Condition:" field I found interesting - the timeout for the probe is std 3sec 
so it's not timing out.

I can run the script using cscript every 30secs outside of Intermapper and it 
returns a value consistently.

This failure to return a value, and as such going into the warning state, 
happens every 1-4 hours.

The VB script & probe are below the messages.

Cheers,
Ben.


==================================================================
Success Message
==================================================================
01/19 08:47:56: Message from InterMapper 5.0.6

Event: OK
Name: 192.168.10.20
Document: Disk Space
Address: 192.168.10.20
Probe Type: Windows FreeSpace
Condition: C: OK (22324MB)


==================================================================
Failure Message
==================================================================
01/19 08:47:31: Message from InterMapper 5.0.6

Event: Warning
Name: 192.168.10.20
Document: Disk Space
Address: 192.168.10.20
Probe Type: Windows FreeSpace
Condition: Response time: 2219 msec


==================================================================
Probe
==================================================================

<!--
Comand Line FreeSpace probe (com.testprobe.freespace)
-->

<header>
type="cmd-line"
package="com.testprobe"
probe_name="FreeSpace"
human_name="Windows FreeSpace"
version="1.1"
address_type="IP,AT"
</header>

<description>
\GB\FreeSpace\p\

This probe lets you test the free space of a Windows Share using a custom VB 
script.  It passes the IP address of the host ($ADDRESS) and the drive letter 
($DRIVELETTER), along with warning, alarm and critical values, to a script 
which attempts to access the drive and check for space.

This probe loads the VB script "wmi_freespace.vbs" from the "tools" folder 
under "intermapper settings".
</description>

<parameters>
NUMBER_OF_DRIVES="1"
DRIVELETTER_1="C"
WARN_MB_1="2048"
ALARM_MB_1="1024"
CRITICAL_MB_1="512"
DRIVELETTER_2="D"
WARN_MB_2="0"
ALARM_MB_2="0"
CRITICAL_MB_2="0"
DRIVELETTER_3="E"
WARN_MB_3="0"
ALARM_MB_3="0"
CRITICAL_MB_3="0"
</parameters>

<command-line>
-- Empty path forces the InterMapper Settings:Tools directory
path=""
cmd="c:\windows\system32\cscript.exe -nologo "c:\program 
files\intermapper\intermapper settings\tools\wmi_FreeSpace.vbs""
arg="${ADDRESS} ${NUMBER_OF_DRIVES} ${DRIVELETTER_1} ${WARN_MB_1} ${ALARM_MB_1} 
${CRITICAL_MB_1} ${DRIVELETTER_2} ${WARN_MB_2} ${ALARM_MB_2} ${CRITICAL_MB_2} 
${DRIVELETTER_3} ${WARN_MB_3} ${ALARM_MB_3} ${CRITICAL_MB_3}"
</command-line>

<command-data>
-- Currently unused.
</command-data>

<command-exit>
critical:${EXIT_CODE}=3
alarm:${EXIT_CODE}=2
warn:${EXIT_CODE}=1
okay:${EXIT_CODE}=0
</command-exit>

<output>
</output>


==================================================================
VB Script (wmi_freespace.vbs)
==================================================================

Set objArgs = WScript.Arguments

Dim strComputer
Dim intNumberOfDrives
Dim strDriveLetter(99)
Dim intWarn(99)
Dim intAlarm(99)
Dim intCritical(99)
Dim intFreeMB(99)
Dim intStatus(99)
Dim strStatus(99)
Dim intProbe
Dim strProbe

intProbe = 0
strComputer = objArgs(0)
intNumberOfDrives = objArgs(1)

Dim i,k
For i = 1 To intNumberOfDrives
        k = (i * 4) - 2
        strDriveLetter(i) = objArgs(k)
        intWarn(i) =  objArgs(k+1)
        intAlarm(i) = objArgs(k+2)
        intCritical(i) =  objArgs(k+3)
Next

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & 
strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each objDisk In colDisks
        For i = 1 To intNumberOfDrives
            If Lcase(objDisk.DeviceID) = Lcase(strDriveLetter(i)) & ":" then
                intFreeMB(i) = Round((objDisk.FreeSpace / 1024 / 1024),0)
                        If (intCritical(i) - intFreeMB(i))>0 Then
                            'strStatus(i) = strDriveLetter(i) & ": CRITICAL (" 
& intFreeMB(i) & " MB free, Threshold was "  & intCritical(i) & " MB)"
                            strStatus(i) = strDriveLetter(i) & ": CRITICAL (" & 
intFreeMB(i) & "MB)"
                            If intProbe < 3 Then intProbe = 3
                        ElseIf (intAlarm(i) - intFreeMB(i))>0 then
                            'strStatus(i) = strDriveLetter(i) & ": ALARM (" & 
intFreeMB(i) & " MB free, Threshold was "  & intAlarm(i) & " MB)"
                            strStatus(i) = strDriveLetter(i) & ": ALARM (" & 
intFreeMB(i) & "MB)"
                            If intProbe < 2 Then intProbe = 2
                        ElseIf (intWarn(i) - intFreeMB(i))>0 Then
                            'strStatus(i) = strDriveLetter(i) & ": WARN (" & 
intFreeMB(i) & " MB free, Threshold was " & intWarn(i) & " MB)"
                            strStatus(i) = strDriveLetter(i) & ": WARN (" & 
intFreeMB(i) & "MB)"
                            If intProbe < 1 Then intProbe = 1
                        Else
                            'strStatus(i) = strDriveLetter(i) & ": OK (" & 
intFreeMB(i) & " MB free)"
                            strStatus(i) = strDriveLetter(i) & ": OK (" & 
intFreeMB(i) & "MB)"
                            If intProbe < 0 Then intProbe = 0
                        End If
                        if strProbe = "" then strProbe = strStatus(i) Else 
strProbe = strProbe & VbCrLf & strStatus(i)
            End If
        Next
Next

WScript.Echo(strProbe)
WScript.Quit(intProbe)

==================================================================
----
Unison uses e-mail as a fast and relatively informal means of communication.  
The information transmitted in this e-mail is intended only for the person or 
entity to which it is addressed, and may contain confidential and/or privileged 
material.  If in doubt as to the official status of a message, or if you want 
formal confirmation, please ask the sender.  We are not responsible for any 
changes made to a message and/or any attachments after sending.  If you have 
received this in error please contact the sender and delete the material.
____________________________________________________________________
List archives:
http://www.mail-archive.com/intermapper-talk%40list.dartware.com/
To unsubscribe: send email to: [email protected]

Reply via email to