473,698 Members | 2,432 Online
Bytes | Software Development & Data Engineering Community
+ 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 ApplicationEven ts.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 2476
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******** ********@TK2MSF TNGP10.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 ApplicationEven ts.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******** *************@o 13g2000cwo.goog legroups.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******** *************@o 13g2000cwo.goog legroups.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.AppDomai n.CurrentDomain .UnhandledExcep tion, _
AddressOf
UnhandledExcept ionHandler

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******** *************@g 14g2000cwa.goog legroups.com...
Hey Bob,

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

The key piece is:

AddHandler System.AppDomai n.CurrentDomain .UnhandledExcep tion, _
AddressOf
UnhandledExcept ionHandler

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
1306
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"> <providers> <add name="LocalSQL" type="System.Web.Management.SqlWebEventProvider" connectionStringName="connLocalSQL" /> <add name="CustomProvider"
1
1171
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 fine, webpage prompted out, button clicked, however, no record was logged in table "aspnet_WebEvent_Events"! Then I stepped in to debug, the line testEvent.Raise();
3
1739
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' web.config). However, I don't have access to IIS, nor can I FTP in a new web.config file to force the application to restart.I can't see any way at the moment to do this through code, which would be good, as I can then restart it remotely (through...
0
2363
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: select datalength(details), details from dbo.aspnet_WebEvent_Events A sample output row (slightly realigned for easy reading): 1842 Event code: 4003 Event message: URL authorization succeeded for the
0
1343
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 application occasionally raises a "Application is shutting down. Reason: Configuration changed." event during normal application usage. The only known way to duplicate this event is to manually save the web.config, which correctly triggers the event as...
0
954
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 missing. Using FileMon, I've seen that the worker process is attempting to find the compiled version of the login page (blahblah.aspx.184848484848.compiled), wasn't able to find it anywhere, then looked for and found the webpage...
4
3481
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 report for the databases. Also suggest me gud books for learning DB2. Thanks in advance,
1
1921
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 work correctly... I have configured my app to display an error page (when necessary) and this will write errors to the event viewer along with my custom error messages - this works fine. My problem is when I try to write these same errors to sql....
0
996
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 monitoring in 2.0, this should be super easy, but it's not. First off, there's no out-of-the-box provider for logging to a text file which is very strange. Microsoft at least provides some solutions to this problem on their website. I have...
2
1500
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 e-Intelligent Surveillance Systems and further enhance the public health monitoring and alert system 2.Develop a web based reporting program for communicable disease that accept electronic laboratory data from NIC health laboratory and other electronic...
0
8678
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8609
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9166
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9030
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
6525
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5861
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4371
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 last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4621
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2333
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.