Using the ping check

Please forgive me if I completely miss the point with this question. I really like what sensu does, but I’m trying to understand the architecture and how it works in my particular case.

We have a number of devices that we can’t install the sensu-client on. How do people typically monitor this? Would you write a custom check for each appliance/device that you want to monitor and run it with the sensu-client on the sensu server?

I’ve also read that some people use the ping check a great deal, but how do they handle it? If I run the sensu-client on a server, pinging localhost doesn’t seem like it would give me much information. Where do you send the pings from?

I understand using the other checks and running them locally on each machine with sensu-client, but wouldn’t we want a ping to come from sensu-server like other monitoring solutions along the lines of nagios?

I’ve done a lot of reading over the past few days and haven’t seen any mention of this at all so I’m not sure what people are doing or if I’m missing the point entirely.

For those things that cannot install the sensu-client, you must use
the sensu-client on some host to perform the checks, as you guessed.

In my situation, I select a single host per environment (one of the
sensu-servers) to do the checking for me.
I use a yaml file (hiera) plus a custom puppet type that defines the
actual check. The destination of the ping check is what is declared in
the yaml. The ping check runs on a sensu master.

I'm holding out for a resolution to:


or

Which would (potentially) allow me to masquerade the clientname to
match the thing I'm checking. This would also allow me to run this
check from any of the sensu-masters, as the client name would be
consistent then. (and, the client name would == the thing I'm pinging,
not the thing that *is* initiating the ping)

A different approach is to have a single check definition that spawns
results into the localhost:3030 socket:
https://gist.github.com/joemiller/5806570
Still, this check must be run on *some* server with the sensu client.

I agree, I don't *want* the ping to come from the sensu-server, like
nagios, but it does have to come from *somewhere*. :slight_smile:

···

On Thu, May 29, 2014 at 6:51 PM, John Arends <jarends@gmail.com> wrote:

Please forgive me if I completely miss the point with this question. I
really like what sensu does, but I'm trying to understand the architecture
and how it works in my particular case.

We have a number of devices that we can't install the sensu-client on. How
do people typically monitor this? Would you write a custom check for each
appliance/device that you want to monitor and run it with the sensu-client
on the sensu server?

I've also read that some people use the ping check a great deal, but how do
they handle it? If I run the sensu-client on a server, pinging localhost
doesn't seem like it would give me much information. Where do you send the
pings from?

I understand using the other checks and running them locally on each machine
with sensu-client, but wouldn't we want a ping to come from sensu-server
like other monitoring solutions along the lines of nagios?

I've done a lot of reading over the past few days and haven't seen any
mention of this at all so I'm not sure what people are doing or if I'm
missing the point entirely.