473,466 Members | 1,405 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Application health monitoring - how?

Bob
I have an app running 24 7 on a computer hiden away in a closet. I need to
be able to monitor if it has thrown any unhandled exceptions or if it is no
longer responding from another computer on the network. I also need a
supervisor or a tech support guy to be advised ASAP when a problem occurs.
One of the difficulties is that the app uses telephony card drivers from
Dialogic and these sometimes go out to lunch also and we need to know when
these drivers seem to stop doing their jobs.

Does anyone have any suggestions on where to start with this? The app is
written in VS 2003 VB.net and its a Winforms app. I've noticed that in
Vs2005 in ApplicationEvents.vb there is an event that can trap unhandled
exceptions in the application. I haven't seen anything like that in Vs 2003
Vb.NET is there something similar available? I'm stuck with using 2003 for
this app because the telephony stuff is not yet available for 2005.

Any help or suggestions would be greatly appreciated.

Bob
Jan 29 '06 #1
6 2468
Hi Bob,

Its best to build instrumentation into an application from the get go rather
than trying to retro fit it later on. There are a few freely available
patterns on MSDN with respect to application diagnostics and
instrumentation. Scan the list here:

http://msdn.microsoft.com/practices/...e/default.aspx

Emailing and notification should simply be a plug in service to which you
handoff once the exception/conditions of interest have been met. I would
build notification as a separate subsystem interfaced/triggered by the hand
off in a non notification specfic way. Swapping out email notification for
pager notification should require nothing more than a change to
configuration file, not a recompile.

I haven't seen anything like that in Vs 2003
Vb.NET is there something similar available? I'm stuck with using 2003 for
this app because the telephony stuff is not yet available for 2005.
Out of the box for Winforms in 2003? Not that im aware of but bearing in
mind that .Net is just one big wrapper theres no reason why you cant build
your own. You're essentially just wrapping the application entry point to
ensure it doesn't exit prematurely. Check out the patterns, Im sure they
will have some template code you can use.

tm
"Bob" <bd*****@sgiims.com> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl... I have an app running 24 7 on a computer hiden away in a closet. I need to
be able to monitor if it has thrown any unhandled exceptions or if it is no longer responding from another computer on the network. I also need a
supervisor or a tech support guy to be advised ASAP when a problem occurs.
One of the difficulties is that the app uses telephony card drivers from
Dialogic and these sometimes go out to lunch also and we need to know when
these drivers seem to stop doing their jobs.

Does anyone have any suggestions on where to start with this? The app is
written in VS 2003 VB.net and its a Winforms app. I've noticed that in
Vs2005 in ApplicationEvents.vb there is an event that can trap unhandled
exceptions in the application. I haven't seen anything like that in Vs 2003 Vb.NET is there something similar available? I'm stuck with using 2003 for
this app because the telephony stuff is not yet available for 2005.

Any help or suggestions would be greatly appreciated.

Bob

Jan 29 '06 #2
Bob,

I was in the exact same situation with old Dialogic drivers and cards
not giving reliable notification and not being upgradable. The cure
was as Toff M. suggested: "Emailing and notification should simply be a
plug in service to which you handoff once the exception/conditions of
interest have been met. I would build notification as a separate
subsystem interfaced/triggered by the hand off in a non notification
specfic way" When the alarm condition occurs call a program that works
reliably. Now in my situation I just have the program shell out to an
alarm dialer.exe which sends out numeric pages over a simple modem.
You can develop a dialer .exe yourself in VB.net,
http://www.microsoft.com/downloads/d...DisplayLang=en
or in VB 6.0, http://www.vb-helper.com/howto_dialer.html
or design or purchase any number of different notification methods.
John

Jan 30 '06 #3
Bob
Thank you both, I had been looking thru the WMI docs for some time. Got a
lot of generalities out of it and how easy it was but not much else.
I was wondering if there were some sample vb.net code that you might be
aware of that shows how to do something like "You're essentially just
wrapping the application entry point to ensure it doesn't exit prematurely."
I understand the principle, just not HOW to implement it.

Your help IS greatly appreciated.
Bob

<JH****@AOL.com> wrote in message
news:11*********************@o13g2000cwo.googlegro ups.com...
Bob,

I was in the exact same situation with old Dialogic drivers and cards
not giving reliable notification and not being upgradable. The cure
was as Toff M. suggested: "Emailing and notification should simply be a
plug in service to which you handoff once the exception/conditions of
interest have been met. I would build notification as a separate
subsystem interfaced/triggered by the hand off in a non notification
specfic way" When the alarm condition occurs call a program that works
reliably. Now in my situation I just have the program shell out to an
alarm dialer.exe which sends out numeric pages over a simple modem.
You can develop a dialer .exe yourself in VB.net,
http://www.microsoft.com/downloads/d...DisplayLang=en
or in VB 6.0, http://www.vb-helper.com/howto_dialer.html
or design or purchase any number of different notification methods.
John

