mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 07:37:19 -04:00
Make xpack.monitoring.enabled setting a no-op (#55617)
* Make xpack.monitoring.enabled setting a no-op This commit turns xpack.monitoring.enabled into a no-op. Mostly, this involved removing the setting from the setup for integration tests. Monitoring may introduce some complexity for test setup and teardown, so we should keep an eye out for turbulence and failures * Docs for making deprecated setting a no-op
This commit is contained in:
parent
1c80e85ad8
commit
560940bc52
25 changed files with 28 additions and 109 deletions
|
@ -73,19 +73,21 @@ In Elasticsearch 7.8.0, the following settings no longer have any effect, and
|
||||||
have been deprecated:
|
have been deprecated:
|
||||||
|
|
||||||
* `xpack.ilm.enabled`
|
* `xpack.ilm.enabled`
|
||||||
|
* `xpack.monitoring.enabled`
|
||||||
|
|
||||||
In other words, even if `xpack.ilm.enabled` is set to `false`, the ILM APIs
|
Previously, these settings could be set to `false` in order to disable the
|
||||||
will be available.
|
feature's APIs in a cluster. As of 7.8.0, these basic license features are
|
||||||
|
always enabled for the {default-dist}.
|
||||||
|
|
||||||
If you have disabled ILM so that you can use another tool to manage Watcher
|
If you have disabled ILM so that you can use another tool to manage Watcher
|
||||||
indices, the newly introduced `xpack.watcher.use_ilm_index_management` setting
|
indices, the newly introduced `xpack.watcher.use_ilm_index_management` setting
|
||||||
may be set to false.
|
may be set to false.
|
||||||
|
|
||||||
Additionally, the following settings have been deprecated:
|
Additionally, the following settings have been deprecated without removing
|
||||||
|
their effects:
|
||||||
|
|
||||||
* `xpack.enrich.enabled`
|
* `xpack.enrich.enabled`
|
||||||
* `xpack.flattened.enabled`
|
* `xpack.flattened.enabled`
|
||||||
* `xpack.monitoring.enabled`
|
|
||||||
* `xpack.rollup.enabled`
|
* `xpack.rollup.enabled`
|
||||||
* `xpack.slm.enabled`
|
* `xpack.slm.enabled`
|
||||||
* `xpack.sql.enabled`
|
* `xpack.sql.enabled`
|
||||||
|
@ -93,7 +95,7 @@ Additionally, the following settings have been deprecated:
|
||||||
* `xpack.vectors.enabled`
|
* `xpack.vectors.enabled`
|
||||||
|
|
||||||
In future releases, it will not be possible to disable the APIs for Enrichment,
|
In future releases, it will not be possible to disable the APIs for Enrichment,
|
||||||
Flattened mappings, Monitoring, Rollup, SLM, SQL, Transforms, and Vectors.
|
Flattened mappings, Rollup, SLM, SQL, Transforms, and Vectors.
|
||||||
|
|
||||||
[float]
|
[float]
|
||||||
==== The `prefer_v2_templates` parameter now defaults to `true`
|
==== The `prefer_v2_templates` parameter now defaults to `true`
|
||||||
|
|
|
@ -30,10 +30,6 @@ To learn about monitoring in general, see <<monitor-elasticsearch-cluster>>.
|
||||||
|
|
||||||
. Configure your cluster to collect monitoring data:
|
. Configure your cluster to collect monitoring data:
|
||||||
|
|
||||||
.. Verify that the deprecated `xpack.monitoring.enabled` setting is not set to
|
|
||||||
`false` on any node in the cluster. For more information, see
|
|
||||||
<<monitoring-settings>>.
|
|
||||||
|
|
||||||
.. Verify that the `xpack.monitoring.elasticsearch.collection.enabled` setting
|
.. Verify that the `xpack.monitoring.elasticsearch.collection.enabled` setting
|
||||||
is `true`, which is its default value, on each node in the cluster.
|
is `true`, which is its default value, on each node in the cluster.
|
||||||
+
|
+
|
||||||
|
|
|
@ -119,8 +119,6 @@ Add the following setting in the {kib} configuration file (`kibana.yml`):
|
||||||
xpack.monitoring.kibana.collection.enabled: false
|
xpack.monitoring.kibana.collection.enabled: false
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Leave the `xpack.monitoring.enabled` set to its default value (`true`).
|
|
||||||
|
|
||||||
For more information, see
|
For more information, see
|
||||||
{kibana-ref}/monitoring-settings-kb.html[Monitoring settings in {kib}].
|
{kibana-ref}/monitoring-settings-kb.html[Monitoring settings in {kib}].
|
||||||
--
|
--
|
||||||
|
|
|
@ -28,12 +28,7 @@ For more information, see <<monitor-elasticsearch-cluster>>.
|
||||||
|
|
||||||
`xpack.monitoring.enabled`::
|
`xpack.monitoring.enabled`::
|
||||||
deprecated:[7.8.0,Basic License features should always be enabled] +
|
deprecated:[7.8.0,Basic License features should always be enabled] +
|
||||||
Set to `true` (default) to enable {es} {monitoring} for {es} on the node.
|
This deprecated setting has no effect.
|
||||||
+
|
|
||||||
--
|
|
||||||
NOTE: To enable data collection, you must also set `xpack.monitoring.collection.enabled`
|
|
||||||
to `true`. Its default value is `false`.
|
|
||||||
--
|
|
||||||
|
|
||||||
[float]
|
[float]
|
||||||
[[monitoring-collection-settings]]
|
[[monitoring-collection-settings]]
|
||||||
|
|
|
@ -45,7 +45,6 @@ public abstract class CcrSingleNodeTestCase extends ESSingleNodeTestCase {
|
||||||
protected Settings nodeSettings() {
|
protected Settings nodeSettings() {
|
||||||
Settings.Builder builder = Settings.builder();
|
Settings.Builder builder = Settings.builder();
|
||||||
builder.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
builder.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
builder.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
builder.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
builder.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
builder.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
builder.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
||||||
builder.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
builder.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
||||||
|
|
|
@ -55,7 +55,12 @@ public class XPackSettings {
|
||||||
/** Setting for enabling or disabling security. Defaults to true. */
|
/** Setting for enabling or disabling security. Defaults to true. */
|
||||||
public static final Setting<Boolean> SECURITY_ENABLED = Setting.boolSetting("xpack.security.enabled", true, Setting.Property.NodeScope);
|
public static final Setting<Boolean> SECURITY_ENABLED = Setting.boolSetting("xpack.security.enabled", true, Setting.Property.NodeScope);
|
||||||
|
|
||||||
/** Setting for enabling or disabling monitoring. */
|
/**
|
||||||
|
* Setting for enabling or disabling monitoring.
|
||||||
|
* <p>
|
||||||
|
* This setting is now a no-op: setting it to false is permitted, but does nothing.
|
||||||
|
*/
|
||||||
|
@Deprecated(since = "7.8.0")
|
||||||
public static final Setting<Boolean> MONITORING_ENABLED = Setting.boolSetting("xpack.monitoring.enabled", true,
|
public static final Setting<Boolean> MONITORING_ENABLED = Setting.boolSetting("xpack.monitoring.enabled", true,
|
||||||
Property.NodeScope, Property.Deprecated);
|
Property.NodeScope, Property.Deprecated);
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,8 @@ public class MonitoringFeatureSetUsage extends XPackFeatureSet.Usage {
|
||||||
collectionEnabled = in.readOptionalBoolean();
|
collectionEnabled = in.readOptionalBoolean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public MonitoringFeatureSetUsage(boolean available, boolean enabled,
|
public MonitoringFeatureSetUsage(boolean available, boolean collectionEnabled, Map<String, Object> exporters) {
|
||||||
boolean collectionEnabled, Map<String, Object> exporters) {
|
super(XPackField.MONITORING, available, true);
|
||||||
super(XPackField.MONITORING, available, enabled);
|
|
||||||
this.exporters = exporters;
|
this.exporters = exporters;
|
||||||
this.collectionEnabled = collectionEnabled;
|
this.collectionEnabled = collectionEnabled;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,6 @@ public class LicensesManagerServiceTests extends ESSingleNodeTestCase {
|
||||||
return Settings.builder()
|
return Settings.builder()
|
||||||
.put(super.nodeSettings())
|
.put(super.nodeSettings())
|
||||||
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
||||||
.put(XPackSettings.MONITORING_ENABLED.getKey(), false)
|
|
||||||
.put(XPackSettings.WATCHER_ENABLED.getKey(), false)
|
.put(XPackSettings.WATCHER_ENABLED.getKey(), false)
|
||||||
.put(XPackSettings.GRAPH_ENABLED.getKey(), false)
|
.put(XPackSettings.GRAPH_ENABLED.getKey(), false)
|
||||||
.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false)
|
.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false)
|
||||||
|
|
|
@ -25,7 +25,6 @@ public abstract class AbstractEqlIntegTestCase extends ESIntegTestCase {
|
||||||
protected Settings nodeSettings(int nodeOrdinal) {
|
protected Settings nodeSettings(int nodeOrdinal) {
|
||||||
Settings.Builder settings = Settings.builder().put(super.nodeSettings(nodeOrdinal));
|
Settings.Builder settings = Settings.builder().put(super.nodeSettings(nodeOrdinal));
|
||||||
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
||||||
|
|
|
@ -97,7 +97,6 @@ public class IndexLifecycleInitialisationTests extends ESIntegTestCase {
|
||||||
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
||||||
settings.put(LifecycleSettings.LIFECYCLE_POLL_INTERVAL, "1s");
|
settings.put(LifecycleSettings.LIFECYCLE_POLL_INTERVAL, "1s");
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,6 @@ public class SnapshotLifecycleInitialisationTests extends ESSingleNodeTestCase {
|
||||||
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
||||||
settings.put(Environment.PATH_REPO_SETTING.getKey(), repositoryLocation);
|
settings.put(Environment.PATH_REPO_SETTING.getKey(), repositoryLocation);
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,6 @@ public abstract class MlSingleNodeTestCase extends ESSingleNodeTestCase {
|
||||||
newSettings.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
newSettings.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
||||||
// Disable security otherwise delete-by-query action fails to get authorized
|
// Disable security otherwise delete-by-query action fails to get authorized
|
||||||
newSettings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
newSettings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
newSettings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
newSettings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
newSettings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
// Disable ILM history index so that the tests don't have to clean it up
|
// Disable ILM history index so that the tests don't have to clean it up
|
||||||
newSettings.put(LifecycleSettings.LIFECYCLE_HISTORY_INDEX_ENABLED_SETTING.getKey(), false);
|
newSettings.put(LifecycleSettings.LIFECYCLE_HISTORY_INDEX_ENABLED_SETTING.getKey(), false);
|
||||||
|
|
|
@ -27,7 +27,6 @@ public class AnnotationIndexIT extends MlSingleNodeTestCase {
|
||||||
protected Settings nodeSettings() {
|
protected Settings nodeSettings() {
|
||||||
Settings.Builder newSettings = Settings.builder();
|
Settings.Builder newSettings = Settings.builder();
|
||||||
newSettings.put(super.nodeSettings());
|
newSettings.put(super.nodeSettings());
|
||||||
newSettings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
newSettings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
newSettings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
newSettings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
newSettings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
return newSettings.build();
|
return newSettings.build();
|
||||||
|
|
|
@ -92,7 +92,6 @@ public abstract class BaseMlIntegTestCase extends ESIntegTestCase {
|
||||||
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
settings.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
settings.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial");
|
||||||
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
||||||
settings.put(LifecycleSettings.LIFECYCLE_HISTORY_INDEX_ENABLED_SETTING.getKey(), false);
|
settings.put(LifecycleSettings.LIFECYCLE_HISTORY_INDEX_ENABLED_SETTING.getKey(), false);
|
||||||
return settings.build();
|
return settings.build();
|
||||||
|
|
|
@ -32,7 +32,6 @@ import org.elasticsearch.script.ScriptService;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.watcher.ResourceWatcherService;
|
import org.elasticsearch.watcher.ResourceWatcherService;
|
||||||
import org.elasticsearch.xpack.core.XPackPlugin;
|
import org.elasticsearch.xpack.core.XPackPlugin;
|
||||||
import org.elasticsearch.xpack.core.XPackSettings;
|
|
||||||
import org.elasticsearch.xpack.core.action.XPackInfoFeatureAction;
|
import org.elasticsearch.xpack.core.action.XPackInfoFeatureAction;
|
||||||
import org.elasticsearch.xpack.core.action.XPackUsageFeatureAction;
|
import org.elasticsearch.xpack.core.action.XPackUsageFeatureAction;
|
||||||
import org.elasticsearch.xpack.core.monitoring.MonitoringField;
|
import org.elasticsearch.xpack.core.monitoring.MonitoringField;
|
||||||
|
@ -66,7 +65,6 @@ import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
|
||||||
import static java.util.Collections.singletonList;
|
import static java.util.Collections.singletonList;
|
||||||
import static org.elasticsearch.common.settings.Setting.boolSetting;
|
import static org.elasticsearch.common.settings.Setting.boolSetting;
|
||||||
|
|
||||||
|
@ -80,13 +78,11 @@ public class Monitoring extends Plugin implements ActionPlugin, ReloadablePlugin
|
||||||
true, Setting.Property.Dynamic, Setting.Property.NodeScope, Setting.Property.Deprecated);
|
true, Setting.Property.Dynamic, Setting.Property.NodeScope, Setting.Property.Deprecated);
|
||||||
|
|
||||||
protected final Settings settings;
|
protected final Settings settings;
|
||||||
private final boolean enabled;
|
|
||||||
|
|
||||||
private Exporters exporters;
|
private Exporters exporters;
|
||||||
|
|
||||||
public Monitoring(Settings settings) {
|
public Monitoring(Settings settings) {
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
this.enabled = XPackSettings.MONITORING_ENABLED.get(settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// overridable by tests
|
// overridable by tests
|
||||||
|
@ -94,10 +90,6 @@ public class Monitoring extends Plugin implements ActionPlugin, ReloadablePlugin
|
||||||
protected XPackLicenseState getLicenseState() { return XPackPlugin.getSharedLicenseState(); }
|
protected XPackLicenseState getLicenseState() { return XPackPlugin.getSharedLicenseState(); }
|
||||||
protected LicenseService getLicenseService() { return XPackPlugin.getSharedLicenseService(); }
|
protected LicenseService getLicenseService() { return XPackPlugin.getSharedLicenseService(); }
|
||||||
|
|
||||||
boolean isEnabled() {
|
|
||||||
return enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Collection<Object> createComponents(Client client, ClusterService clusterService, ThreadPool threadPool,
|
public Collection<Object> createComponents(Client client, ClusterService clusterService, ThreadPool threadPool,
|
||||||
ResourceWatcherService resourceWatcherService, ScriptService scriptService,
|
ResourceWatcherService resourceWatcherService, ScriptService scriptService,
|
||||||
|
@ -105,10 +97,6 @@ public class Monitoring extends Plugin implements ActionPlugin, ReloadablePlugin
|
||||||
NodeEnvironment nodeEnvironment, NamedWriteableRegistry namedWriteableRegistry,
|
NodeEnvironment nodeEnvironment, NamedWriteableRegistry namedWriteableRegistry,
|
||||||
IndexNameExpressionResolver expressionResolver,
|
IndexNameExpressionResolver expressionResolver,
|
||||||
Supplier<RepositoriesService> repositoriesServiceSupplier) {
|
Supplier<RepositoriesService> repositoriesServiceSupplier) {
|
||||||
if (enabled == false) {
|
|
||||||
return Collections.singletonList(new MonitoringUsageServices(null, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
final ClusterSettings clusterSettings = clusterService.getClusterSettings();
|
final ClusterSettings clusterSettings = clusterService.getClusterSettings();
|
||||||
final CleanerService cleanerService = new CleanerService(settings, clusterSettings, threadPool, getLicenseState());
|
final CleanerService cleanerService = new CleanerService(settings, clusterSettings, threadPool, getLicenseState());
|
||||||
final SSLService dynamicSSLService = getSslService().createDynamicSSLService();
|
final SSLService dynamicSSLService = getSslService().createDynamicSSLService();
|
||||||
|
@ -140,9 +128,6 @@ public class Monitoring extends Plugin implements ActionPlugin, ReloadablePlugin
|
||||||
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
|
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
|
||||||
var usageAction = new ActionHandler<>(XPackUsageFeatureAction.MONITORING, MonitoringUsageTransportAction.class);
|
var usageAction = new ActionHandler<>(XPackUsageFeatureAction.MONITORING, MonitoringUsageTransportAction.class);
|
||||||
var infoAction = new ActionHandler<>(XPackInfoFeatureAction.MONITORING, MonitoringInfoTransportAction.class);
|
var infoAction = new ActionHandler<>(XPackInfoFeatureAction.MONITORING, MonitoringInfoTransportAction.class);
|
||||||
if (false == enabled) {
|
|
||||||
return Arrays.asList(usageAction, infoAction);
|
|
||||||
}
|
|
||||||
return Arrays.asList(
|
return Arrays.asList(
|
||||||
new ActionHandler<>(MonitoringBulkAction.INSTANCE, TransportMonitoringBulkAction.class),
|
new ActionHandler<>(MonitoringBulkAction.INSTANCE, TransportMonitoringBulkAction.class),
|
||||||
usageAction,
|
usageAction,
|
||||||
|
@ -153,9 +138,6 @@ public class Monitoring extends Plugin implements ActionPlugin, ReloadablePlugin
|
||||||
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
|
public List<RestHandler> getRestHandlers(Settings settings, RestController restController, ClusterSettings clusterSettings,
|
||||||
IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
|
IndexScopedSettings indexScopedSettings, SettingsFilter settingsFilter, IndexNameExpressionResolver indexNameExpressionResolver,
|
||||||
Supplier<DiscoveryNodes> nodesInCluster) {
|
Supplier<DiscoveryNodes> nodesInCluster) {
|
||||||
if (false == enabled) {
|
|
||||||
return emptyList();
|
|
||||||
}
|
|
||||||
return singletonList(new RestMonitoringBulkAction());
|
return singletonList(new RestMonitoringBulkAction());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,24 +7,20 @@ package org.elasticsearch.xpack.monitoring;
|
||||||
|
|
||||||
import org.elasticsearch.action.support.ActionFilters;
|
import org.elasticsearch.action.support.ActionFilters;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.license.XPackLicenseState;
|
import org.elasticsearch.license.XPackLicenseState;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
import org.elasticsearch.xpack.core.XPackField;
|
import org.elasticsearch.xpack.core.XPackField;
|
||||||
import org.elasticsearch.xpack.core.XPackSettings;
|
|
||||||
import org.elasticsearch.xpack.core.action.XPackInfoFeatureAction;
|
import org.elasticsearch.xpack.core.action.XPackInfoFeatureAction;
|
||||||
import org.elasticsearch.xpack.core.action.XPackInfoFeatureTransportAction;
|
import org.elasticsearch.xpack.core.action.XPackInfoFeatureTransportAction;
|
||||||
|
|
||||||
public class MonitoringInfoTransportAction extends XPackInfoFeatureTransportAction {
|
public class MonitoringInfoTransportAction extends XPackInfoFeatureTransportAction {
|
||||||
|
|
||||||
private final boolean enabled;
|
|
||||||
private final XPackLicenseState licenseState;
|
private final XPackLicenseState licenseState;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public MonitoringInfoTransportAction(TransportService transportService, ActionFilters actionFilters,
|
public MonitoringInfoTransportAction(TransportService transportService, ActionFilters actionFilters,
|
||||||
Settings settings, XPackLicenseState licenseState) {
|
XPackLicenseState licenseState) {
|
||||||
super(XPackInfoFeatureAction.MONITORING.name(), transportService, actionFilters);
|
super(XPackInfoFeatureAction.MONITORING.name(), transportService, actionFilters);
|
||||||
this.enabled = XPackSettings.MONITORING_ENABLED.get(settings);
|
|
||||||
this.licenseState = licenseState;
|
this.licenseState = licenseState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +36,6 @@ public class MonitoringInfoTransportAction extends XPackInfoFeatureTransportActi
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean enabled() {
|
public boolean enabled() {
|
||||||
return enabled;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,11 @@ import org.elasticsearch.cluster.ClusterState;
|
||||||
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
|
||||||
import org.elasticsearch.cluster.service.ClusterService;
|
import org.elasticsearch.cluster.service.ClusterService;
|
||||||
import org.elasticsearch.common.inject.Inject;
|
import org.elasticsearch.common.inject.Inject;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.license.XPackLicenseState;
|
import org.elasticsearch.license.XPackLicenseState;
|
||||||
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
|
import org.elasticsearch.protocol.xpack.XPackUsageRequest;
|
||||||
import org.elasticsearch.tasks.Task;
|
import org.elasticsearch.tasks.Task;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
import org.elasticsearch.xpack.core.XPackSettings;
|
|
||||||
import org.elasticsearch.xpack.core.action.XPackUsageFeatureAction;
|
import org.elasticsearch.xpack.core.action.XPackUsageFeatureAction;
|
||||||
import org.elasticsearch.xpack.core.action.XPackUsageFeatureResponse;
|
import org.elasticsearch.xpack.core.action.XPackUsageFeatureResponse;
|
||||||
import org.elasticsearch.xpack.core.action.XPackUsageFeatureTransportAction;
|
import org.elasticsearch.xpack.core.action.XPackUsageFeatureTransportAction;
|
||||||
|
@ -29,7 +27,6 @@ import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class MonitoringUsageTransportAction extends XPackUsageFeatureTransportAction {
|
public class MonitoringUsageTransportAction extends XPackUsageFeatureTransportAction {
|
||||||
private final boolean enabled;
|
|
||||||
private final MonitoringService monitoringService;
|
private final MonitoringService monitoringService;
|
||||||
private final XPackLicenseState licenseState;
|
private final XPackLicenseState licenseState;
|
||||||
private final Exporters exporters;
|
private final Exporters exporters;
|
||||||
|
@ -37,10 +34,9 @@ public class MonitoringUsageTransportAction extends XPackUsageFeatureTransportAc
|
||||||
@Inject
|
@Inject
|
||||||
public MonitoringUsageTransportAction(TransportService transportService, ClusterService clusterService, ThreadPool threadPool,
|
public MonitoringUsageTransportAction(TransportService transportService, ClusterService clusterService, ThreadPool threadPool,
|
||||||
ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver,
|
ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver,
|
||||||
Settings settings, XPackLicenseState licenseState, MonitoringUsageServices monitoringServices) {
|
XPackLicenseState licenseState, MonitoringUsageServices monitoringServices) {
|
||||||
super(XPackUsageFeatureAction.MONITORING.name(), transportService, clusterService, threadPool,
|
super(XPackUsageFeatureAction.MONITORING.name(), transportService, clusterService, threadPool,
|
||||||
actionFilters, indexNameExpressionResolver);
|
actionFilters, indexNameExpressionResolver);
|
||||||
this.enabled = XPackSettings.MONITORING_ENABLED.get(settings);
|
|
||||||
this.licenseState = licenseState;
|
this.licenseState = licenseState;
|
||||||
this.monitoringService = monitoringServices.monitoringService;
|
this.monitoringService = monitoringServices.monitoringService;
|
||||||
this.exporters = monitoringServices.exporters;
|
this.exporters = monitoringServices.exporters;
|
||||||
|
@ -51,7 +47,7 @@ public class MonitoringUsageTransportAction extends XPackUsageFeatureTransportAc
|
||||||
ActionListener<XPackUsageFeatureResponse> listener) {
|
ActionListener<XPackUsageFeatureResponse> listener) {
|
||||||
final boolean collectionEnabled = monitoringService != null && monitoringService.isMonitoringActive();
|
final boolean collectionEnabled = monitoringService != null && monitoringService.isMonitoringActive();
|
||||||
var usage = new MonitoringFeatureSetUsage(licenseState.isAllowed(XPackLicenseState.Feature.MONITORING),
|
var usage = new MonitoringFeatureSetUsage(licenseState.isAllowed(XPackLicenseState.Feature.MONITORING),
|
||||||
enabled, collectionEnabled, exportersUsage(exporters));
|
collectionEnabled, exportersUsage(exporters));
|
||||||
listener.onResponse(new XPackUsageFeatureResponse(usage));
|
listener.onResponse(new XPackUsageFeatureResponse(usage));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,6 @@ import org.elasticsearch.action.support.PlainActionFuture;
|
||||||
import org.elasticsearch.common.bytes.BytesReference;
|
import org.elasticsearch.common.bytes.BytesReference;
|
||||||
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
import org.elasticsearch.common.io.stream.StreamInput;
|
||||||
import org.elasticsearch.common.settings.Setting;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.common.xcontent.ToXContent;
|
import org.elasticsearch.common.xcontent.ToXContent;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
import org.elasticsearch.license.XPackLicenseState;
|
import org.elasticsearch.license.XPackLicenseState;
|
||||||
|
@ -21,7 +19,6 @@ import org.elasticsearch.test.VersionUtils;
|
||||||
import org.elasticsearch.test.rest.yaml.ObjectPath;
|
import org.elasticsearch.test.rest.yaml.ObjectPath;
|
||||||
import org.elasticsearch.transport.TransportService;
|
import org.elasticsearch.transport.TransportService;
|
||||||
import org.elasticsearch.xpack.core.XPackFeatureSet;
|
import org.elasticsearch.xpack.core.XPackFeatureSet;
|
||||||
import org.elasticsearch.xpack.core.XPackSettings;
|
|
||||||
import org.elasticsearch.xpack.core.action.XPackUsageFeatureResponse;
|
import org.elasticsearch.xpack.core.action.XPackUsageFeatureResponse;
|
||||||
import org.elasticsearch.xpack.core.monitoring.MonitoringFeatureSetUsage;
|
import org.elasticsearch.xpack.core.monitoring.MonitoringFeatureSetUsage;
|
||||||
import org.elasticsearch.xpack.monitoring.exporter.Exporter;
|
import org.elasticsearch.xpack.monitoring.exporter.Exporter;
|
||||||
|
@ -48,25 +45,15 @@ public class MonitoringInfoTransportActionTests extends ESTestCase {
|
||||||
|
|
||||||
public void testAvailable() {
|
public void testAvailable() {
|
||||||
MonitoringInfoTransportAction featureSet = new MonitoringInfoTransportAction(
|
MonitoringInfoTransportAction featureSet = new MonitoringInfoTransportAction(
|
||||||
mock(TransportService.class), mock(ActionFilters.class), Settings.EMPTY, licenseState);
|
mock(TransportService.class), mock(ActionFilters.class), licenseState);
|
||||||
boolean available = randomBoolean();
|
boolean available = randomBoolean();
|
||||||
when(licenseState.isAllowed(XPackLicenseState.Feature.MONITORING)).thenReturn(available);
|
when(licenseState.isAllowed(XPackLicenseState.Feature.MONITORING)).thenReturn(available);
|
||||||
assertThat(featureSet.available(), is(available));
|
assertThat(featureSet.available(), is(available));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testEnabledSetting() {
|
public void testMonitoringEnabledByDefault() {
|
||||||
boolean enabled = randomBoolean();
|
|
||||||
Settings.Builder settings = Settings.builder();
|
|
||||||
settings.put("xpack.monitoring.enabled", enabled);
|
|
||||||
MonitoringInfoTransportAction featureSet = new MonitoringInfoTransportAction(
|
MonitoringInfoTransportAction featureSet = new MonitoringInfoTransportAction(
|
||||||
mock(TransportService.class), mock(ActionFilters.class), settings.build(), licenseState);
|
mock(TransportService.class), mock(ActionFilters.class), licenseState);
|
||||||
assertThat(featureSet.enabled(), is(enabled));
|
|
||||||
assertSettingDeprecationsAndWarnings(new Setting<?>[] { XPackSettings.MONITORING_ENABLED } );
|
|
||||||
}
|
|
||||||
|
|
||||||
public void testEnabledDefault() {
|
|
||||||
MonitoringInfoTransportAction featureSet = new MonitoringInfoTransportAction(
|
|
||||||
mock(TransportService.class), mock(ActionFilters.class), Settings.EMPTY, licenseState);
|
|
||||||
assertThat(featureSet.enabled(), is(true));
|
assertThat(featureSet.enabled(), is(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +93,7 @@ public class MonitoringInfoTransportActionTests extends ESTestCase {
|
||||||
when(monitoring.isMonitoringActive()).thenReturn(collectionEnabled);
|
when(monitoring.isMonitoringActive()).thenReturn(collectionEnabled);
|
||||||
|
|
||||||
var usageAction = new MonitoringUsageTransportAction(mock(TransportService.class), null, null,
|
var usageAction = new MonitoringUsageTransportAction(mock(TransportService.class), null, null,
|
||||||
mock(ActionFilters.class), null, Settings.EMPTY,licenseState,
|
mock(ActionFilters.class), null, licenseState,
|
||||||
new MonitoringUsageServices(monitoring, exporters));
|
new MonitoringUsageServices(monitoring, exporters));
|
||||||
PlainActionFuture<XPackUsageFeatureResponse> future = new PlainActionFuture<>();
|
PlainActionFuture<XPackUsageFeatureResponse> future = new PlainActionFuture<>();
|
||||||
usageAction.masterOperation(null, null, null, future);
|
usageAction.masterOperation(null, null, null, future);
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
||||||
* or more contributor license agreements. Licensed under the Elastic License;
|
|
||||||
* you may not use this file except in compliance with the Elastic License.
|
|
||||||
*/
|
|
||||||
package org.elasticsearch.xpack.monitoring;
|
|
||||||
|
|
||||||
import org.elasticsearch.client.Client;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
|
||||||
import org.elasticsearch.test.ESTestCase;
|
|
||||||
|
|
||||||
import static org.hamcrest.Matchers.is;
|
|
||||||
|
|
||||||
public class MonitoringPluginClientTests extends ESTestCase {
|
|
||||||
|
|
||||||
public void testModulesWithNodeSettings() throws Exception {
|
|
||||||
// these settings mimic what ES does when running as a node...
|
|
||||||
Settings settings = Settings.builder()
|
|
||||||
.put("path.home", createTempDir())
|
|
||||||
.put(Client.CLIENT_TYPE_SETTING_S.getKey(), "node")
|
|
||||||
.build();
|
|
||||||
Monitoring plugin = new Monitoring(settings);
|
|
||||||
assertThat(plugin.isEnabled(), is(true));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -206,7 +206,7 @@ public class ClusterStatsCollectorTests extends BaseCollectorTestCase {
|
||||||
.thenReturn(indices);
|
.thenReturn(indices);
|
||||||
|
|
||||||
final XPackUsageResponse xPackUsageResponse = new XPackUsageResponse(
|
final XPackUsageResponse xPackUsageResponse = new XPackUsageResponse(
|
||||||
singletonList(new MonitoringFeatureSetUsage(true, true, false, null)));
|
singletonList(new MonitoringFeatureSetUsage(true, false, null)));
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
final ActionFuture<XPackUsageResponse> xPackUsageFuture = (ActionFuture<XPackUsageResponse>) mock(ActionFuture.class);
|
final ActionFuture<XPackUsageResponse> xPackUsageFuture = (ActionFuture<XPackUsageResponse>) mock(ActionFuture.class);
|
||||||
|
@ -305,7 +305,7 @@ public class ClusterStatsCollectorTests extends BaseCollectorTestCase {
|
||||||
when(client.admin()).thenReturn(adminClient);
|
when(client.admin()).thenReturn(adminClient);
|
||||||
|
|
||||||
final XPackUsageResponse xPackUsageResponse = new XPackUsageResponse(
|
final XPackUsageResponse xPackUsageResponse = new XPackUsageResponse(
|
||||||
singletonList(new MonitoringFeatureSetUsage(true, true, false, null)));
|
singletonList(new MonitoringFeatureSetUsage(true, false, null)));
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
final ActionFuture<XPackUsageResponse> xPackUsageFuture = (ActionFuture<XPackUsageResponse>) mock(ActionFuture.class);
|
final ActionFuture<XPackUsageResponse> xPackUsageFuture = (ActionFuture<XPackUsageResponse>) mock(ActionFuture.class);
|
||||||
when(client.execute(same(XPackUsageAction.INSTANCE), any(XPackUsageRequest.class))).thenReturn(xPackUsageFuture);
|
when(client.execute(same(XPackUsageAction.INSTANCE), any(XPackUsageRequest.class))).thenReturn(xPackUsageFuture);
|
||||||
|
|
|
@ -235,7 +235,7 @@ public class ClusterStatsMonitoringDocTests extends BaseMonitoringDocTestCase<Cl
|
||||||
.maxNodes(2)
|
.maxNodes(2)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
final List<XPackFeatureSet.Usage> usages = singletonList(new MonitoringFeatureSetUsage(false, true, false, null));
|
final List<XPackFeatureSet.Usage> usages = singletonList(new MonitoringFeatureSetUsage(false, false, null));
|
||||||
|
|
||||||
final NodeInfo mockNodeInfo = mock(NodeInfo.class);
|
final NodeInfo mockNodeInfo = mock(NodeInfo.class);
|
||||||
Version mockNodeVersion = Version.CURRENT.minimumIndexCompatibilityVersion();
|
Version mockNodeVersion = Version.CURRENT.minimumIndexCompatibilityVersion();
|
||||||
|
|
|
@ -135,9 +135,8 @@ public class SecuritySettingsSource extends NodeConfigurationSource {
|
||||||
.put(XPackSettings.SECURITY_ENABLED.getKey(), true)
|
.put(XPackSettings.SECURITY_ENABLED.getKey(), true)
|
||||||
.put(NetworkModule.TRANSPORT_TYPE_KEY, randomBoolean() ? SecurityField.NAME4 : SecurityField.NIO)
|
.put(NetworkModule.TRANSPORT_TYPE_KEY, randomBoolean() ? SecurityField.NAME4 : SecurityField.NIO)
|
||||||
.put(NetworkModule.HTTP_TYPE_KEY, randomBoolean() ? SecurityField.NAME4 : SecurityField.NIO)
|
.put(NetworkModule.HTTP_TYPE_KEY, randomBoolean() ? SecurityField.NAME4 : SecurityField.NIO)
|
||||||
//TODO: for now isolate security tests from watcher & monitoring (randomize this later)
|
//TODO: for now isolate security tests from watcher (randomize this later)
|
||||||
.put(XPackSettings.WATCHER_ENABLED.getKey(), false)
|
.put(XPackSettings.WATCHER_ENABLED.getKey(), false)
|
||||||
.put(XPackSettings.MONITORING_ENABLED.getKey(), false)
|
|
||||||
.put(XPackSettings.AUDIT_ENABLED.getKey(), randomBoolean())
|
.put(XPackSettings.AUDIT_ENABLED.getKey(), randomBoolean())
|
||||||
.put(LoggingAuditTrail.EMIT_HOST_ADDRESS_SETTING.getKey(), randomBoolean())
|
.put(LoggingAuditTrail.EMIT_HOST_ADDRESS_SETTING.getKey(), randomBoolean())
|
||||||
.put(LoggingAuditTrail.EMIT_HOST_NAME_SETTING.getKey(), randomBoolean())
|
.put(LoggingAuditTrail.EMIT_HOST_NAME_SETTING.getKey(), randomBoolean())
|
||||||
|
|
|
@ -23,7 +23,6 @@ public abstract class AbstractSqlIntegTestCase extends ESIntegTestCase {
|
||||||
protected Settings nodeSettings(int nodeOrdinal) {
|
protected Settings nodeSettings(int nodeOrdinal) {
|
||||||
Settings.Builder settings = Settings.builder().put(super.nodeSettings(nodeOrdinal));
|
Settings.Builder settings = Settings.builder().put(super.nodeSettings(nodeOrdinal));
|
||||||
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
settings.put(XPackSettings.SECURITY_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MONITORING_ENABLED.getKey(), false);
|
|
||||||
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
settings.put(XPackSettings.WATCHER_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
settings.put(XPackSettings.GRAPH_ENABLED.getKey(), false);
|
||||||
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
settings.put(XPackSettings.MACHINE_LEARNING_ENABLED.getKey(), false);
|
||||||
|
|
|
@ -107,7 +107,6 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
|
||||||
protected Settings nodeSettings(int nodeOrdinal) {
|
protected Settings nodeSettings(int nodeOrdinal) {
|
||||||
return Settings.builder()
|
return Settings.builder()
|
||||||
.put(super.nodeSettings(nodeOrdinal))
|
.put(super.nodeSettings(nodeOrdinal))
|
||||||
.put(XPackSettings.MONITORING_ENABLED.getKey(), false)
|
|
||||||
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
||||||
.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial")
|
.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial")
|
||||||
// we do this by default in core, but for watcher this isn't needed and only adds noise.
|
// we do this by default in core, but for watcher this isn't needed and only adds noise.
|
||||||
|
|
|
@ -59,7 +59,6 @@ public class RejectedExecutionTests extends AbstractWatcherIntegrationTestCase {
|
||||||
|
|
||||||
return Settings.builder()
|
return Settings.builder()
|
||||||
.put(super.nodeSettings(nodeOrdinal))
|
.put(super.nodeSettings(nodeOrdinal))
|
||||||
.put(XPackSettings.MONITORING_ENABLED.getKey(), false)
|
|
||||||
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
.put(XPackSettings.SECURITY_ENABLED.getKey(), false)
|
||||||
.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial")
|
.put(LicenseService.SELF_GENERATED_LICENSE_TYPE.getKey(), "trial")
|
||||||
.put("thread_pool.write.size", 1)
|
.put("thread_pool.write.size", 1)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue