Telemetry Streaming from OpenBMC
Justin Thaler
thalerj at us.ibm.com
Fri Sep 20 04:19:12 AEST 2019
Hi All,
I’m not sure if this should be a separate note or not. I've also not been
able to join this workgroup, however all of my concerns appear to have
been discussed. . I’ve started reviewing some of the telemetry
conversation for openbmc, and have taken some time review the wiki and
have also reviewed the document proposal. Based on my experience, there’s
two core use cases: telemetry streams, and telemetry reports. The Reports
are a collect and analyze later method, typically used for system
profiling, job profiling, and analytics of data center usage over time.
For the streams, these are being used to allow the data center to react to
changes across the managed systems, like increasing water flow, cooling
capacity, or power throttling systems to prevent over subscriptions on the
data center’s power grid.
I’d like to ask about the streams since the report portion of things seems
exceptionally well covered. With previous versions of openBMC I was able
to leverage websockets to get updates on sensor values on change. This
turned out to be pretty network efficient and is able to drive 1/s updates
on all the sensors in a system. It doesn’t have an impact on other
monitoring services either. That being said, I’ve been reading through the
redfish telemetry and eventing services and was looking for some help and
or guidance. For reference I was looking at this document
https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.6.0.pdf
.
If I do subscribe using SSE and telemetry reports, it seems to be setup to
get a full set of readings over time and only send when the report is
complete. Can I use these reports to get updates every second? If I
subscribe to an endpoint, I also seem to get the entire endpoint and I’m
not sure if this would meet a goal of getting the large cluster (300
systems) worth of updates at a data rate of less than 20 Mb/s. I would
appreciate any advice on leveraging redfish standards to stream sensor
readings for an OpenBMC system. If I'm not able to use redfish, I'd be
happy to elaborate more on the websocket method I used with the phosphor
webserver and discuss options for the current/future BMC versions
leveraging bmcweb.
Thanks,
Justin Thaler
Senior RAS Engineer
More information about the openbmc
mailing list