DISK CRITICAL Permission Denied via check_by_ssh

Hi everyone !

I have a problem that I don’t understand

I have to do a check_disk by_ssh to machine.

When I run it from the command line from the master, it works!

When I run it from the command line from the machine directly, it works!

But when I do it via icinga,
check_from_icinga
it returns
“DISK CRITICAL - /sys/kernel/debug/tracing is not accessible: Permission denied”

I tried to look on several forums but it still doesn’t work…

if someone has a solution, it would be great !

Thank you,

Sincerely

Kevin.

Hi @tolotrakevin

since you are using by_ssh, you have to add the arguments for the inner command (check_disk here) into the by_ssh_arguments dictionary:

// ...
vars.by_ssh_arguments = {
  "-w" = { value = "$wdisk$" }
  "-c" = { value = "$cdisk$" }
  "-I" = { value = "$disk_ignore_eregi_path$" }
// ...
}
// ...

Are you running those manual tests as the user that Icinga uses to access the remote system by_ssh?

Hi,
Sorry for late answer

i tried but the result is same…
conf

output :
output

Really i don’t understand…

Regards

Yes it is !
it’s the icinga user

If someone has an idea to unblock me please :sweat_smile:

Thanks

@tolotrakevin

I add exclude in my case

  if ( match("XXXX*", host.name) || match("*YYY*", host.name)) {
      vars.disk_ignore_eregi_path = [ "/mnt/nfs_watch/Countries/*",
                                      "/mnt/nfs_managed/.snapshot/*",
                                      "/mnt/nfs_dropoff/.snapshot/*",
                                      "/mnt/nfs_watchfolder/.snapshot/*",
                                      "/mnt/nfs_watch/.snapshot/*",
                                      "/mnt/nfs_archive/.snapshot/*"
                                     ]
      vars.disk_all = true
   }

or maybe you can add icinga user to docker group

sudo usermod -aG docker icinga

and restart demon

1 Like

I have 2 suggestions: Make sure your variables are spelt correctly (have you got a command definition to show us, i.e. one where all those variables are actually used in a command line?). If that is not the problem, run a simple command like ls -la on that file path that has an access permissions problem; if that also throws a permissions error, it’s something in your remote file system (perhaps an ACL?).

1 Like

Sorry for late, I tried to add icinga to docker group but it does not change anything…

Hello,
sorry for late
no I don’t have a define command because I only use the basic parameters… That’s why it’s very strange. I also tried the “ls -la” and it works perfectly.
There is nothing special in what I am doing. I’ve already done this several times and each time there was no problem. Except this time…

Finally I go back to my answer, the problem was indeed an error in my variables… Thanks for giving me the tip!
Thanks to everybody :slight_smile:

Have a nice day !

Sincerely

Kevin

1 Like