Zabbix:IPMIセンサーのLLD監視



みなさん、こんにちは、私の名前はアンドレイです。 そして、私は鉄が大好きです。 モニタリングも大好きです。 そして最後に、IPMIと他のアダルトテクノロジーを備えた実サーバーが私の人生に登場しました。 そして、私はもっとあることを願っています。 それが私が普遍的な解決策を探す動機となった理由です。 IPMIセンサーのLLD検出。



箱から何を取り出しますか:





さて、次のようになります。




必要な合計:



  1. Bashスクリプト
  2. 模様
  3. アイテムの名前を変更するためのドキュメントまたはインターネット


最初に、ipmitoolユーティリティがインストールされた準備済みの動作中のZabbix 3.2サーバー、設定済みのIPMIホストが必要であることを明確にします。



スクリプト



外部チェックとしてサーバー上で実行されるため、サーバー構成で指定されているexternalscriptsフォルダーに配置する必要があります。 Ubuntuのデフォルトは/ usr / lib / zabbix / externalscriptsです。 このスクリプトを実行する適切な権限を設定することを忘れないでください。



ipmi.sh
#!/bin/bash
# 2017/06/08 AcidVenom v1
# IPMI Zabbix
#
# :
IFS=$'\n'
JSON="{\"data\":["
SEP=""
sensors=`ipmitool -I lanplus -H $1 -L $2 -U $3 -P $4 sensor | grep "$5"`
for sensor in $sensors
do
ID=`echo $sensor | sed "s/ *|.*//"`
NAME=`echo $ID | sed "s/.*/\U&/" | sed "s/+//g" | sed "s/ /_/g"`
LU=`echo $sensor | cut -c 54-63 | sed "s/ //g"`
LC=`echo $sensor | cut -c 66-75 | sed "s/ //g"`
LNC=`echo $sensor | cut -c 78-87 | sed "s/ //g"`
UNC=`echo $sensor | cut -c 90-99 | sed "s/ //g"`
UC=`echo $sensor | cut -c 102-111 | sed "s/ //g"`
UU=`echo $sensor | cut -c 114-123 | sed "s/ //g"`
STATUS=`echo $sensor | cut -c 46-51 | sed "s/ //g"`
JSON=$JSON"$SEP{\"{#ID}\":\"$ID\", \"{#NAME}\":\"$NAME\", \"{#LU}\":\"$LU\", \"{#LC}\":\"$LC\", \"{#LNC}\":\"$LNC\", \"{#UNC}\":\"$UNC\", \"{#UC}\":\"$UC\", \"{#UU}\":\"$UU\", \"{#STATUS}\":\"$STATUS\"}"
SEP=", "
done
JSON=$JSON"]}"
echo $JSON
view raw ipmi.sh hosted with ❤ by GitHub




模様



接続されたノードごとに、4つのマクロ、つまり{$ IPMIIP}、{$ IPMIPRIV}、{$ IPMIUSER}、{$ IPMIPASS}を指定する必要があります。 これらの値は直感的ですが、{$ IPMIPRIV}だけがユーザーロール(ADMIN、USERなど)であることを除きます。 Zabbixにはこの点に関して標準マクロがないため、それらを作成する必要があります。 おそらく将来的には登場するでしょう。



