公司使用的防火墙是FortiGate 80C,现在要使用Zabbix通过SNMP方式监控它的状态。
在编译安装zabbix需要加上--with-net-snmp 参数
首先需要在防火墙上开启SNMP,然后在Zabbix添加一个host
参考文档
https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/snmp
使用snmpwalk获取一系列SNMP字符串
$ snmpwalk -v 2c -c public 10.10.41.254
从输出的结果中找到想要监控的MIB字符串
例如想要监控防护墙第一个端口的进入流量字节数可以用 IF-MIB::ifInOctets.1 表示
IF-MIB::ifInOctets.1 = Counter32: 2783656129
使用snmpget获取 IF-MIB::ifInOctets.1 的OID
$ snmpget -v 2c -c public -On 10.10.41.254 IF-MIB::ifInOctets.1
.1.3.6.1.2.1.2.2.1.10.1 = Counter32: 3315277927
这个OID的最后一个数字是防火墙的端口号
想要通过SNMP监控各种设置关键是要获取各个监控参数的OID
在http://support.fortinet.com 网站上下载FortiGate的MIB文件FORTINET-FORTIGATE-MIB.mib
cp FORTINET-FORTIGATE-MIB.mib /usr/share/snmp/mibs/
cd /usr/share/snmp/mibs/
mv FORTINET-FORTIGATE-MIB.mib FORTINET-FORTIGATE-MIB.txt
使用snmptranlate查看OID
也可以参考手册http://docs-legacy.fortinet.com/fos40hlp/43/wwhelp/wwhimpl/js/html/wwhelp.htm?context=fgt&topic=default&single=true