Module: check_mk
Branch: master
Commit: 3be8462b961a5d1b3e80f1adbb3a4b05cecdcec2
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=3be8462b961a5d…
Author: Sven Panne <sp(a)mathias-kettner.de>
Date: Fri Apr 13 11:31:51 2018 +0200
Pass grepping filters from CMC to EC.
Change-Id: I048e86414175a8dc292f8e5e504b7c791836b5fd
---
livestatus/src/TableEventConsole.cc | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/livestatus/src/TableEventConsole.cc b/livestatus/src/TableEventConsole.cc
index f3135b6..e9b9c7f 100644
--- a/livestatus/src/TableEventConsole.cc
+++ b/livestatus/src/TableEventConsole.cc
@@ -37,6 +37,14 @@
#include "auth.h"
namespace {
+// NOTE: Keep this in sync with EC code. Ugly...
+std::vector<std::string> grepping_filters = {
+ "event_text", "event_comment", "event_host",
"event_host_regex",
+ "event_contact", "event_application",
"event_rule_id", "event_owner",
+ "event_ipaddress", "event_core_host"
+
+};
+
class ECTableConnection : public EventConsoleConnection {
public:
ECTableConnection(MonitoringCore *mc, const Table &table, Query *query)
@@ -53,6 +61,7 @@ private:
emitOutputFormat(os);
emitColumnsHeader(os);
emitTimeRangeFilter(os);
+ emitGreppingFilter(os);
os << std::endl;
}
@@ -102,6 +111,14 @@ private:
}
}
+ void emitGreppingFilter(std::ostream &os) {
+ for (const auto &column_name : grepping_filters) {
+ if (auto svr = _query->stringValueRestrictionFor(column_name)) {
+ os << "\nFilter: " << column_name << " =
" << *svr;
+ }
+ }
+ }
+
void receiveReply(std::istream &is) override {
bool is_header = true;
std::vector<std::string> headers;