[icinga-users] command & arguments facilities for check_by_ssh

Samuel Bancal Samuel.Bancal at epfl.ch
Fri Oct 2 11:49:38 CEST 2015


Thanks Gunnar & Thomas for both your responses!

I'm really looking forward for this Icinga2 2.4.0 :D

Regards,
Samuel

On 01. 10. 15 14:06, Gunnar Beutner wrote:
> FWIW 2.3.11 (which will be released in about 2-3 weeks) will probably make this a bit easier:
>
> https://dev.icinga.org/issues/10006
>
>
> This feature adds a new function (resolve_arguments) which lets users resolve commands+arguments in exactly the same way Icinga does internally. For example:
>
> object CheckCommand "users_by_ssh“ {
>    import „users"
>
>    // Steal command line and arguments from the ‚users‘ CheckCommand
>    vars.by_ssh_command = command
>    vars.by_ssh_arguments = arguments
>
>    import „by_ssh“
>
>    host_name = …
> }
>
> (Here are the changes for the by_ssh command to make this work: https://dev.icinga.org/projects/i2/repository/revisions/63a1ff77c32ab94351d9253c54e80070e3146af5/diff/itl/command-plugins.conf)
>
> Kind regards,
> Gunnar Beutner
>
>
>
> On 01/10/15 13:46, "icinga-users on behalf of Bancal Samuel" <icinga-users-bounces at lists.icinga.org on behalf of Samuel.Bancal at epfl.ch> wrote:
>
>> Hi,
>>
>> Has anyone any experience with implementing checks through ssh and defining them in a sweet & generic syntax with :
>>
>> command = [ PluginDir + "/check_users" ]
>> arguments = {
>>    "-w" = "$users_warn$"
>> "-c" = "$users_crit$"
>> }
>>
>> This doesn't look a so big advantage in this example since there are only a few arguments (and they all are mandatory), but for other checks (like my_mysql described in http://docs.icinga.org/icinga2/latest/search?q=arguments#!/icinga2/latest/doc/module/icinga2/chapter/monitoring-basics?highlight-search=arguments#command-passing-parameters) it might be a really big step further!
>>
>> Thanks,
>> Samuel
>>
>> On 28. 09. 15 11:20, Bancal Samuel wrote:
>>> Hi,
>>>
>>> All our Linux servers are monitored through ssh with such kind of config :
>>>
>>> template Host "generic-ssh-host" {
>>>      import "generic-host"
>>>      vars.os = "Linux"
>>>      vars.agent_type = "by_ssh"
>>>
>>>      vars.by_ssh_logname = "nagios"
>>>      vars.by_ssh_identity = "/var/lib/nagios/.ssh/id_rsa"
>>> }
>>> object Host "unitbkp1" {
>>>      import "generic-ssh-host"
>>>
>>>      [...]
>>> }
>>> apply Service "users" {
>>>      import "generic-service"
>>>      check_command = "by_ssh_users"
>>>      assign where host.vars.agent_type == "by_ssh"
>>> }
>>> object CheckCommand "by_ssh_users" {
>>>      import "by_ssh"
>>>
>>>      vars.by_ssh_command = "/usr/lib/nagios/plugins/check_users -w $by_ssh_users_warn$ -c $by_ssh_users_crit$"
>>>      vars.by_ssh_users_warn = "20"
>>>      vars.by_ssh_users_crit = "50"
>>> }
>>>
>>> Since syntax described at http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc#!/icinga2/latest/doc/module/icinga2/chapter/monitoring-basics#commands :
>>> command = [...]
>>> arguments = {...}
>>> seems much more efficient & generic, we'd like to know if there is an equivalent for ssh hosts and be able to do something similar to :
>>>
>>> object CheckCommand "by_ssh_users" {
>>>      import "by_ssh"# or something else?
>>>
>>> command = [ PluginDir + "/check_users" ]
>>>      arguments = {
>>>          "-w" = "$users_warn$"
>>>          "-c" = "$users_crit$"
>>>      }
>>>
>>>      vars.users_warn = "20"
>>>      vars.users_crit = "50"
>>> }
>>>
>>> Thanks,
>>> Samuel
>>>
>> --
>> Samuel Bancal
>> ENAC-IT
>> EPFL
>>
>> _______________________________________________
>> icinga-users mailing list
>> icinga-users at lists.icinga.org
>> https://lists.icinga.org/mailman/listinfo/icinga-users
> -- 
> Gunnar Beutner
> Senior Developer
>
> NETWAYS GmbH | Deutschherrnstr. 15-19 | D-90429 Nuernberg
> Tel: +49 911 92885-0 | Fax: +49 911 92885-77
> GF: Julian Hein, Bernd Erk | AG Nuernberg HRB18461
> http://www.netways.de | Gunnar.Beutner at netways.de
>
> ** OSMC 2015 - November - netways.de/osmc **
> ** OSDC 2016 - April – netways.de/osdc **
> _______________________________________________
> icinga-users mailing list
> icinga-users at lists.icinga.org
> https://lists.icinga.org/mailman/listinfo/icinga-users



More information about the icinga-users mailing list