• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 588
  • Last Modified:

Server downtime reporting

Recently management requested quarterly downtime reports.  We currently use intermapper to monitor around 300 servers.  However, it has no downtime reporting feature.  I'd really like to avoid logging downtimes manually into a spreadsheet.  I'm hoping to find a simple ping or snmp utility that can handle at least 300 nodes and allow for downtime reports to be run at a later time.

I'm looking for a free solution.
0
Cerixus
Asked:
Cerixus
  • 3
  • 2
  • 2
  • +1
1 Solution
 
2hypeCommented:
http://www.soft32.com/download_1011.html

The software above should work
0
 
2hypeCommented:
oops its free for only 3 nodes unless you buy.  Forgot about the 300 nodes
0
 
mcsweenSr. Network AdministratorCommented:
I wrote this VBscript which works pretty well.  Only 1 stipulation is it must be run as a Domain Admin in the same domain as the servers  you are checking, so if you want to check servers in multiple domains you will have to setup one instance of this script for each domain.  I suggest scheduling this to run every 10 or 15 minutes with task scheduler.

Create a folder anywhere on the box that will run the script.
Create servers.txt in that folder and place the name of each server you want to check on it's own line with no spaces before or after, also DO NOT include the "\\"

Create another file called CheckStatus.vbs and copy the following text to that file.  The output will be written to ServerStatus.csv in the same folder.  You can use Excel to create reports/graphs/etc... from this file.

'~~~~~~~~~START SCRIPT~~~~~~~~~~~
Option Explicit
On Error Resume Next

Dim servername, WMI, fso, serverlist, outfile

Set fso = CreateObject("Scripting.FileSystemObject")
Set serverlist = fso.OpenTextFile("./servers.txt",1)
If fso.FileExists("./ServerStatus.csv") = True Then
      Set outfile = fso.OpenTextFile("./ServerStatus.csv",8)
Else
      Set outfile = fso.CreateTextFile("./ServerStatus.csv",True)
      outfile.WriteLine "Server Name, Date/Time, Status"
End If

Do While serverlist.AtEndOfStream = False
      servername = serverlist.ReadLine
      Set WMI = GetObject("winmgmts:\\" & servername & "\root\cimv2")
      If WMI Is Nothing Then
            outfile.WriteLine servername & ", " & Now & ", DOWN"
      Else
            outfile.WriteLine servername & ", " & Now & ", UP"
      End If
Loop
'~~~~~~~~~END~~~~~~~~~~~~~~~~
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
mcsweenSr. Network AdministratorCommented:
Crap, I missed some cleanup in that script above, use this portion as the VBScript instead

'~~~~~~~~~START SCRIPT~~~~~~~~~~~
Option Explicit
On Error Resume Next

Dim servername, WMI, fso, serverlist, outfile

Set fso = CreateObject("Scripting.FileSystemObject")
Set serverlist = fso.OpenTextFile("./servers.txt",1)
If fso.FileExists("./ServerStatus.csv") = True Then
      Set outfile = fso.OpenTextFile("./ServerStatus.csv",8)
Else
      Set outfile = fso.CreateTextFile("./ServerStatus.csv",True)
      outfile.WriteLine "Server Name, Date/Time, Status"
End If

Do While serverlist.AtEndOfStream = False
      servername = serverlist.ReadLine
      Set WMI = GetObject("winmgmts:\\" & servername & "\root\cimv2")
      If WMI Is Nothing Then
            outfile.WriteLine servername & ", " & Now & ", DOWN"
      Else
            outfile.WriteLine servername & ", " & Now & ", UP"
      End If
      Set WMI = Nothing
Loop
'~~~~~~~~~END~~~~~~~~~~~~~~~~
0
 
CerixusAuthor Commented:
Gah.  I typed up a nice response to your solution just to get an error saying "Invalid question (ID:0)".

In short, that won't really work.  I need a shorter poll interval (to catch reboots) and better reporting options.
0
 
ksearchCommented:
I'm not sure of your environment, but since you posted in the "microsoft network" forum, I'm assuming it's micrsoft. There is a free tool from microsoft called uptime.  It's simple, command line driven and gives all kinds of good stats.  You could use a script to get it to run against all 300 nodes and dump to a log.   It's free, easy to try, and worth a shot.  




0
 
CerixusAuthor Commented:
Wow.  Now THAT may be something I can work with.  With the /p:90 /s switches, it's almost exactly what I need already.

I'll play with it a bit and come back and award points later if there are no better solutions.

Thanks.
0
 
CerixusAuthor Commented:
Not exactly what I had in mind, but I think it will work.

Thanks.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now