Fw: RE: Telemetry Streaming from OpenBMC
Justin Thaler
thalerj at linux.vnet.ibm.com
Thu Oct 24 07:13:28 AEDT 2019
On 10/23/19 4:14 AM, Matuszczak, Piotr wrote:
> One more thing that I missed earlier. If you set up metric report and SSE subscription as it is described below, you will receive server-sent events with metric report updates at defined interval (in your example it will be every 1 second).
>
> -----Original Message-----
> From: openbmc [mailto:openbmc-bounces+piotr.matuszczak=intel.com at lists.ozlabs.org] On Behalf Of Matuszczak, Piotr
> Sent: Wednesday, October 23, 2019 11:00 AM
> To: Justin Thaler <thalerj at linux.vnet.ibm.com>
> Cc: Paul.Vancil at dell.com; openbmc at lists.ozlabs.org; viswha at linux.vnet.ibm.com; neladk at microsoft.com; gmills at linux.vnet.ibm.com; vijaykhemka at fb.com; rosedahl at us.ibm.com
> Subject: RE: Fw: RE: Telemetry Streaming from OpenBMC
>
>> 1. Create a metric report. This report should defined against the appropriate sensors, with a sample rate set to 1/s, and a duration of 1s?
>
> Exactly. You just set the MetricReportDefinitionType to Periodic in the Metric Report Definition and proper RecurrenceInterval.
>
>> 2. Push the telemetry report to the BMC using RedFish.
>
> Metric Report will be generated by the Monitoring Service automatically, after its definition through the Redfish. If you want to push it out as a Redfish event you should set the ReportActions property in the Metric Report Definition to "RedfishEvent".
>
>> 3. Create a new SSE subscription.
>
> Yes, if you have metric report defined as above, you should be able to receive Redfish Events with metric reports as soon as this feature is implemented, because as far as I know, neither the Event Service and Telemetry Service is not implemented yet. Both designs are in review.
>
Thanks Piotr, this is very useful!
Justin Thaler
> -----Original Message-----
> From: Justin Thaler [mailto:thalerj at linux.vnet.ibm.com]
> Sent: Tuesday, October 22, 2019 8:47 PM
> To: Matuszczak, Piotr <piotr.matuszczak at intel.com>
> Cc: kunyi at google.com; openbmc at lists.ozlabs.org; Paul.Vancil at dell.com; neladk at microsoft.com; gmills at linux.vnet.ibm.com; viswha at linux.vnet.ibm.com; rosedahl at us.ibm.com; vijaykhemka at fb.com
> Subject: Re: Fw: RE: Telemetry Streaming from OpenBMC
>
>
>> From: "Matuszczak, Piotr" <piotr.matuszczak at intel.com>
>> To: 'Justin Thaler' <thalerj at us.ibm.com>, "kunyi at google.com"
>> <kunyi at google.com>, "vijaykhemka at fb.com" <vijaykhemka at fb.com>,
>> "OpenBMC Maillist" <openbmc at lists.ozlabs.org>, "Paul.Vancil at dell.com"
>> <Paul.Vancil at dell.com>, "neladk at microsoft.com" <neladk at microsoft.com>,
>> "gmills at linux.vnet.ibm.com" <gmills at linux.vnet.ibm.com>, vishwa
>> <vishwa at linux.vnet.ibm.com>
>> Cc: Todd Rosedahl <rosedahl at us.ibm.com>
>> Date: 10/01/2019 11:10 AM
>> Subject: [EXTERNAL] RE: Telemetry Streaming from OpenBMC
>>
>>
>>
>> Hi,
>>
>> Sorry for the late response. For now streaming shall be supported by
>> the Redfish telemetry service. Every metric report can be configured
>> to be pushed out as the redfish event. Currently this is work in progress.
>
> Thanks for the response! I guess I'm still a bit confused about the telemetry service in general. If I wanted to get an update on all metric sensors at a rate of 1/s I think I should do the following at a high level.
>
> 1. Create a metric report. This report should defined against the appropriate sensors, with a sample rate set to 1/s, and a duration of 1s?
>
> 2. Push the telemetry report to the BMC using RedFish.
>
> 3. Create a new SSE subscription.
>
> This is at least my very rudimentary understanding on the subject. I was hoping someone could add some clarity here, more specifically, how do I get continual updates after setting up the subscription? I do apologize as this isn't very clear to me, even after reading over the telemetry reports, telemetry service documentation from the DMTF, and the direction of this workgroup. I would greatly appreciate any help I can get as well!
>
> Thanks,
> Justin Thaler
>
>> BR
>> Piotr Matuszczak
>>
>>
>> -----Original Message-----
>> From: openbmc
>> [mailto:openbmc-bounces+piotr.matuszczak=intel.com at lists.ozlabs.org]
>> On Behalf Of Justin Thaler
>> Sent: Thursday, September 19, 2019 8:19 PM
>> To: kunyi at google.com; vijaykhemka at fb.com; OpenBMC Maillist
>> <openbmc at lists.ozlabs.org>; Paul.Vancil at dell.com;
>> neladk at microsoft.com; gmills at linux.vnet.ibm.com; vishwa
>> <vishwa at linux.vnet.ibm.com>
>> Cc: Todd Rosedahl <rosedahl at us.ibm.com>
>> Subject: Telemetry Streaming from OpenBMC
>>
>> 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.p
>>
>> df
>> .
>>
>> 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