Jan 30 '06 #4
Bob
Thanks for the dialer suggestion, however thats not going to fly with the
customer. (needs a telephone line which is an ongoing cost, they have a PBX
and there are people that come and play with its settings which is going to
create additional problems to manage) They already have internet access and
an internal LAN which I mainly manage for them, no outside interference
mostly. I was thinking on the lines of having a service running that starts
automatically on the telephony computer, just sits there and waits for the
app to send it a command (or simple message ) that would activate a message
delivery function. The function automatically would send emails to addresses
that it can get from the services app.config file (one to tech support, one
to a primary admin internally and one to a backup admin internally). I would
also like to send a network message to one or more computers directly that I
can configure their network names in the app.config file and possibly also
send something to pagers and /or PDA devices. The email sending is easy. The
sending to pagers or PDA's I haven't found any useful info on, the sending
to specific computers I had found some info on that which I'm trying to
retrace.

The unsolved problem I have is twofold
1-Detecting an unhandled exception in the Vs2003 app - how to do that and
keep the app running after detection so that it can execute a call to the
service or launch another app as you suggested.
2- How does one execute a call to a public sub or function on a running
service.

I'm trying to find info on these two things on msdn but its a long slow
slug. If someone can show me some sample code or where to get it I would
really appreciate it.

Bob


<JH****@AOL.com> wrote in message
news:11*********************@o13g2000cwo.googlegro ups.com...
Bob,

I was in the exact same situation with old Dialogic drivers and cards
not giving reliable notification and not being upgradable. The cure
was as Toff M. suggested: "Emailing and notification should simply be a
plug in service to which you handoff once the exception/conditions of
interest have been met. I would build notification as a separate
subsystem interfaced/triggered by the hand off in a non notification
specfic way" When the alarm condition occurs call a program that works
reliably. Now in my situation I just have the program shell out to an
alarm dialer.exe which sends out numeric pages over a simple modem.
You can develop a dialer .exe yourself in VB.net,
http://www.microsoft.com/downloads/d...DisplayLang=en
or in VB 6.0, http://www.vb-helper.com/howto_dialer.html
or design or purchase any number of different notification methods.
John

Jan 30 '06 #5
Hey Bob,

Check here for catching unhandled exceptions:
http://www.codeproject.com/dotnet/ExceptionHandling.asp

The key piece is:

AddHandler System.AppDomain.CurrentDomain.UnhandledException, _
AddressOf
UnhandledExceptionHandler

If you catch that, then I suggest (as John did) having a separate .exe
that you shell out in that function, along with some command line args
specifying where the error occured. You can then add any necessary
recovery code in the same function.

Jan 31 '06 #6
Bob
Thanks Jerod I think that will do it.

"Jerod Venema" <jv*****@gmail.com> wrote in message
news:11*********************@g14g2000cwa.googlegro ups.com...
Hey Bob,

Check here for catching unhandled exceptions:
http://www.codeproject.com/dotnet/ExceptionHandling.asp

The key piece is:

AddHandler System.AppDomain.CurrentDomain.UnhandledException, _
AddressOf
UnhandledExceptionHandler

If you catch that, then I suggest (as John did) having a separate .exe
that you shell out in that function, along with some command line args
specifying where the error occured. You can then add any necessary
recovery code in the same function.


Feb 2 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: developer | last post by:
I am trying to get a custom provider to receive health monitoring events in vb.net, whidbey beta 1. I have a health monitoring setup like this in my web.config: <healthMonitoring enabled="true">...
1
by: athos | last post by:
Dear All, I am following the msdn guidelines (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/paght000011.asp) trying the Health Monitoring module. Everything looks...
3
by: Glyn Simpson, MVP | last post by:
Hi I've got an ASP.NET 2.0 application, and I would like to catch the scenario of when I get a certain number of application errors, I want to restart the application (similar to 'touching'...
0
by: hui | last post by:
I am trying to use an SQL Server 2000 to log the events, and have found somehow the contents in the details column get truncated. Details as following: The query I am using to retrieve details:...
0
by: Kevin A | last post by:
The problem is that the web application mysteriously shuts down (ending all sessions) due to a supposed 'configuration change'. By using ASP.Net Health Monitoring we can determine that the...
0
by: William Sullivan | last post by:
I've got a 2.0 app that is crashing prior to the first page being displayed. I'm getting a "FileNotFoundException" with the message that a module wasn't found. No word on the module that is...
4
by: Maddy | last post by:
Hi all, I am new to DB2 database.I just have the basic knowledge abt this database.I in a serious situation of handling 5 large databases.Can some one help me how to prepare the health check...
1
by: dixonjm | last post by:
Hi, I am new to the built in health monitoring functionality that comes built into the .net framework. I have followed a v.good video tutorial and I cant seem to get the last part of my code to...
0
by: andrew.douglas11 | last post by:
Hello all, I've been struggling on something that should be very easy. I want to log every unhandled exception that occurs in my web app to a text file. With the introduction of health...
2
by: paeh | last post by:
Can any expert help me. I need to finish up my final project system next year. Can anyone give me some idea how to code my system. My system details is below : 1.Develop modules for a...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.