EventService: Add event log support with inotify
Add event logs support
- Event log monitor by adding inotify on redfish log file.
- Read event logs from "/var/log/redfish" file.
- Filter the event logs using configured settings.
- Format the event log data as per Events schema.
- Send event log information to subcribed client.
Tested:
- Added new event log subscription with filters
and verified the event logs on event listener.
- Ran redfish validater successfully.
- Disabled BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
and build successful.
Event on listener looks as below:
{
"@odata.type":"#Event.v1_4_0.Event",
"Events":[
{
"Context":"CustomText",
"EventId":"94787",
"EventTimestamp":"1970-01-02T02:19:47+00:00",
"EventType":"Event",
"Message":"Memory ThermTrip asserted: .",
"MessageArgs":[
""
],
"MessageId":"OpenBMC.0.1.MemoryThermTrip",
"Severity":"Critical"
}
],
"Id":"3",
"Name":"Event Log"
}
Change-Id: Ie87322ff59f9f7caa26fb18d2e3b8d7af77ec540
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
diff --git a/src/webserver_main.cpp b/src/webserver_main.cpp
index 4bdf880..2763991 100644
--- a/src/webserver_main.cpp
+++ b/src/webserver_main.cpp
@@ -115,6 +115,15 @@
redfish::RedfishService redfish(app);
+#ifndef BMCWEB_ENABLE_REDFISH_DBUS_LOG_ENTRIES
+ int rc = redfish::EventServiceManager::startEventLogMonitor(*io);
+ if (rc)
+ {
+ BMCWEB_LOG_ERROR << "Redfish event handler setup failed...";
+ return rc;
+ }
+#endif
+
app.run();
io->run();