NsClient++ vs WMI or SNMP

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.
Locked
jenglee
Posts: 10
Joined: Tue Nov 20, 2012 4:50 pm

NsClient++ vs WMI or SNMP

Post by jenglee »

From the online tutorial it show tells us to use the NsClient Agent for windows machine. Can someone explain to me the benefits over WMI or SNMP.
I have my nagios core setup to be able to use NsClient and WMI Checks. I want to also know which uses more resources over all and how do I prove that I uses more resources?
sreinhardt
-fno-stack-protector
Posts: 4366
Joined: Mon Nov 19, 2012 12:10 pm

Re: NsClient++ vs WMI or SNMP

Post by sreinhardt »

Well, it really depends on what data and to what degree you are looking to go into. Another factor is whether you are using active or passive checks that are being run through each of the services\clients. Active checks through any of them will be more intensive for the nagios machine than passive, which allows just to collect data from a remote host instead of kicking off the check it's self. An advantage that NsClient does have, would be the default checks that are already integrated within the client. WMI and SNMP may need additional plugins installed or have to be scripted out to gather some data that you want. If you could give a few examples of what your are looking to gather, and how you are currently doing it, I think we could give you a more detailed answer.
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
jenglee
Posts: 10
Joined: Tue Nov 20, 2012 4:50 pm

Re: NsClient++ vs WMI or SNMP

Post by jenglee »

I am checking computer resources (plan to use one of the graphing plugin with) check and make sure services and processes are running on servers. Also we check ports for services that we pay for. I have a management staff that does not like to install additional software to the servers unless needed. If there is any advantages to NsClient please share.
User avatar
jsmurphy
Posts: 989
Joined: Wed Aug 18, 2010 9:46 pm

Re: NsClient++ vs WMI or SNMP

Post by jsmurphy »

If you can get all the information you need out of SNMP or WMI then that is probably the preferable solution. The reason most people go the path of NSClient++ is because it is:
a. Easier to configure and manage than SNMP or WMI
b. You can do a lot more with it
c. It's easier to secure, it has encryption by default, is restricted by host and doesn't require a username/password, but you have the option to use a password to help prevent mitm attacks.
d. It has a lot of the common monitoring defaults already configured in the agent for you (disk monitoring, CPU monitoring, Memory, etc).

NSClient also allows you to do remote execution of scripts in order to do complex monitoring tasks on the local server, which is a major advantage when it come to monitoring home-grown apps or the apps of developers who didn't put in the forethought to include a way of extracting that data from a standard interface like WMI or SNMP. There's also a plethora of plugins that are designed to specifically work with NSClient on the Nagios exchange site.

When you mention load for WMI or SNMP... are you talking server side (nagios server) or client side (The remote host being monitored). From a client perspective I don't think it matters, both interfaces are fairly light weight and shouldn't impact the servers being monitored unless you are hammering really hard with requests.

From the Nagios server perspective the SNMP check is more efficient, simply because the standard plugin executes compiled C code and the WMI plugin uses interpreted perl. Ultimately though the overhead of both is rather small and it shouldn't make a massive difference.
Steffan
Posts: 13
Joined: Tue Jun 26, 2012 10:13 am

Re: NsClient++ vs WMI or SNMP

Post by Steffan »

i use SNMP and WMI for 1 reason:

I do not want to install any third party client on all my 146 hosts, that also needs to be updated manually.

SNMP is a part of windows, and can be activated quickly. and on our linux servers SNMP is already installed by default (OpenSUSE), the service only needs to be started.
jenglee
Posts: 10
Joined: Tue Nov 20, 2012 4:50 pm

Re: NsClient++ vs WMI or SNMP

Post by jenglee »

jsmurphy, you say that NsClient can do a whole lot more, can you please explain. I have multiple sources that say this but no one can explain what these are.
Please give me a list of things the the installed agent can do that the WMI or SNMP can't do
User avatar
jsmurphy
Posts: 989
Joined: Wed Aug 18, 2010 9:46 pm

Re: NsClient++ vs WMI or SNMP

Post by jsmurphy »

jsmurphy wrote: NSClient also allows you to do remote execution of scripts in order to do complex monitoring tasks on the local server, which is a major advantage when it come to monitoring home-grown apps or the apps of developers who didn't put in the forethought to include a way of extracting that data from a standard interface like WMI or SNMP. There's also a plethora of plugins that are designed to specifically work with NSClient on the Nagios exchange site.
I can't give you a list, it's not an itemizable scenario, which is probably why others have been so evasive. Anything you can do with any scripting language is an item on the list, you can fire missiles at your neighbours dog via a windows box and have it report whether it succeeded or not. This is not a realistic scenario but you can't do that with WMI or SNMP. NSClient is great for scenarios where the standard interface can't provide the information you need.

If you have a lot of disparate sites that are firewalled off and you have strict rules on interaction with the internal network you can use NSClient as a proxy for securely tunnelling monitoring.

NSClient is a tool for complex monitoring, it allows you to solve problems. It doesn't provide you with a bigger list of pre-solved problems than other interfaces.

We require it because we need to monitor apps that you can't access information for via WMI or SNMP. Does that help? If you can't think of any reason why you would ever need it, then you probably don't need it.
Locked