freeipmi-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-users] how i configure pef using free-ipmi?


From: Albert Chu
Subject: Re: [Freeipmi-users] how i configure pef using free-ipmi?
Date: Fri, 17 Mar 2017 11:39:26 -0700

On Fri, 2017-03-17 at 17:48 +0900, 손서락 wrote:
> my ultimate goal is *if some event are created, send(alert) event's
> information to other program*
> for example, event message about power off is created, send(alert)  event
> information to program which i programmed,

So this is non-trivial setup.  And it is also dependent on your
motherboard (i.e. it perhaps does not do power off events).  But lets
see if I can't help you get going.  Beyond what I list here, some
knowledge of IPMI internals will be necessary (chapter 17 and 42 are key
starting points).

As an alternate, you may wish to consider using ipmi-seld for
monitoring.  It may be easier than this process (here's a plug for my
stackoverflow answer:
http://stackoverflow.com/questions/12505676/script-to-monitor-ipmi-sel-in-real-time/12517475#12517475)

> first thing i should do to this process configuring pef-config
> but i can't find how to do.
> so *please show me sample pef configure  when power off event is generated,
> send alert to my program*

I haven't done this in awhile, so hopefully I get all of this right.
First configure an alert destination.

Section Lan_Alert_Destination_0
        Alert_Destination_Type                        PET_Trap
        Alert_Acknowledge                             Yes
        Alert_Acknowledge_Timeout                     30
        Alert_Retries                                 2
        Alert_Gateway                                 Default
        Alert_IP_Address                              192.168.1.2
        Alert_MAC_Address                             00:00:00:00:00:00
EndSection

Timeout & retries are whatever you want.  Gateway/IP/MAC per your
system.

Then set up an alert string.

Section Alert_String_0
        Event_Filter_Number                           3
        Alert_String_Set                              3
        Alert_String                                  mystring
EndSection

Then set up a policy.

Section Alert_Policy_1
        Policy_Type                                   
Always_Send_To_This_Destination
        Policy_Enabled                                Yes
        Policy_Number                                 1
        Destination_Selector                          1
        Channel_Number                                1
        # This matches string set above
        Alert_String_Set_Selector                     3
        Event_Specific_Alert_String                   No
EndSection

On your system "Channel number" could be different for LAN, see bmc-info
to make sure it's the right one.

then setup an event filter for what you want

Section Event_Filter_1
        Filter_Type                                   Software_Configurable
        Enable_Filter                                 Yes
        Event_Filter_Action_Alert                     Yes
        Event_Filter_Action_Power_Off                 No
        Event_Filter_Action_Reset                     No
        Event_Filter_Action_Power_Cycle               No
        Event_Filter_Action_Oem                       No
        Event_Filter_Action_Diagnostic_Interrupt      No
        Event_Filter_Action_Group_Control_Operation   No
        # Match this to policy above
        Alert_Policy_Number                           1
        Group_Control_Selector                        0
        Event_Severity                                Critical
        Generator_Id_Byte_1                           0xFF
        Generator_Id_Byte_2                           0xFF
        # Power_Unit is for power on/off events
        Sensor_Type                                   Power_Unit
        Sensor_Number                                 0xFF
        # 6F means sensor specific event
        Event_Trigger                                 0x6F
        # "power off" is bit 1
        Event_Data1_Offset_Mask                       0x01
        Event_Data1_AND_Mask                          0x00
        Event_Data1_Compare1                          0xFF
        Event_Data1_Compare2                          0x00
        Event_Data2_AND_Mask                          0x00
        Event_Data2_Compare1                          0xFF
        Event_Data2_Compare2                          0x00
        Event_Data3_AND_Mask                          0x00
        Event_Data3_Compare1                          0xFF
        Event_Data3_Compare2                          0x00
EndSection

> second,
> 
> *To send alert to my program, do i need snmp trap daemon??*
> *and do i use ipmi-pet ??*

No, the BMC sends the alert.  the snmpd daemon is used to receive it on
the other side.

ipmi-pet is only used for parsing the results of a SNMP trap (although
you'd probably want to use the wrapper script
https://www.gnu.org/software/freeipmi/petalert.pl).

> third,
> when i use ipmitool,
> i can see pef list using ipmitool pef list cmd (of course, current pef list
> is null)
> then in freeipmi,* does freeipmi  exists command like "ipmitool pef list"??*
> when i typing ipmi-pef-confg --checkout
> so many output are shown but, i can't under stand what they mean

Yes, the "Event Filters" in ipmi-pef-config --checkout equate to the
"ipmitool pef list".

The details are really IPMI specific.  You might have just as much
trouble understanding the ipmitool output (I can't figure it out just
looking at it).

> ipmitool pef list  
1 | active | 0x11 | Temperature | Any | Critical | Threshold |
(0x01/0x0204),<LC,<UC | None
 2 | active | 0x11 | Temperature | Any | Warning | Threshold |
(0x01/0x0081),<LNC,<UNC | None
...

Al

> Regards
> _______________________________________________
> Freeipmi-users mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/freeipmi-users

-- 
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory





reply via email to

[Prev in Thread] Current Thread [Next in Thread]