Details
-
Improvement
-
Resolution: Done
-
Major
-
None
-
None
Description
Hazelnut currently performs checks only on the message field of the logs that fluent-bit parses.
There is a need to add functionality to check custom fields parsed from logs to compare time and match strings. This will give hazelnut the flexibility to perform extended number of checks without using agent native code.
Example:
2022-04-19T11:09:53.186Z DEBUG (hazelnut) Got some data {"raw": {"caller":"main.go:895","couchbase":{"cluster":"cmos-test","node":"localhost"},"file":"prometheus.log","file_path":"/opt/couchbase/var/lib/couchbase/logs","filename":"/opt/couchbase/var/lib/couchbase/logs/prometheus.log","hostname":"localhost","level":"info","logshipper":"couchbase.sidecar.fluentbit","message":"Completed loading of configuration file","message_filename":"/opt/couchbase/var/lib/couchbase/config/prometheus.yml","notify":"941ns","notify_sd":"1.026µs","query_engine":"1.273µs","remote_storage":"1.892µs","rules":"420.756µs","scrape":"797.645231ms","scrape_sd":"104.064µs","timestamp":"2022-04-19T11:09:51.802Z","totalDuration":"798.751177ms","web_handler":"53.067µs"}} |
For this log output, we can only check the message field, but many other fields like `totalDuration` are important and can be used to trigger a checker.