diff options
author | Harald Musum <musum@yahooinc.com> | 2023-04-27 11:59:43 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-04-27 11:59:43 +0200 |
commit | ab0e730299f7b1773c963bc3821d5c15764bd6d9 (patch) | |
tree | f97a73c88aa359451550795be7afefc8c79f1f24 /config-model/src/main/java/com/yahoo/vespa/model | |
parent | 9ced2b658f041a87272c09e42ebf46422f6aa927 (diff) |
Enable access logging for internal container clusters in hosted
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model')
7 files changed, 26 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java index 7b88cc68ec8..31eb3a7bcc2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.model.admin; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.provision.ClusterSpec; +import com.yahoo.container.logging.AccessLog; import com.yahoo.jdisc.http.server.jetty.VoidRequestLog; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.container.ContainerCluster; @@ -22,7 +23,7 @@ public class LogserverContainerCluster extends ContainerCluster<LogserverContain addDefaultHandlersWithVip(); addLogHandler(); - addSimpleComponent(VoidRequestLog.class); + addAccessLog(); setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin))); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java index e8ea82a6f4d..15e3c113d16 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java @@ -31,7 +31,7 @@ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterC TreeConfigProducer<?> parent, String subId, String name, DeployState deployState) { super(parent, subId, name, deployState, false); addDefaultHandlersWithVip(); - addSimpleComponent(VoidRequestLog.class);; + addAccessLog(); this.reindexingContext = createReindexingContext(deployState); setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin))); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java index 5251c4914eb..aedd27334e3 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java @@ -25,7 +25,6 @@ import com.yahoo.config.model.producer.TreeConfigProducer; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Zone; import com.yahoo.container.jdisc.ThreadedHttpRequestHandler; -import com.yahoo.jdisc.http.server.jetty.VoidRequestLog; import com.yahoo.osgi.provider.model.ComponentModel; import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.admin.monitoring.MetricSet; @@ -87,12 +86,10 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC static final String LEGACY_APPLICATION = "app"; // app.instance } - private final TreeConfigProducer<?> parent; private final ApplicationId applicationId; public MetricsProxyContainerCluster(TreeConfigProducer<?> parent, String name, DeployState deployState) { super(parent, name, name, deployState, true); - this.parent = parent; applicationId = deployState.getProperties().applicationId(); setRpcServerEnabled(true); @@ -100,7 +97,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC addPlatformBundle(METRICS_PROXY_BUNDLE_FILE); addClusterComponents(); - addSimpleComponent(VoidRequestLog.class); + addAccessLog(); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index f3bc8fdabb1..e0bf9bac9cf 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -25,6 +25,7 @@ import com.yahoo.container.handler.metrics.PrometheusV1Handler; import com.yahoo.container.jdisc.ContainerMbusConfig; import com.yahoo.container.jdisc.messagebus.MbusServerProvider; import com.yahoo.container.logging.AccessLog; +import com.yahoo.jdisc.http.server.jetty.VoidRequestLog; import com.yahoo.osgi.provider.model.ComponentModel; import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.config.search.RankProfilesConfig; @@ -110,7 +111,6 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat .map(HostSpec::hostname) .collect(Collectors.toCollection(() -> new LinkedHashSet<>()))); - addSimpleComponent(AccessLog.class); addSimpleComponent("com.yahoo.language.provider.DefaultLinguisticsProvider"); addSimpleComponent("com.yahoo.language.provider.DefaultEmbedderProvider"); addSimpleComponent("com.yahoo.container.jdisc.SecretStoreProvider"); @@ -341,11 +341,16 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat protected boolean messageBusEnabled() { return messageBusEnabled; } public void addAccessLog() { + addSimpleComponent(AccessLog.class); // In hosted there is one application container per node, so we do not use the container name to distinguish log files Optional<String> clusterName = isHostedVespa ? Optional.empty() : Optional.of(getName()); addComponent(new AccessLogComponent(this, jsonAccessLog, compressionType, clusterName, isHostedVespa)); } + public void addVoidAccessLog() { + addSimpleComponent(VoidRequestLog.class); + } + public void addMbusServer(ComponentId chainId) { ComponentId serviceId = chainId.nestInNamespace(ComponentId.fromString("MbusServer")); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index 153f1a9c9b2..e4a0291c2ae 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -23,6 +23,7 @@ import com.yahoo.container.di.config.PlatformBundlesConfig; import com.yahoo.container.jdisc.JdiscBindingsConfig; import com.yahoo.container.jdisc.config.HealthMonitorConfig; import com.yahoo.container.jdisc.state.StateHandler; +import com.yahoo.container.logging.AccessLog; import com.yahoo.container.usability.BindingsOverviewHandler; import com.yahoo.document.config.DocumentmanagerConfig; import com.yahoo.jdisc.http.server.jetty.VoidRequestLog; @@ -40,6 +41,7 @@ import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.admin.monitoring.Monitoring; import com.yahoo.vespa.model.clients.ContainerDocumentApi; +import com.yahoo.vespa.model.container.component.AccessLogComponent; import com.yahoo.vespa.model.container.component.BindingPattern; import com.yahoo.vespa.model.container.component.Component; import com.yahoo.vespa.model.container.component.ComponentGroup; @@ -73,6 +75,7 @@ import java.util.Optional; import java.util.Set; import java.util.TreeSet; +import static com.yahoo.vespa.model.container.component.AccessLogComponent.AccessLogType.jsonAccessLog; import static com.yahoo.vespa.model.container.component.chain.ProcessingHandler.PROCESSING_HANDLER_CLASS; /** @@ -592,7 +595,15 @@ public abstract class ContainerCluster<CONTAINER extends Container> if (containerSearch != null) containerSearch.connectSearchClusters(clusterMap); } - protected void addAccessLog() { /* No access logging by default */ } + protected void addAccessLog() { /* No access logging by default */ + if (isHostedVespa) { + addSimpleComponent(AccessLog.class); + // In hosted there is one application container per node, so we do not use the container name to distinguish log files + Optional<String> clusterName = isHostedVespa ? Optional.empty() : Optional.of(getName()); + addComponent(new AccessLogComponent(this, jsonAccessLog, compressionType, clusterName, isHostedVespa)); + } else + addSimpleComponent(VoidRequestLog.class); + } @Override public void getConfig(IlscriptsConfig.Builder builder) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/DefaultThreadpoolProvider.java b/config-model/src/main/java/com/yahoo/vespa/model/container/DefaultThreadpoolProvider.java index 0fdd36b8811..559c7683026 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/DefaultThreadpoolProvider.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/DefaultThreadpoolProvider.java @@ -31,7 +31,7 @@ class DefaultThreadpoolProvider extends SimpleComponent implements ThreadpoolCon public void getConfig(ThreadpoolConfig.Builder builder) { if (cluster instanceof ApplicationContainerCluster) { // Core pool size of 2xcores, and max of 100xcores and using a synchronous Q - // This is the deafault pool used by both federation and generally when you ask for an Executor. + // This is the default pool used by both federation and generally when you ask for an Executor. builder.corePoolSize(-2).maxthreads(-100).queueSize(0); } else { // Container clusters such as logserver, metricsproxy and clustercontroller diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index b83c4d15bad..a1d4e6937e0 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -38,6 +38,7 @@ import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.container.logging.FileConnectionLog; import com.yahoo.io.IOUtils; +import com.yahoo.jdisc.http.server.jetty.VoidRequestLog; import com.yahoo.osgi.provider.model.ComponentModel; import com.yahoo.path.Path; import com.yahoo.schema.OnnxModel; @@ -429,6 +430,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { if (accessLogElements.isEmpty() && deployState.getAccessLoggingEnabledByDefault()) cluster.addAccessLog(); + else + cluster.addVoidAccessLog(); // Add connection log if access log is configured if (cluster.getAllComponents().stream().anyMatch(component -> component instanceof AccessLogComponent)) { |