From f90dbf9b7743083b1116e8b66ec2ad17ac022c44 Mon Sep 17 00:00:00 2001 From: Samuel Gaist Date: Tue, 16 Apr 2024 09:21:48 +0200 Subject: [PATCH] refactor(metrics): use prometheus_metrics_enabled for configuration As agreed upon during review, use this name to get started. If more backends were to be added, the configuration structure will be updated. Signed-off-by: Samuel Gaist --- falco.yaml | 4 +++- userspace/falco/configuration.cpp | 2 +- userspace/falco/configuration.h | 2 +- userspace/falco/webserver.cpp | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/falco.yaml b/falco.yaml index e80eec71..44fcf95e 100644 --- a/falco.yaml +++ b/falco.yaml @@ -716,7 +716,9 @@ webserver: # Can be an IPV4 or IPV6 address, defaults to IPV4 listen_address: 0.0.0.0 k8s_healthz_endpoint: /healthz - metrics_enabled: false + # Enable the metrics endpoint providing Prometheus values + # It will only have an effect if metrics.enabled is set to true as well. + prometheus_metrics_enabled: false ssl_enabled: false ssl_certificate: /etc/falco/falco.pem diff --git a/userspace/falco/configuration.cpp b/userspace/falco/configuration.cpp index 914c0981..2985b7e5 100644 --- a/userspace/falco/configuration.cpp +++ b/userspace/falco/configuration.cpp @@ -456,7 +456,7 @@ void falco_configuration::load_yaml(const std::string& config_name) { m_webserver_config.m_threadiness = falco::utils::hardware_concurrency(); } - m_webserver_config.m_metrics_enabled = config.get_scalar("webserver.metrics_enabled", false); + m_webserver_config.m_prometheus_metrics_enabled = config.get_scalar("webserver.prometheus_metrics_enabled", false); std::list syscall_event_drop_acts; config.get_sequence(syscall_event_drop_acts, "syscall_event_drops.actions"); diff --git a/userspace/falco/configuration.h b/userspace/falco/configuration.h index 933f8c3e..15a82291 100644 --- a/userspace/falco/configuration.h +++ b/userspace/falco/configuration.h @@ -90,7 +90,7 @@ public: std::string m_k8s_healthz_endpoint = "/healthz"; bool m_ssl_enabled = false; std::string m_ssl_certificate; - bool m_metrics_enabled = false; + bool m_prometheus_metrics_enabled = false; }; falco_configuration(); diff --git a/userspace/falco/webserver.cpp b/userspace/falco/webserver.cpp index 7611acc1..c9bfde6e 100644 --- a/userspace/falco/webserver.cpp +++ b/userspace/falco/webserver.cpp @@ -65,7 +65,7 @@ void falco_webserver::start( res.set_content(versions_json_str, "application/json"); }); - if (state.config->m_metrics_enabled && webserver_config.m_metrics_enabled) + if (state.config->m_metrics_enabled && webserver_config.m_prometheus_metrics_enabled) { m_server->Get("/metrics", [&state](const httplib::Request &, httplib::Response &res) {