Application monitoring

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
PaulVM
Posts: 5
Joined: Thu Oct 24, 2013 1:04 pm

Application monitoring

Post by PaulVM »

hello all,
newbie looking for solution :-)
I have read around, but I need some advice to plan

The need is to monitor the use of certain predefined applications during business hours on workstations.
For example, writer/word, calc/excel, thunderbird, firefox, ...
No matter if they are simply open in background or are actively used.
The only interest at the moment is to extrapolate how long are active and able to do the statistics on these data.
My idea is to install Nagios to a VM somewhere on the net.
The stations are not directly accessible from the Nagios server, so I have to use an agent in passive mode (NCPA or NSClient++ I suppose).
I am new to Nagios, but this seems simple (or not too complex ;-) ).
Am I right until now or I already had done some wrong evaluation?

If The previous considerations are fine, I now have an info registered in some DB, that report the application status for a specific workstation every N minutes.
MySQL or RRD?
Is there any simple way to do the statistics on these data?
Obviously I am interested to evaluate the workstation's activity and the applications activity during business hours (my be 8-12, 14-18 or simply when the PC is ON).
I am not interested to reinvent the wheel, so, if someone already do something similar ... :-)

Thanks, P.
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Application monitoring

Post by slansing »

If The previous considerations are fine, I now have an info registered in some DB, that report the application status for a specific workstation every N minutes.
MySQL or RRD?
Is there any simple way to do the statistics on these data?
I'm a bit puzzled by this, are you already monitoring the metrics you need? You just don't know how to send that back up to nagios?
User avatar
mickem
Posts: 16
Joined: Tue Oct 08, 2013 2:17 am
Location: Stockholm, SWEDEN
Contact:

Re: Application monitoring

Post by mickem »

NSClient++ actually supports statefull scripts /python/lua) so you could do it there I guess.
Another options would be to put the performance data (i.e. time application has been running) inside something like graphite or TSDB and graph it (or possibly query it) from there.
It depends a bit on how you want the data (i.e. aggregated or per system (per user?), trends or absolutes etc etc.,..)

// Michael Medin
// Michael Medin @mickem, blog.medin.name

Author of NSClient++ - http://nsclient.org
NSClient++ 0.4.2 Documentation: http://docs.nsclient.org
PaulVM
Posts: 5
Joined: Thu Oct 24, 2013 1:04 pm

Re: Application monitoring

Post by PaulVM »

slansing wrote:
If The previous considerations are fine, I now have an info registered in some DB, that report the application status for a specific workstation every N minutes.
MySQL or RRD?
Is there any simple way to do the statistics on these data?
I'm a bit puzzled by this, are you already monitoring the metrics you need? You just don't know how to send that back up to nagios?
Sorry for my poor english :-)

Try to clarify:

My need: monitoring applications usage and do statistics (data collected from windows workstations in various offices, under firewalls, ...)

Is Nagios a good solutions for this?

Is there something similar already developed (addon, plugin)?

Any hints on configurations and tools to achieve the result is appreciated.

Thanks, P.
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Application monitoring

Post by slansing »

Based on what you are checking, and what protocol you are using "and what plugin," you can pull the above information, including performance data "graphing." What are you specifically looking to check? If we have a bit more detail we can point you to a solution. There are a number of ways you can check the "vitals" of your Windows machines, be it NCPA, NRDS, SNMP, WMI or other agent/agent-less solutions
PaulVM
Posts: 5
Joined: Thu Oct 24, 2013 1:04 pm

Re: Application monitoring

Post by PaulVM »

slansing wrote:Based on what you are checking, and what protocol you are using "and what plugin," you can pull the above information, including performance data "graphing." What are you specifically looking to check? If we have a bit more detail we can point you to a solution. There are a number of ways you can check the "vitals" of your Windows machines, be it NCPA, NRDS, SNMP, WMI or other agent/agent-less solutions
Starting the development clarify something :-)

