class Fluent::Plugin::RedfishAlertsFilter
Public Instance Methods
alertFilter(record, time)
click to toggle source
def shutdown
# Override this method to use it to free up resources, etc. super
end
# File lib/fluent/plugin/filter_redfish_alerts.rb, line 40 def alertFilter(record, time) record.each do |key, val| # Handling CPU Alerts. GET https://172.16.0.14/redfish/v1/TelemetryService/Triggers/CPUCriticalTrigger + https://172.16.0.14/redfish/v1/TelemetryService/Triggers/TMPCpuCriticalTrigger (starts after CPU0703) if (val == "CPU0000" || val == "CPU0003" || val == "CPU0004" || val == "CPU0006" || val == "CPU0700" || val == "CPU0701" || val == "CPU0702" || val == "CPU0703" || val == "TMP0204" || val == "TMP0201" || val == "TMP0203") tag = "mdm" myRecord = {} myRecord["Namespace"] = "ColomanagerFluentdRedfish" myRecord["Metric"] = "CPUAlert" myRecord["Dimensions"] = {"Region" => "CentralusEUAP", "IP" => record["ip"], "Id" => "#{val}", "Message" => record['Message']} myRecord["Value"] = "1" router.emit(tag, time, myRecord) end # Handling MEM Alerts. GET https://172.16.0.14/redfish/v1/TelemetryService/Triggers/MEMCriticalTrigger if (val == "MEM0003" || val == "MEM0010" || val == "MEM0702" || val == "MEM0002") tag = "mdm" myRecord = {} myRecord["Namespace"] = "ColomanagerFluentdRedfish" myRecord["Metric"] = "MEMAlert" myRecord["Dimensions"] = {"Region" => "CentralusEUAP", "IP" => record["ip"], "Id" => "#{val}", "Message" => record['Message']} myRecord["Value"] = "1" router.emit(tag, time, myRecord) end # Handling NVMe Alerts. GET https://172.16.0.14/redfish/v1/TelemetryService/Triggers/NVMeCriticalTrigger if (val == "PDR117") tag = "mdm" myRecord = {} myRecord["Namespace"] = "ColomanagerFluentdRedfish" myRecord["Metric"] = "NVMeAlert" myRecord["Dimensions"] = {"Region" => "CentralusEUAP", "IP" => record["ip"], "Id" => "#{val}", "Message" => record['Message']} myRecord["Value"] = "1" router.emit(tag, time, myRecord) end # Handling PDR (physical disk) Alerts. GET https://172.16.0.14/redfish/v1/TelemetryService/Triggers/PDRCriticalTrigger if (val == "PDR64" || val == "PDR44" || val == "PDR63" || val == "PDR62" || val == "PDR46" || val == "PDR61" || val == "PDR57" || val == "PDR47" || val == "PDR73" || val == "TMP0127" || val == "TMP0125" || val == "TMP0128") tag = "mdm" myRecord = {} myRecord["Namespace"] = "ColomanagerFluentdRedfish" myRecord["Metric"] = "DiskAlert" myRecord["Dimensions"] = {"Region" => "CentralusEUAP", "IP" => record["ip"], "Id" => "#{val}", "Message" => record['Message']} myRecord["Value"] = "1" router.emit(tag, time, myRecord) end end end
configure(conf)
click to toggle source
config_param works like other plugins
Calls superclass method
# File lib/fluent/plugin/filter_redfish_alerts.rb, line 25 def configure(conf) super # No config needed rn end
filter(tag, time, record)
click to toggle source
# File lib/fluent/plugin/filter_redfish_alerts.rb, line 85 def filter(tag, time, record) alertFilter(record, time) end