Monitoring servers with Intel RMM using Zabbix

Overview
For these purposes, Intel can order RMM modules (Remote Management Module) - modules for remote server management before loading the operating system, and in the latest server lines you can get by with the built-in AMT tools. You can read a little more in the article by Vasily Lizunov on Intel IT Galaxy

As a monitoring tool, we use Zabbix. The reason for choosing this product is very simple - no need to assemble bicycles. Charts for guidance? You are welcome. Do you want to know the response time of sites? No problem. Alerts? Elementary. And if you want to, then you can also remove statistics from switches using SNMP.
And an important advantage - Zabbix can work with IPMI-enabled devices through openipmi libraries. I have not seen such functionality in any free monitoring system.
Configure IPMI
The easiest way to configure IPMI on a server is using the ipmitool utility.
~ # ipmitool shell
ipmitool>
Configure network-related settings. In doing so, we use channel # 1, which is actually the first network interface of the server. RMM intercepts data destined for it. You can use the dedicated RMM interface, but this is a matter of personal preference.
ipmitool> lan set 1 ipsrc static
ipmitool> lan set 1 ipaddr 192.168.1.17
ipmitool> lan set 1 netmask 255.255.255.0
ipmitool> lan set 1 defgw ipaddr 192.168.1.10
RMM2 has a problem - it is not fully compatible with the RMCP + standard (IPMI 2.0). When connecting remotely from ipmitool, add -o intelplus to -I lanplus . RMM3 does not have such problems, but, for backward compatibility, we will let users through IPMI 1.5 with the MD5 authentication mechanism.
ipmitool> lan set 1 access on
ipmitool> lan set 1 auth USER MD5
Add the actual zabbix user with userid = 2 and the zabbix password:
ipmitool> user set name 2 zabbix
ipmitool> user set password 2 zabbix
ipmitool> user priv 2 2 1
The last line, user privilege level, has the format
user privPossible privilege levels are: 1 callback level 2 user level 3 Operator level 4 Administrator level 5 OEM Proprietary level 15 No access
And finally, configure the channel and check the ability to log in:
ipmitool> channel setaccess 1 2 callin = on ipmi = on link = on privilege = 2
ipmitool> channel authcap 1 2
ipmitool> user test 2 16 zabbix
Success
Customize Zabbix
In order to enable IPMI-pollers, you need to uncomment the line " StartIPMIPollers = " in the configuration file of the zabbix server, indicating the number of processes responsible for collecting information from IPMI (one is usually more than enough). Naturally, first you need to build zabbix with openipmi support (in Gentoo - just add the openipmi USE flag)
In the log, when the daemon restarts, you will see:
Starting zabbix_server. Zabbix 1.8.1 (revision 9702).
**** Enabled features ****
IPMI monitoring: YES
...
server # started [IPMI Poller]
We go into the web interface, and on the tab “Configuration -> Hosts” create a new host.
The DNS name and IP address parameters are not important in principle, but it’s better to specify them, since, most likely, other monitoring tools, for example zabbix-agent, will be used.
We check the box “Use IPMI” and fill in the fields that appear according to the settings registered through ipmitool: The next step is to create elements for display. To get the list of sensors available for display, we use the same ipmitool:

ipmitool> sdr
BB + 1.1V IOH | 1.09 Volts | ok
BB + 1.1V P1 Vccp | 0.96 Volts | ok
BB + 1.1V P2 Vccp | 0.94 Volts | ok
...
Here the first field is the name of the sensor, the second is the value.
Put this in the configuration of the element:

- Type field - select IPMI Sensor
- Field “IPMI sensor” - record the name of the sensor, as it would be indicated in sdr.
- Field “Key” - any unique key for writing to the database.
We fill in all the sensors of interest in a similar way and get something like this: And when you go to "Monitoring -> Latest data" - the values of the sensors. Further, with this data, you can do almost anything: draw graphs, create alerts triggers, build SLA reports and much more from what Zabbix can do. For example, I got the following patterns: For RMM2 For RMM3 Enjoy monitoring! This article is by no means a Definitive Guide, but rather a personal representation of the subject. Accordingly, errors are possible. I would be glad if the habrasociety points to them.
