Application instrumentation design questions

Lung, Felix flung____doubleclick.net
Fri Jan 25 21:10:19 CET 2002


Hi,
	I had a couple of design questions for a major project that I am
undertaking and I was looking to see if others out there could provide their
experiences/suggestions if they have had a similar environment.  
	Basically we're looking to standardize the way we instrument and
monitor all of our in house software applications.  They range from apps
running on W2K boxes to  Linux/Solaris boxes.  We chose to go the route of
SNMP as the base protocol and will be obtaining a 3rd party management
application. For the SNMP Agent side, we have pretty decided to go with
Agent++/SNMP++ code because of the availability of the code as well as the
low cost tools.  Given that I had very little knowledge of SNMP, coming
across SNMP++ and Agent++ was a godsend!
	What our own requirements were for the instrumentation was to keep
an SNMP Agent separate from the application being instrumented but on the
same box of course.  Thus the Agent would run probably as a service under
our windows environments (or a daemon under unix?).  That also means that we
would need to build a piece of s/w that would connect the Apps to the Agent
somehow.  This s/w or API would have to be lightweight for us since our
applications tend to be very computationally and memory intensive.  We also
wanted to hide SNMP stuff away from the application.  
	Thus this is where I was hoping someone could help provide ideas or
suggestions if they have done something like this before.  Here's a drawing
of what I'm talking about:

[App/API] <-- (A) --> [SNMP Agent] <-- SNMP --> [Management application]

The API on the app side would be something like:
bool LogError(int nErrorCode, const char* ..);
bool LogMetric(int nMetricCode, .. );

Questions:
1) Where (A) is in the diagram above, we thought about either:
	- Implementing our own protocol/interface over sockets or
	- Use SNMP to communicate though we would rather not do this since
that would mean the API layer would need to know about SNMP etc.
	Any suggestions? Am I being nuts here?

2) Has anyone ever done something like this before? Is this even a right
approach? On paper, this seems to work well.  We want to be able to monitor
metrics from our applications as well as detect traps sent from the
application to the Agent etc.  Any help or suggestions would be greatly
appreciated.  

Sincerely,
Felix Lung


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.agentpp.org/pipermail/agentpp/attachments/20020125/41c3acf9/attachment.htm 


More information about the AGENTPP mailing list