FortiGate
FortiGate Next Generation Firewall utilizes purpose-built security processors and threat intelligence security services from FortiGuard labs to deliver top-rated protection and high performance, including encrypted traffic.
pciurea
Staff
Staff
Article Id 200666

Description

 

This article describes a general way to poll different types of FortiGates with IPMI sensors for PS and fan values using SNMP.

 

Scope

 

FortiGates with IPMI Sensor.

The official list of units that have the IPMI Sensor can be found by searching for "FortiOS Feature/Platform Matrix".

The newer models are available in the documents with newer FortiOS versions (as they were released).

 

v7.4:
FortiGate FortiOS V6.4.5 Feature/Platform Matrix

(additional versions can be downloaded by changing the version on this page).

 

Solution

 

As different FortiGates have different numbers of PSU/Fans, to get every OID via CLI, it is necessary to:

 

  1. Run an SNMP walk for OID .1.3.6.1.4.1.12356.101.4.3.2.1.2 to get the Sensor description.

This is a command example:

 

snmpwalk -v1 -c fortinetsnmp 192.168.1.1 1.3.6.1.4.1.12356.101.4.3.2.1.2

 

  1. Run an SNMP walk for OID .1.3.6.1.4.1.12356.101.4.3.2.1.3 to get the Sensor value.

This is a command example:

 

snmpwalk -v1 -c fortinetsnmp 192.168.1.1 1.3.6.1.4.1.12356.101.4.3.2.1.3


Example output on other devices (IPMI sensors present):

Get Description:


iso.3.6.1.4.1.12356.101.4.3.2.1.2.1 = STRING: "+VCC3"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.2 = STRING: "+VCC5"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.3 = STRING: "+VCC12"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.4 = STRING: "DVDD10"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.5 = STRING: "NP6_1V15_1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.6 = STRING: "DDR3_VCC1V5_1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.7 = STRING: "NP6_2V5_1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.8 = STRING: "VCC10_CP9"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.9 = STRING: "P3V3_I/O"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.10 = STRING: "NP6_P3V3"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.11 = STRING: "P1V05_PCH"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.12 = STRING: "VTT_DDR"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.13 = STRING: "VCCSA"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.14 = STRING: "VCCIO"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.15 = STRING: "+VCORE"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.16 = STRING: "VCC_DDR"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.17 = STRING: "VPP_DDR"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.18 = STRING: "VCCST"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.19 = STRING: "CPU DTS0"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.20 = STRING: "TD1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.21 = STRING: "TD2"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.22 = STRING: "TR3"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.23 = STRING: "LM75 U75"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.24 = STRING: "LM75 U78"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.25 = STRING: "LM75 U79"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.26 = STRING: "LM75 U76"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.27 = STRING: "Fan 1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.28 = STRING: "Fan 2"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.29 = STRING: "Fan 4"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.30 = STRING: "PS1 VIN"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.31 = STRING: "PS1 VOUT_12V"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.32 = STRING: "PS1 Temp 1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.33 = STRING: "PS1 Temp 2"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.34 = STRING: "PS1 Fan 1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.35 = STRING: "PS1 Status"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.36 = STRING: "PS2 VIN"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.37 = STRING: "PS2 VOUT_12V"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.38 = STRING: "PS2 Temp 1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.39 = STRING: "PS2 Temp 2"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.40 = STRING: "PS2 Fan 1"
iso.3.6.1.4.1.12356.101.4.3.2.1.2.41 = STRING: "PS2 Status"

 

Get Values:


iso.3.6.1.4.1.12356.101.4.3.2.1.3.1 = STRING: "3.2896"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.2 = STRING: "5.0172"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.3 = STRING: "11.976"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.4 = STRING: "1.0114"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.5 = STRING: "1.1533"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.6 = STRING: "1.4758"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.7 = STRING: "2.4918"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.8 = STRING: "1.1533"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.9 = STRING: "3.2896"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.10 = STRING: "3.2896"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.11 = STRING: "1.04"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.12 = STRING: "0.592"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.13 = STRING: "1.04"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.14 = STRING: "0.944"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.15 = STRING: "0.992"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.16 = STRING: "1.184"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.17 = STRING: "2.464"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.18 = STRING: "1.024"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.19 = STRING: "40"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.20 = STRING: "32"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.21 = STRING: "37"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.22 = STRING: "32"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.23 = STRING: "27"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.24 = STRING: "33"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.25 = STRING: "30"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.26 = STRING: "30"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.27 = STRING: "6400"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.28 = STRING: "6600"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.29 = STRING: "4600"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.30 = STRING: "230"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.31 = STRING: "12.032"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.32 = STRING: "21"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.33 = STRING: "24"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.34 = STRING: "6272"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.35 = STRING: "0"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.36 = STRING: "-1"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.37 = STRING: "-1"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.38 = STRING: "-1"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.39 = STRING: "-1"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.40 = STRING: "-1"
iso.3.6.1.4.1.12356.101.4.3.2.1.3.41 = STRING: "-1"

 

This way, it is possible to correlate descriptions with values and configure in the monitoring system the correct OID for the value.

 

This is only specific to FortiGates.

Other Fortinet units do not have the same OID structure.


A threshold for the values can be obtained using 'exec sensor detail' for each model that supports it through the CLI.

Note that the output for this command can show temperature or other values even for the lower-end units that have no IPMI sensors (any FortiGate unit below 300-Series), but basic on-board sensors. These sensors can return CLI output, but cannot be addressed via SNMP and return values.