I installed Nagios (VM in datacenter). I can monitor agentless server/services.
I want monitor the windows workstations inside the LAN (under firewall).
I installed NSClient++.
Now I need some config example for passive check using NCPA .
Found this tutorial (http://nsclient.org/nscp/wiki/doc/usage/nagios/nsca), but it is incomplete.
I now have a client that insert messagges in the server queue.

Where can I find detailed working example (windows NSClient ++ and Linux server config)?
I need monitor processes state (application active or not).

Next I need to extract statistics usage for the business hours.

Thanks, P.
abrist
Red Shirt
Posts: 8334
Joined: Thu Nov 15, 2012 1:20 pm

Re: Application monitoring

Post by abrist »

PaulVM wrote:I want monitor the windows workstations inside the LAN (under firewall).
You can do so by opening ports, using a pn, passive reporting, etc.
PaulVM wrote:Now I need some config example for passive check using NCPA .
Found this tutorial (http://nsclient.org/nscp/wiki/doc/usage/nagios/nsca), but it is incomplete.
NCPA or NSCA?
PaulVM wrote:Where can I find detailed working example (windows NSClient ++ and Linux server config)?
Config for what check and what agent?
PaulVM wrote:I need monitor processes state (application active or not).
This is possible with most agents.
PaulVM wrote: Next I need to extract statistics usage for the business hours.
For statistics other than states, you will most likely need to set up a performance data graphing addon. I suggest pnp4nagios.
Former Nagios employee
"It is turtles. All. The. Way. Down. . . .and maybe an elephant or two."
VI VI VI - The editor of the Beast!
Come to the Dark Side.
PaulVM
Posts: 5
Joined: Thu Oct 24, 2013 1:04 pm

Re: Application monitoring

Post by PaulVM »

abrist wrote:
PaulVM wrote:I want monitor the windows workstations inside the LAN (under firewall).
You can do so by opening ports, using a pn, passive reporting, etc.
Ok. installed server on CentOS 6.4 VM
Using NSClient++ on windows clients for passive reporting
abrist wrote:
PaulVM wrote:Now I need some config example for passive check using NCPA .
Found this tutorial (http://nsclient.org/nscp/wiki/doc/usage/nagios/nsca), but it is incomplete.
NCPA or NSCA?
Sorry. :-) NSCA. If there is a better/simpler way to do passive check I can change :-)
abrist wrote:
PaulVM wrote:Where can I find detailed working example (windows NSClient ++ and Linux server config)?
Config for what check and what agent?
I have NSClient++ that reach the server and insert messages in the queue.
Tried to modify the examples, but with very limited results
I need the right syntax to define services in the server part and the check in the agent.
Currently I have agent and server that are speaking but not understanding each other ... :-(
abrist wrote:
PaulVM wrote:I need monitor processes state (application active or not).
This is possible with most agents.
Searching for syntax example in nsclient.ini (and correspondig syntax service definition in the server).
abrist wrote:
PaulVM wrote: Next I need to extract statistics usage for the business hours.
For statistics other than states, you will most likely need to set up a performance data graphing addon. I suggest pnp4nagios.
Start reading docs. Thanks

Regards, P.
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Application monitoring

Post by slansing »

Can you restructure that last reply so that we know what you need help with?

And what do you mean by a passive check you can change? NRDP would probably be a good solution here as it will use standard plugins which you can modify:

http://exchange.nagios.org/directory/Ad ... PA/details
PaulVM
Posts: 5
Joined: Thu Oct 24, 2013 1:04 pm

Re: Application monitoring

Post by PaulVM »

slansing wrote:Can you restructure that last reply so that we know what you need help with?

And what do you mean by a passive check you can change? NRDP would probably be a good solution here as it will use standard plugins which you can modify:

http://exchange.nagios.org/directory/Ad ... PA/details
Sorry. Tried to quote.

Currently, I have the server side that seems working. It receives the NSCA notifications and queue it. But I haven't a valid host+services config because I modified the standard template, but with por results. I am searching for a NSCA passive check template/example config.

In the client side I currently have NSClient++.
Started with basic configuration to test it is working (reported below). I can see the warning in the server log so I can suppose communication is working. Now I am searching for some config example for both client and server to use as template insted that start from scratch. My primary interest is to monitor activity of a pool of application (if Explorer, Firefox, Thunderbind, Word, Excel, ... are currently running or not).

Is there any example available?

Your link point to NCPA. Do you mean this? http://exchange.nagios.org/directory/Ad ... or/details

Thanks, P.

My client basic config (NSClient++):
--------------------------------------
[/modules]
CheckSystem=enabled
CheckDisk=enabled
CheckExternalScripts=enabled
CheckHelpers=enabled
Scheduler=enabled
NSCAClient=enabled
[/settings/scheduler/schedules/default]
interval=5m
[/settings/scheduler/schedules]
cpu=alias_cpu
mem=alias_mem
disk=alias_disk
service=alias_service
[/settings/NSCA/client]
hostname=win_${host}
[/settings/NSCA/client/targets/default]
address=1.2.3.4
encryption=1
password=nscpass
--------------------------------------
Locked