Back to Home

Monitoring servers with Intel RMM using Zabbix

intel · rmm · monitoring · zabbix · ipmi

Monitoring servers with Intel RMM using Zabbix

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

    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
    Intel RMM2
    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 priv 
    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, 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:
    Host creation

    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:
    Sensor creation

    • 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.
    Sensor creation









    Read Next