client can't use find checks


#1

my set up is a sensu client running on an Ubuntu 14.04 and the sensu server running on centos6.5 both installed/configured with the sensu puppet module.

my checks are all defined as “standalone:false” and the default of false for “safemode” is left.

my client can find the server and visa versa and tries to run the appropriate checks for its subscription etc. however it can’t seem to find the actual plugins.

The output I get is “output: sh: 1: /etc/sensu/plugins/check_procs_pgrep: not found”

If I add a file on the client named /etc/sensu/plugins/check_procs_pgrep it executes that check no problem butt I was under the impression that checks could exist on the server only. Am I wrong?

I feel like there is just some small parameter I’m missing or something.

Thanks


#2

As you’ve discovered, the check itself is executed by the client, which is running on the client machine. The plugin has to exist there.

The json config for the check has to be in both locations. The server needs it to generate check requests.

The plugin code itself only has to be on the client, where it’s run.

Mojo

···

On Wed, Jun 25, 2014 at 12:52 PM, Scott Buchanan scott.x.buchanan@gmail.com wrote:

my set up is a sensu client running on an Ubuntu 14.04 and the sensu server running on centos6.5 both installed/configured with the sensu puppet module.

my checks are all defined as “standalone:false” and the default of false for “safemode” is left.

my client can find the server and visa versa and tries to run the appropriate checks for its subscription etc. however it can’t seem to find the actual plugins.

The output I get is “output: sh: 1: /etc/sensu/plugins/check_procs_pgrep: not found”

If I add a file on the client named /etc/sensu/plugins/check_procs_pgrep it executes that check no problem butt I was under the impression that checks could exist on the server only. Am I wrong?

I feel like there is just some small parameter I’m missing or something.

Thanks


#3

Hey Morris,

That makes sense and thats what I initially assumed was the case but as I started looking at sensu in more depth I read the FAQ which contains the following:

···

Do checks need to exist on the client?

No. They only need to be defined on the Sensu server(s), but can be
defined on the client to override certain check definition attributes.
Another case where a check needs to be present on the client is when
it is being defined as a standalone check. In safe mode the check
has to exist on both the client and the server.


Am I wrong in taking this to mean that the checks (like the actual check_http file) only need to exist on the server? I guess its just talking about the check definitions?

On Wednesday, June 25, 2014 8:41:29 PM UTC-7, Morris Jones wrote:

As you’ve discovered, the check itself is executed by the client, which is running on the client machine. The plugin has to exist there.

The json config for the check has to be in both locations. The server needs it to generate check requests.

The plugin code itself only has to be on the client, where it’s run.

Mojo

On Wed, Jun 25, 2014 at 12:52 PM, Scott Buchanan scott.x....@gmail.com wrote:

my set up is a sensu client running on an Ubuntu 14.04 and the sensu server running on centos6.5 both installed/configured with the sensu puppet module.

my checks are all defined as “standalone:false” and the default of false for “safemode” is left.

my client can find the server and visa versa and tries to run the appropriate checks for its subscription etc. however it can’t seem to find the actual plugins.

The output I get is “output: sh: 1: /etc/sensu/plugins/check_procs_pgrep: not found”

If I add a file on the client named /etc/sensu/plugins/check_procs_pgrep it executes that check no problem butt I was under the impression that checks could exist on the server only. Am I wrong?

I feel like there is just some small parameter I’m missing or something.

Thanks


#4

Yes you were incorrect (but not your fault, imho). Yes it is talking
about check definitions.

···

On Wed, Jun 25, 2014 at 11:45 PM, Scott Buchanan <scott.x.buchanan@gmail.com> wrote:

Hey Morris,

That makes sense and thats what I initially assumed was the case but as I
started looking at sensu in more depth I read the FAQ which contains the
following:

------

Do checks need to exist on the client?

No. They only need to be defined on the Sensu server(s), but can be defined
on the client to override certain check definition attributes. Another case
where a check needs to be present on the client is when it is being defined
as a standalone check. In safe mode the check has to exist on both the
client and the server.

------

Am I wrong in taking this to mean that the checks (like the actual
check_http file) only need to exist on the server? I guess its just talking
about the check definitions?

On Wednesday, June 25, 2014 8:41:29 PM UTC-7, Morris Jones wrote:

As you've discovered, the check itself is executed by the client, which is
running on the client machine. The plugin has to exist there.

The json config for the check has to be in both locations. The server
needs it to generate check requests.

The plugin code itself only has to be on the client, where it's run.

Mojo

On Wed, Jun 25, 2014 at 12:52 PM, Scott Buchanan <scott.x....@gmail.com> >> wrote:

my set up is a sensu client running on an Ubuntu 14.04 and the sensu
server running on centos6.5 both installed/configured with the sensu puppet
module.

my checks are all defined as "standalone:false" and the default of false
for "safemode" is left.

my client can find the server and visa versa and tries to run the
appropriate checks for its subscription etc. however it can't seem to find
the actual plugins.

The output I get is "output: sh: 1: /etc/sensu/plugins/check_procs_pgrep:
not found"

If I add a file on the client named /etc/sensu/plugins/check_procs_pgrep
it executes that check no problem butt I was under the impression that
checks could exist on the server only. Am I wrong?

I feel like there is just some small parameter I'm missing or something.

Thanks


#5

cool, thanks Kyle. Thats quite a bit more explicit.

···

On Thursday, June 26, 2014 7:46:32 AM UTC-7, Kyle Anderson wrote:

Yes you were incorrect (but not your fault, imho). Yes it is talking

about check definitions.

https://github.com/sensu/sensu-docs/pull/100

On Wed, Jun 25, 2014 at 11:45 PM, Scott Buchanan > > scott.x....@gmail.com wrote:

Hey Morris,

That makes sense and thats what I initially assumed was the case but as I

started looking at sensu in more depth I read the FAQ which contains the

following:


Do checks need to exist on the client?

No. They only need to be defined on the Sensu server(s), but can be defined

on the client to override certain check definition attributes. Another case

where a check needs to be present on the client is when it is being defined

as a standalone check. In safe mode the check has to exist on both the

client and the server.


Am I wrong in taking this to mean that the checks (like the actual

check_http file) only need to exist on the server? I guess its just talking

about the check definitions?

On Wednesday, June 25, 2014 8:41:29 PM UTC-7, Morris Jones wrote:

As you’ve discovered, the check itself is executed by the client, which is

running on the client machine. The plugin has to exist there.

The json config for the check has to be in both locations. The server

needs it to generate check requests.

The plugin code itself only has to be on the client, where it’s run.

Mojo

On Wed, Jun 25, 2014 at 12:52 PM, Scott Buchanan scott.x....@gmail.com > > >> wrote:

my set up is a sensu client running on an Ubuntu 14.04 and the sensu

server running on centos6.5 both installed/configured with the sensu puppet

module.

my checks are all defined as “standalone:false” and the default of false

for “safemode” is left.

my client can find the server and visa versa and tries to run the

appropriate checks for its subscription etc. however it can’t seem to find

the actual plugins.

The output I get is "output: sh: 1: /etc/sensu/plugins/check_procs_pgrep:

not found"

If I add a file on the client named /etc/sensu/plugins/check_procs_pgrep

it executes that check no problem butt I was under the impression that

checks could exist on the server only. Am I wrong?

I feel like there is just some small parameter I’m missing or something.

Thanks