469,319 Members | 2,425 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,319 developers. It's quick & easy.

Application monitoring, how?

Bob
I've got dot net Winform apps that are running in a backroom server with no
user interaction. They are supposed to run unattended 24 7 365. They are IVR
apps taking orders via telephony. Problem is nobody is looking at them to
know if they are OK. They have err trapping built in and there's logging and
tracing to log files, but nobody there looks at that. What I need is to find
a way to advise one or more managers immediately when an app is hanging or
if an unhandled exception occurred. Handled exceptions are easy, I could
just send them an e-mail. Unhandled execptions are a problem, app hangs, so
you can't execute code that sends en e-mail, its hung. So no one sees it and
no one knows.They only realise after a few hours of info not coming in, then
its easy to fix and restart app. But this is far from ideal. Want to find a
way to alarm admins immediately as problem occurs. Could be things like bad
network connection causing it, stuff unforeseen. Anyone have any ideas on
how to do this? Any help would be greatly appreciated.

Bob
Nov 21 '05 #1
4 1397
Try something like this:

'Variable to hold individual Process
Dim objProcess As New Process
'Collection of Processes
Dim objProcesses() As Process
'Put all the processes by a specific name in the collection
objProcesses = Process.GetProcesses()

'Cycle through all the processes
For Each objProcess In objProcesses
If Not objProcess.Responding Then
'Go notify administrators.
End If
Next

Nov 21 '05 #2
Bob
thanks, i'll give it a try.
bob
"Markis Taylor" <do*********@gmail.com> wrote in message
news:11*********************@f14g2000cwb.googlegro ups.com...
Try something like this:

'Variable to hold individual Process
Dim objProcess As New Process
'Collection of Processes
Dim objProcesses() As Process
'Put all the processes by a specific name in the collection
objProcesses = Process.GetProcesses()

'Cycle through all the processes
For Each objProcess In objProcesses
If Not objProcess.Responding Then
'Go notify administrators.
End If
Next

Nov 21 '05 #3
www.logicielsjupiter.com

The company just started, but their product is just fantastic and
expandable... They have a module just for what you need... monitoring
processes... and with it you can send e-mail, start another application or
even send a SMS message and there are more to come...

I hope it helps

"Bob" <bd*********@sgiims.com> a écrit dans le message de
news:OG**************@TK2MSFTNGP12.phx.gbl...
I've got dot net Winform apps that are running in a backroom server with no user interaction. They are supposed to run unattended 24 7 365. They are IVR apps taking orders via telephony. Problem is nobody is looking at them to
know if they are OK. They have err trapping built in and there's logging and tracing to log files, but nobody there looks at that. What I need is to find a way to advise one or more managers immediately when an app is hanging or
if an unhandled exception occurred. Handled exceptions are easy, I could
just send them an e-mail. Unhandled execptions are a problem, app hangs, so you can't execute code that sends en e-mail, its hung. So no one sees it and no one knows.They only realise after a few hours of info not coming in, then its easy to fix and restart app. But this is far from ideal. Want to find a way to alarm admins immediately as problem occurs. Could be things like bad network connection causing it, stuff unforeseen. Anyone have any ideas on
how to do this? Any help would be greatly appreciated.

Bob

Nov 21 '05 #4
two ways to do this:
External monitoring of response
and
External monitoring of messages

If you app is locked up, all of the techniques that would live within your
app will fail.

External monitoring of response requires that you provide an interface for
your app that another app will call. When I've done this, I've called it
"healthcheck" but others have called it "ping" or even "verifysanity". The
point is that you provide an interface. I would suggest that .Net Remoting
is an excellent technique for exposing this interface. Then you need to
have a small, external app that hits this interface once a minute or so to
see if there is a response. If not, that external app can send warnings or
even reset the app itself.

External monitoring of messages requires that you log messages to a log
location that another process watches. That other process looks for
messages that indicate failure and raises an alarm. SMS is very good at
doing this, and if your organization uses Microsoft Operations Manager, you
can wire up a solution with no code, as long as you are already throwing
messages to the event log.

Hope this helps,

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Bob" <bd*********@sgiims.com> wrote in message
news:OG**************@TK2MSFTNGP12.phx.gbl...
I've got dot net Winform apps that are running in a backroom server with
no user interaction. They are supposed to run unattended 24 7 365. They
are IVR apps taking orders via telephony. Problem is nobody is looking at
them to know if they are OK. They have err trapping built in and there's
logging and tracing to log files, but nobody there looks at that. What I
need is to find a way to advise one or more managers immediately when an
app is hanging or if an unhandled exception occurred. Handled exceptions
are easy, I could just send them an e-mail. Unhandled execptions are a
problem, app hangs, so you can't execute code that sends en e-mail, its
hung. So no one sees it and no one knows.They only realise after a few
hours of info not coming in, then its easy to fix and restart app. But
this is far from ideal. Want to find a way to alarm admins immediately as
problem occurs. Could be things like bad network connection causing it,
stuff unforeseen. Anyone have any ideas on how to do this? Any help would
be greatly appreciated.

Bob

Nov 21 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

13 posts views Thread by ulysses | last post: by
2 posts views Thread by Jacek Jurkowski | last post: by
reply views Thread by Ron Simpson | last post: by
2 posts views Thread by Steven | last post: by
3 posts views Thread by Glyn Simpson, MVP | last post: by
reply views Thread by Kursat | last post: by
1 post views Thread by LiveTecs | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by Gurmeet2796 | last post: by
reply views Thread by listenups61195 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.