自动发现中监控项原型使用多个值组合成一个新的键值。
这里咱们以华为RH5885V3的内存为例:ide
咱们先walk出要用来做为组合键值的值,咱们称之为VALUE。而OID节点后面延伸出来的数值,例如.一、.二、.3这种,咱们称之为INDEX。组合键值的关键点就在INDEX上,只有INDEX的值同样,才能够进行键值的组合。
下图是memoryLocation这个节点walk出来的结果。
下图为memoryDevicename这个节点walk出来的结果。
接下来是在内存的自动发现添加上这两个节点,表达式以下:
表达式:
discovery[{#SNMPVALUE},.1.3.6.1.4.1.2011.2.235.1.1.16.50.1.8,{#MEMORY},.1.3.6.1.4.1.2011.2.235.1.1.16.50.1.10]
这里将1.3.6.1.4.1.2011.2.235.1.1.16.50.1.8这个节点walk的结果赋值给{#SNMPVALUE}这个宏,将.1.3.6.1.4.1.2011.2.235.1.1.16.50.1.10这个节点walk的结果赋值给{#MEMORY}这个宏。宏是能够自定义的,我这里叫{#MEMORY},也能够叫作{#NAME}或者其余。
而后咱们添加监控项原型,Name这里能够直接写$1引用key里面的{#SNMPVALUE}跟{#MEMORY},也能够像我这样写上去。zabbix在4.0如下版本支持$1这个参数,4.0开始就不支持这么写了。
查看最新数据出来的结果: blog