📜 ⬆️ ⬇️

Monitoring servers with Intel RMM using Zabbix

Historically, in our work we use servers from Intel. And now, when creating an integrated monitoring system, a task has appeared - to remove statistics not only on the operating system, but also on the state of hardware. But the temperature, voltage, rotational speed of coolers and much more on these servers can be obtained from the BMC only through IPMI .
Intel RMM3

Overview


You can order from RM for these purposes RMM (Remote Management Module) modules — modules for remotely managing the server before the operating system is loaded, and in the latest server lines you can also manage with the built-in AMT tools. You can read a bit more in the article by Vasily Lizunov on Intel IT Galaxy
Intel RMM2
We use Zabbix as a monitoring tool. The reason for choosing this product is very simple - no need to collect bicycles. Guidelines for guidance? You are welcome. Want to know the response time of sites? No problem. Alerts? Elementary. And if you want to - then you can remove statistics with switches using SNMP.
And an important advantage - Zabbix can work with IPMI-enabled devices through openipmi libraries. I did not see such functionality in any free monitoring system.

Configure IPMI


The easiest way to configure IPMI on the server is using the ipmitool utility.
~ # ipmitool shell
ipmitool>

We configure the parameters relating to the network. In doing so, we use channel # 1, which is actually the first network interface of the server. RMM intercepts its intended data. You can also use a 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, you need to add -o intelplus to -I lanplus . RMM3 has no such problems, but, for backward compatibility, we will allow users to use IPMI 1.5 protocol with the MD5 authentication mechanism.
ipmitool> lan set 1 access on
ipmitool> lan set 1 auth USER MD5

Add the user zabbix with userid = 2 and the password zabbix:
ipmitool> user set name name 2 zabbix
ipmitool> user set password 2 zabbix
ipmitool> user priv 2 2 1

The last line, the privilege level of the user, has the format
  user priv <user id> <privilege level> <channel number>
 Possible privilege levels are:
    1 Callback level
    2 User level
    3 Operator level
    4 Administrator level
    5 OEM Proprietary level
   15 No access 

And finally, we set up 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

Configuring Zabbix


In order to enable IPMI pollers, you need to uncomment the " StartIPMIPollers = " line in the zabbix server configuration file, indicating the number of processes responsible for collecting information from IPMI (one is usually more than enough). Naturally, you first need to build zabbix with openipmi support (in Gentoo, just add the openipmi USE flag)
In the log when restarting the daemon will be visible:
Starting zabbix_server. Zabbix 1.8.1 (revision 9702).
**** Enabled features ****
IPMI monitoring: YES
...
server # started [IPMI Poller]

Go to 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 is better to specify them, since other monitoring tools such as zabbix-agent will most likely be used.
Set a tick on the item “Use IPMI” and fill in the fields that appear according to the settings specified via ipmitool:
Creating a host
The next step is to create the elements to display. To get a list of available sensors for display, let's 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.
We put it in the configuration of the element:
Creating a sensor


Fill in this way all the sensors of interest and we get something like this:
Creating a sensor

And when switching to “Monitoring -> Latest data” - the values ​​of the sensors.
Then you can do almost anything with this data: draw graphs, create triggers for alerts, build SLA reports and much more from what Zabbix can do.
For example, I have the following patterns:
For RMM2
For RMM3
')
Enjoy your monitoring!

This article is in no way a Definitive Guide, rather a personal presentation of the subject. Accordingly, errors are possible. I would be glad if the community will point to them.

Source: https://habr.com/ru/post/88502/


All Articles