diff --git a/build_system/docker/entry.sh b/build_system/docker/entry.sh index e74c7a6..f698034 100644 --- a/build_system/docker/entry.sh +++ b/build_system/docker/entry.sh @@ -6,6 +6,7 @@ HTTP_TRANSACTION_HANDLER_SERVICE="install-cp-nano-service-http-transaction-handl ATTACHMENT_REGISTRATION_SERVICE="install-cp-nano-attachment-registration-manager.sh" ORCHESTRATION_INSTALLATION_SCRIPT="install-cp-nano-agent.sh" CACHE_INSTALLATION_SCRIPT="install-cp-nano-agent-cache.sh" +PROMETHEUS_INSTALLATION_SCRIPT="install-cp-nano-service-prometheus.sh" var_fog_address= var_proxy= @@ -81,6 +82,10 @@ fi /nano-service-installers/$CACHE_INSTALLATION_SCRIPT --install /nano-service-installers/$HTTP_TRANSACTION_HANDLER_SERVICE --install +if [ "$PROMETHEUS" == "true" ]; then + /nano-service-installers/$PROMETHEUS_INSTALLATION_SCRIPT --install +fi + if [ "$CROWDSEC_ENABLED" == "true" ]; then /nano-service-installers/$INTELLIGENCE_INSTALLATION_SCRIPT --install /nano-service-installers/$CROWDSEC_INSTALLATION_SCRIPT --install diff --git a/core/metric/generic_metric.cc b/core/metric/generic_metric.cc index 271b81d..014a002 100644 --- a/core/metric/generic_metric.cc +++ b/core/metric/generic_metric.cc @@ -332,7 +332,17 @@ vector GenericMetric::getPromMetricsData() { vector all_metrics; - if (!getProfileAgentSettingWithDefault(false, "prometheus")) return all_metrics; + bool enable_prometheus = false; + auto prometheus_settings = getProfileAgentSetting("prometheus"); + if (prometheus_settings.ok()) { + enable_prometheus = prometheus_settings.unpack(); + } else { + const char *prometheus_env = getenv("PROMETHEUS"); + if (prometheus_env != nullptr) { + enable_prometheus = string(prometheus_env) == "true"; + } + } + if (!enable_prometheus) return all_metrics; dbgTrace(D_METRICS) << "Get prometheus metrics"; for (auto &calc : prometheus_calcs) { diff --git a/nodes/orchestration/package/orchestration_package.sh b/nodes/orchestration/package/orchestration_package.sh index 64ae1cf..d81eaf5 100755 --- a/nodes/orchestration/package/orchestration_package.sh +++ b/nodes/orchestration/package/orchestration_package.sh @@ -647,6 +647,9 @@ install_watchdog() echo "ExecStart=ip netns exec CTX0000${VS_ID} ${FILESYSTEM_PATH}/${WATCHDOG_PATH}/cp-nano-watchdog" >> /etc/systemd/system/${NANO_AGENT_SERVICE_FILE} fi echo "Environment=\"FILESYSTEM_PATH=${FILESYSTEM_PATH}\"" >> /etc/systemd/system/${NANO_AGENT_SERVICE_FILE} + if [ -n "${PROMETHEUS}" ] ; then + echo "Environment=\"PROMETHEUS=${PROMETHEUS}\"" >> /etc/systemd/system/${NANO_AGENT_SERVICE_FILE} + fi cp_exec "systemctl daemon-reload" cp_exec "systemctl enable nano_agent"