Host Serial Console Logs via Redfish
Spencer Ku (古世瑜)
Spencer.Ku at quantatw.com
Mon Mar 15 19:29:26 AEDT 2021
Hi Nan,
Thank you for the announcement, and here is a little feedback for the introduction.
Hope it will be helpful to you.
On Mon, Mar 08, 2021 at 01:45:00PM -0800, Nan Zhou wrote:
> We found there are some improvements as listed below,
> - Logs are not exposed to Redfish until they reach BUF_MAXSIZE or BUF_MAXTIME
> (defined in https://github.com/openbmc/phosphor-hostlogger), but we want
> to achieve a stream-like console. We could set BUF_MAXSIZE to 1 or BUF_MAXTIME
> to a very short interval, but it will amplify the overhead of compression and
> decompression.
Just remind that hostlogger message can manual flush by trigger signal SIGUSR1.
> - Persistence isn’t optional. phosphor-hostlogger doesn’t expose any IPC interface.
> bmcweb can only talk to phosphor-hostlogger via zip files, which makes persistence of logs a necessary condition.
>
> - Method 1: *D-Bus Signal*; phosphor-hostlogger implements an interface
> which contains a signal. The payload of the signal should contain
> timestamps and log messages. BmcWeb registers as a listener and once it
> receives a signal, it populates a new LogEntry. BmcWeb should implement its
> own configurable ring buffer to store log entries received from D-Bus.
I think this method can be covered by phosphor-hostlogger if we using SIGUSR1 to trigger the message.
But the performance will be a problem.
> - Method 2: *File Watcher*; add file watchers in BmcWeb to monitor the
> log files produced by phosphor-hostlogger. This method is similar to method
> 1. But persistence is still a necessary condition.
> - Method 3: *obmc-console + bmcweb*: install the console collection and
> ring buffer parts of phosphor-hostlogger as a library. Use the library
> directly in BmcWeb to collect console logs.
I prefer to this method, but how to implement the phosphor-hostlogger as a library and install into the existing bmcweb may be a problem.
> - Method 4: *phosphor-hostlogger + journal + rsyslog + bmcweb*: this
> architecture is very similar to what the current OpenBMC uses for
> redfish-event
> <https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fopenbmc%2Fdocs%2Fblob%2Fmaster%2Farchitecture%2Fredfish-logging-in-bmcweb.md&data=04%7C01%7CSpencer.Ku%40quantatw.com%7Cb9cdaaa48d1d4d20771208d8e307e0a5%7C179b032707fc4973ac738de7313561b2%7C1%7C0%7C637508970271861045%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7RwG8tjsFT5NHT6KhdxRcPi6jNJqi7LLV3QuaeoMpd8%3D&reserved=0>.
> Add a new schema for log entries. Publish journal logs in
> phosphor-hostlogger. Add file watchers in BmcWeb to monitor the log files
> produced by rsyslog. rsyslog should have log rotation enabled. Persistence
> is still a necessary condition.
Sincerely,
Spencer Ku
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20210315/9757f6fc/attachment-0001.htm>
More information about the openbmc
mailing list