前の記事と同様に、テンプレートの機能は、マクロ{$ {#X}}の二重変換です。 センサーの名前を読み取り可能なものに置き換えることができます。 同意して、「BIOSバッテリー電圧」は「BB_3.3V_VBAT電圧」よりも見栄えが良いです。



このために必要なことは、対応するマクロをフォームのテンプレートリストに追加することだけです。



{$ CPU1_TEMPERATURE} = CPU1



リストにはすでにIntel S1200とAsus RS300のいくつかの変換があります。



いくつかのカット
BB-ベースボード

VR-電圧レギュレータ

SSB-サーバーサウスブリッジ



模様
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>3.2</version>
<date>2017-06-13T07:58:22Z</date>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<templates>
<template>
<template>IPMI - Sensors</template>
<name>IPMI - Sensors</name>
<description> IPMI :&#13;
, , &#13;
&#13;
ipmi.sh&#13;
&#13;
():&#13;
{$IPMIIP} - IP- &#13;
{$IPMIPRIV} - &#13;
{$IPMIUSER} - &#13;
{$IPMIPASS} - &#13;
</description>
<groups>
<group>
<name>Templates</name>
</group>
</groups>
<applications>
<application>
<name></name>
</application>
</applications>
<items/>
<discovery_rules>
<discovery_rule>
<name></name>
<type>10</type>
<snmp_community/>
<snmp_oid/>
<key>ipmi.sh[{$IPMIIP},{$IPMIPRIV},{$IPMIUSER},{$IPMIPASS},degrees]</key>
<delay>3600</delay>
<status>0</status>
<allowed_hosts/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<delay_flex/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<filter>
<evaltype>0</evaltype>
<formula/>
<conditions/>
</filter>
<lifetime>30</lifetime>
<description/>
<item_prototypes>
<item_prototype>
<name> {${#NAME}}</name>
<type>12</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>ipmi.temp.[{#NAME}]</key>
<delay>60</delay>
<history>90</history>
<trends>180</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units>°C</units>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor>{#ID}</ipmi_sensor>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name></name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
<application_prototypes/>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&gt;{#UNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&gt;{#UC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&lt;{#LC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&lt;{#LNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&gt;{#UU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>5</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.temp.[{#NAME}].last()}&lt;{#LU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes/>
<host_prototypes/>
</discovery_rule>
<discovery_rule>
<name></name>
<type>10</type>
<snmp_community/>
<snmp_oid/>
<key>ipmi.sh[{$IPMIIP},{$IPMIPRIV},{$IPMIUSER},{$IPMIPASS},RPM]</key>
<delay>3600</delay>
<status>0</status>
<allowed_hosts/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<delay_flex/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<filter>
<evaltype>0</evaltype>
<formula/>
<conditions/>
</filter>
<lifetime>30</lifetime>
<description/>
<item_prototypes>
<item_prototype>
<name> {${#NAME}}</name>
<type>12</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>ipmi.fan.[{#NAME}]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>3</value_type>
<allowed_hosts/>
<units/>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor>{#ID}</ipmi_sensor>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name></name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
<application_prototypes/>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&gt;{#UNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&gt;{#UC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&lt;{#LC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&lt;{#LNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&lt;{#LU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.fan.[{#NAME}].last()}&gt;{#UU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>5</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes/>
<host_prototypes/>
</discovery_rule>
<discovery_rule>
<name></name>
<type>10</type>
<snmp_community/>
<snmp_oid/>
<key>ipmi.sh[{$IPMIIP},{$IPMIPRIV},{$IPMIUSER},{$IPMIPASS},Volts]</key>
<delay>3600</delay>
<status>0</status>
<allowed_hosts/>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<delay_flex/>
<params/>
<ipmi_sensor/>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<filter>
<evaltype>0</evaltype>
<formula/>
<conditions/>
</filter>
<lifetime>30</lifetime>
<description/>
<item_prototypes>
<item_prototype>
<name> {${#NAME}}</name>
<type>12</type>
<snmp_community/>
<multiplier>0</multiplier>
<snmp_oid/>
<key>ipmi.volt.[{#NAME}]</key>
<delay>60</delay>
<history>90</history>
<trends>365</trends>
<status>0</status>
<value_type>0</value_type>
<allowed_hosts/>
<units>V</units>
<delta>0</delta>
<snmpv3_contextname/>
<snmpv3_securityname/>
<snmpv3_securitylevel>0</snmpv3_securitylevel>
<snmpv3_authprotocol>0</snmpv3_authprotocol>
<snmpv3_authpassphrase/>
<snmpv3_privprotocol>0</snmpv3_privprotocol>
<snmpv3_privpassphrase/>
<formula>1</formula>
<delay_flex/>
<params/>
<ipmi_sensor>{#ID}</ipmi_sensor>
<data_type>0</data_type>
<authtype>0</authtype>
<username/>
<password/>
<publickey/>
<privatekey/>
<port/>
<description/>
<inventory_link>0</inventory_link>
<applications>
<application>
<name></name>
</application>
</applications>
<valuemap/>
<logtimefmt/>
<application_prototypes/>
</item_prototype>
</item_prototypes>
<trigger_prototypes>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&gt;{#UNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&lt;{#LC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>3</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&gt;{#UC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&lt;{#LNC}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>2</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&gt;{#UU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>5</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
<trigger_prototype>
<expression>{IPMI - Sensors:ipmi.volt.[{#NAME}].last()}&lt;{#LU}</expression>
<recovery_mode>0</recovery_mode>
<recovery_expression/>
<name> {${#NAME}} {HOST.NAME}!</name>
<correlation_mode>0</correlation_mode>
<correlation_tag/>
<url/>
<status>0</status>
<priority>4</priority>
<description/>
<type>0</type>
<manual_close>0</manual_close>
<dependencies/>
<tags/>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes/>
<host_prototypes/>
</discovery_rule>
</discovery_rules>
<httptests/>
<macros>
<macro>
<macro>{$3.3V}</macro>
<value>+3.3</value>
</macro>
<macro>
<macro>{$3.3VSB}</macro>
<value>+3.3SB</value>
</macro>
<macro>
<macro>{$5V}</macro>
<value>+5V</value>
</macro>
<macro>
<macro>{$5VSB}</macro>
<value>+5SB</value>
</macro>
<macro>
<macro>{$12V}</macro>
<value>+12V</value>
</macro>
<macro>
<macro>{$BB_3.3V_VBAT}</macro>
<value> BIOS</value>
</macro>
<macro>
<macro>{$BB_12.0V}</macro>
<value>+12V</value>
</macro>
<macro>
<macro>{$BB_BMC_TEMP}</macro>
<value>BMC</value>
</macro>
<macro>
<macro>{$CPU1_TEMPERATURE}</macro>
<value>CPU1</value>
</macro>
<macro>
<macro>{$CPU2_TEMPERATURE}</macro>
<value>CPU2</value>
</macro>
<macro>
<macro>{$CPU_FAN1}</macro>
<value>CPU1</value>
</macro>
<macro>
<macro>{$CPU_FAN2}</macro>
<value>CPU2</value>
</macro>
<macro>
<macro>{$FRNT_FAN1}</macro>
<value>Front1</value>
</macro>
<macro>
<macro>{$FRNT_FAN2}</macro>
<value>Front2</value>
</macro>
<macro>
<macro>{$FRNT_FAN3}</macro>
<value>Front3</value>
</macro>
<macro>
<macro>{$FRNT_FAN4}</macro>
<value>Front4</value>
</macro>
<macro>
<macro>{$FRONT_PANEL_TEMP}</macro>
<value> </value>
</macro>
<macro>
<macro>{$PROCESSOR_1_FAN}</macro>
<value>CPU1</value>
</macro>
<macro>
<macro>{$PROCESSOR_2_FAN}</macro>
<value>CPU2</value>
</macro>
<macro>
<macro>{$PROCESSOR_3_FAN}</macro>
<value>CPU3</value>
</macro>
<macro>
<macro>{$PROCESSOR_4_FAN}</macro>
<value>CPU4</value>
</macro>
<macro>
<macro>{$SSB_TEMP}</macro>
<value>SB</value>
</macro>
<macro>
<macro>{$SYSTEM_FAN_1}</macro>
<value>System1</value>
</macro>
<macro>
<macro>{$SYSTEM_FAN_2}</macro>
<value>System2</value>
</macro>
<macro>
<macro>{$SYSTEM_FAN_3}</macro>
<value>System3</value>
</macro>
<macro>
<macro>{$SYSTEM_FAN_4}</macro>
<value>System4</value>
</macro>
<macro>
<macro>{$VBAT}</macro>
<value> BIOS</value>
</macro>
<macro>
<macro>{$VCORE1}</macro>
<value>CPU1</value>
</macro>
<macro>
<macro>{$VCORE2}</macro>
<value>CPU2</value>
</macro>
</macros>
<templates/>
<screens/>
</template>
</templates>
</zabbix_export>
view raw IPMI - Sensors.xml hosted with ❤ by GitHub




フィルタリングについて少し



すべてのセンサーを読み取る必要はありませんが、これは事実です。 たとえば、なぜ温度に合計マージン(Agg Margin)が必要なのですか? このような場合、検出ごとにフィルターがあります。 しかし、残念ながら、「一致しない」モードに切り替えることはできません。 可能な解決策は、グローバルな正規表現を使用することです(結果FALSE)。 @記号が付いた式の名前がフィルターに追加されます。



IPMI-FAN、IPMI-VOLT、IPMI-TEMP(これらはテンプレートに該当しません):私が自分のために行った発見のそれぞれについて。



IPMI-FAN、IPMI-VOLT、IPMI-TEMP








トリガーについて少し



トリガー条件の値は、SDR、つまりコントローラー自体から取得されます。 SDRフィールドには、6つのしきい値列が含まれます:危険度の低い、危険度の低い、危険度の低い、危険度の高い、危険度の高い、危険度の高い。 いずれかのフィールドの値が欠落している場合、トリガーは作成されません。 私見、トリガーを変更する最も論理的な方法は、デバイスのSDRフィールドをニーズに合わせて変更することです。 これを行う方法-コントローラーまたはMPの指示をお読みください。



合計



私のzabbix-ソリューションバイクと定期的に変更します。 この記事では、スターターテンプレートを紹介します。 また、スケーラビリティのためにわずかなマージンで開発されました。 たとえば、ipmi.shキー[..]の最後の変数を置き換えると、電源、エアフロー、およびその他のインジケーターをオフにできます。 アプリケーションはあなたの創意工夫によって制限されます。



All Articles