icinga2/itl/plugins-contrib.d/ipmi.conf

133 lines
4.4 KiB
Plaintext

/******************************************************************************
* Icinga 2 *
* Copyright (C) 2012-2018 Icinga Development Team (https://icinga.com/) *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software Foundation *
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. *
******************************************************************************/
object CheckCommand "ipmi-sensor" {
import "ipv4-or-ipv6"
command = [ PluginContribDir + "/check_ipmi_sensor" ]
arguments = {
"-H" = {
value = "$ipmi_address$"
description = "Hostname or ip address of the IPMI interface (default: host.address or host.address6)"
}
"-f" = {
value = "$ipmi_config_file$"
description = "Path to the FreeIPMI configuration file"
}
"-U" = {
value = "$ipmi_username$"
description = "Username to connect with"
}
"-P" = {
value = "$ipmi_password$"
description = "Password to use"
}
"-L" = {
value = "$ipmi_privilege_level$"
description = "Privilege level of the user"
}
"-b" = {
set_if = "$ipmi_backward_compatibility_mode$"
description = "Enable backward compatibility mode (for FreeIPMI 0.5.*)"
}
"-T" = {
value = "$ipmi_sensor_type$"
description = "Limit sensors to query based on IPMI sensor type (seperated by comma)"
}
"-ST" = {
value = "$ipmi_sel_type$"
description = "Limit SEL entries to specific types. (seperated by comma)"
}
"-x" = {
value = "$ipmi_exclude_sensor_id$"
description = "Exclude sensor matching ipmi_sensor_id"
}
"-xT" = {
value = "$ipmi_exclude_sensor$"
description = "Exclude sensors based on IPMI sensor type. (seperated by comma)"
}
"-xST" = {
value = "$ipmi_exclude_sel$"
description = "Exclude SEL entries of specific sensor types. (seperated by comma)"
}
"-i" = {
value = "$ipmi_sensor_id$"
description = "Include sensor matching ipmi_sensor_id"
}
"--nosel" = {
set_if = "$ipmi_no_sel_checking$"
description = "Turn off system event log checking via ipmi-sel"
}
"--nothresholds" = {
set_if = "$ipmi_no_thresholds$"
description = "Turn off performance data thresholds from output-sensor-thresholds"
}
"-D" = {
value = "$ipmi_protocol_lan_version$"
description = "Change the protocol LAN version (default: LAN_2_0)"
}
"-fc" = {
value = "$ipmi_number_of_active_fans$"
description = "Number of fans that should be active"
}
"--fru" = {
set_if = "$ipmi_show_fru$"
description = "Print the product serial number got by ipmi-fru"
}
"--noentityabsent" = {
set_if = "$ipmi_noentityabsent$"
description = "Skip sensor checks for sensors that have 'noentityabsent' as event state"
}
"-vv" = {
set_if = "$ipmi_verbose$"
description = "Be Verbose multi line output, also with additional details for warnings"
}
"-vvv" = {
set_if = "$ipmi_debug$"
description = "Be Verbose debugging output, followed by normal multi line output"
}
"-us" = {
value = "$ipmi_unify_file$"
description = "Path to the unify file to unify sensor names."
}
}
vars.ipmi_address = "$check_address$"
vars.ipmi_protocol_lan_version = "LAN_2_0"
}
/*
* Icinga2 CheckCommand definition for an IPMI interface ping check
*/
template CheckCommand "ipmi-alive-common" {
vars.ping_wrta = 5000.0
vars.ping_wpl = 100
vars.ping_crta = 5000.0
vars.ping_cpl = 100
vars.ping_packets = 1
}
object CheckCommand "ipmi-alive" {
import "ping"
import "ipmi-alive-common"
}