NSClient++ Help (#1) - check_nrpe from nagios to windows subnet (#698) - Message List

check_nrpe from nagios to windows subnet

first of all - sorry of my english :)

question: how to (or can i) do the following:

check from nagios->over 1st windows pc (with nsclient) the second (with nsclient)?

as i understand, nrpe can execute command (it's primary role). i can execute some command from nagios by check_nrpe command. this command will be accepted in 1st windows pc (by nsclient) AND can i execute accepted command (by executed something like check_nrpe_win on 1st windows pc) by 2nd windows pc and return result to nagios?

may be existing other ways to execute commands via like "nrpe-proxy"?

of course, i can create map/nat rules on my proxy, but checking 30 pc through 30 proxy rules, select unique port for each pc... it's not good way

  • Message #1992

    i'v downloaded all internet :) and i can't find any direct answer on my question.

    some answer:

    • check through wmi, psexec - bad answer (some pc don't have need security right to remote execute something; use password in executing script not good way)
    • check from the "outside" i.e. open port, ping etc (not good or not enough for deep check, like cpu usage and other)
    • check through snmp :(

    i'v tried to find something cygwin and check_nrpe, but nothing to find (cygwin is black box for me and i can something misunderstood)

    please, tell me why there is no something such "check_nrpe_from_windows_host"? may be it is not good (or right, or "not this way")? may be i try to invent a wheel?!

  • Message #1994

    This is something you *can* do but nothing it was designed for so it is abit of configuration.

    The key to the answer is that you need both the [NRPEClient] and [NRPEListener] module. The first will expose commands you can run with the latter.

    Hence you end up with [nagios] calling [nsclient++] which in turn calls [nsclient++].

    The proxy shall have something along the lines of this:

    [modules]
    NRPEListener.dll
    NRPEClient.dll
    [NRPE Client Handlers]
    check_other=-H remote.mydomain.com -p 5666 -c remote_command -a arguments
    

    Then from nagios you can run:

    check_nrpe -H proxy.mydomain.com -c check_other
    

    This will force the proxy nsclient++ to connect to the other nsclient++ (or nrpe for that matter) and execute check_remote much as if you from nsgios had done:

    check_nrpe -H remote.mydomain.com -c remote_command
    

    As I said this requires you top understand NRPE and nsclient++ so readup the guides on the wiki and I think you can figure it out from there.

    Michael Medin

    • Message #1996

      big thanks. i don't correlate check_other=-H 192.168.56.101 -p 5666 -c remote_command -a arguments in nsc.ini with nrpe. very big thanks. i'll run to check this up

      • Message #2317

        Exactly the same i have also to do.

        So a question: Do i have to write some batch scripts which checks if a process/service is running, or is there something like check_nt which runs under windows, or which can be used with nrpe ?

        As it seems i have to create "[External Scripts]" for that use, or?

        • Message #2318

          Not sure I understand... NSClient++ has a lot of built in commands for among other things everything you can do with check_nt (check_nt commands are in fact converted to nrpe commands by the NSCLientListener) so check under modules/commands and see if you find what you need...

          Michael Medin

Subscriptions