Redfish Event Listener in PowerShell

The Redfish specification supports event mechanism through which the target Redfish devices can send events from different components in the system to an event listener. The PSRedfishEventListener project provides an event listener that is create in native PowerShell.

This module contains the following commands.

Command Name Description
Add-PSRedfishEventListenerHttpsBinding This command adds an SSL certificate binding for the HTTPS event listener for Redfish events. This command has the following parameters.
Get-PSRedfishEventSubscription This command gets all the event subscriptions from a Redfish device.
Remove-PSRedfishEventListenerHttpsBinding This command removes all SSL certificate bindings from the local system.
Register-PSRedfishEventSubscription This command registers a redfish device with an event listener. A given redfish can send events to multiple event listeners.
Start-PSRedfishEventListener The Start-PSRedfishListener command starts the Redfish event listener (HTTPS) on the local host. This HTTPS listener requires an SSL certificate binding and it needs to be done as a prerequisite and can be performed using the Add-PSRedfishListenerHttpsBinding command.
Stop-PSRedfishEventListener The Stop-PSRedfishEventListener commands stop the event listener that was started using the Start-PSRedfishEventListener command either locally or on a remote system.
Send-PSRedfishTestEvent As per the Redfish eventing specification, each Redfish device should support submitting a test event to the listener for testing purposes. This is generally used for validation purposes that the Redfish device can indeed send the events to configured destination and the listener can process the received event messages as desired.
Unregister-PSRedfishEventSubscription This command will remove an event subscription from the Redfish device.

Full documentation of these commands with examples is available at: https://psredfishlistener.readthedocs.io/en/latest/

Example Workflow

  1. Start an event listener using the Start-PSRedfishEventListener command.

The above command will start new event listener that is bound to a specific IP address on the local host and to port 9090. The log path will be set to C:\RedfishEvents.

  1. Perform registration on a Redfish Endpoint to send alerts to the listener. This is done using the Register-PSRedfishEventSubscription command.

The above command will register (create an event subscription) Redfish device 172.16.100.21 to send all event types to listener at https://172.16.102.76.

  1. Test event subscription using the Send-PSRedfishTestEvent.

The above command will submit a test event from Redfish device with an IP address 172.16.100.21 to the event listener at 172.16.102.76. The event type and message ID will be set to the defaults defined by the function.

4.Stop the event listener using the Stop-PSRedfishEventListener command.

I have a few new features lined up for the next release. Similar to PowerShell object events, with the upcoming release, you will be able to tag an action associated to a specific event type from all Redfish device source or a specific source.

 

About the author: Ravikanth C

Ravikanth is the founder and editor of the PowerShell Magazine. He is also a PowerShell MVP who works at Dell Inc. He blogs at http://www.ravichaganti.com/blog and you can follow him on Twitter @ravikanth.

Related Posts

%d bloggers like this: