-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Telemetry] Move Monitoring collection strategy to a collector #82638
Changes from 1 commit
a448d23
741b350
15542de
6e8fd46
f8fda8a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,6 @@ | |
], | ||
"optionalPlugins": [ | ||
"infra", | ||
"telemetryCollectionManager", | ||
"usageCollection", | ||
"home", | ||
"cloud", | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,8 +20,6 @@ import { | |
CoreStart, | ||
CustomHttpResponseOptions, | ||
ResponseError, | ||
IClusterClient, | ||
SavedObjectsServiceStart, | ||
} from 'kibana/server'; | ||
import { DEFAULT_APP_CATEGORIES } from '../../../../src/core/server'; | ||
import { | ||
|
@@ -41,7 +39,7 @@ import { initInfraSource } from './lib/logs/init_infra_source'; | |
import { mbSafeQuery } from './lib/mb_safe_query'; | ||
import { instantiateClient } from './es_client/instantiate_client'; | ||
import { registerCollectors } from './kibana_monitoring/collectors'; | ||
import { registerMonitoringCollection } from './telemetry_collection'; | ||
import { registerMonitoringTelemetryCollection } from './telemetry_collection'; | ||
import { LicenseService } from './license_service'; | ||
import { AlertsFactory } from './alerts'; | ||
import { | ||
|
@@ -76,8 +74,6 @@ export class Plugin { | |
private monitoringCore = {} as MonitoringCore; | ||
private legacyShimDependencies = {} as LegacyShimDependencies; | ||
private bulkUploader: IBulkUploader = {} as IBulkUploader; | ||
private telemetryElasticsearchClient: IClusterClient | undefined; | ||
private telemetrySavedObjectsService: SavedObjectsServiceStart | undefined; | ||
|
||
constructor(initializerContext: PluginInitializerContext) { | ||
this.initializerContext = initializerContext; | ||
|
@@ -145,19 +141,6 @@ export class Plugin { | |
plugins.alerts?.registerType(alert.getAlertType()); | ||
} | ||
|
||
// Initialize telemetry | ||
if (plugins.telemetryCollectionManager) { | ||
registerMonitoringCollection({ | ||
telemetryCollectionManager: plugins.telemetryCollectionManager, | ||
esCluster: this.cluster, | ||
esClientGetter: () => this.telemetryElasticsearchClient, | ||
soServiceGetter: () => this.telemetrySavedObjectsService, | ||
customContext: { | ||
maxBucketSize: config.ui.max_bucket_size, | ||
}, | ||
}); | ||
} | ||
|
||
// Register collector objects for stats to show up in the APIs | ||
if (plugins.usageCollection) { | ||
core.savedObjects.registerType({ | ||
|
@@ -174,6 +157,11 @@ export class Plugin { | |
}); | ||
|
||
registerCollectors(plugins.usageCollection, config, cluster.callAsInternalUser); | ||
registerMonitoringTelemetryCollection( | ||
plugins.usageCollection, | ||
cluster.callAsInternalUser, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ideally, if we add to the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @afharo we had decided to hold off on adding the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @TinaHeiligers, thank you for confirming that. I am aware of that current action being held until a need is identified. That's also why I preferred to deal with this issue on a separate PR. So we can properly discuss about it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Adding a reference to the existing issue: #75875 🙂 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've created the PR #83413 to fix this. Once it's merged, I'll rebase this one and update accordingly. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The PR has been merged and I've applied the changes in this one to use it |
||
config.ui.max_bucket_size | ||
); | ||
} | ||
|
||
// Always create the bulk uploader | ||
|
@@ -253,16 +241,7 @@ export class Plugin { | |
}; | ||
} | ||
|
||
start({ elasticsearch, savedObjects }: CoreStart) { | ||
// TODO: For the telemetry plugin to work, we need to provide the new ES client. | ||
// The new client should be inititalized with a similar config to `this.cluster` but, since we're not using | ||
// the new client in Monitoring Telemetry collection yet, setting the local client allows progress for now. | ||
// The usage collector `fetch` method has been refactored to accept a `collectorFetchContext` object, | ||
// exposing both es clients and the saved objects client. | ||
// We will update the client in a follow up PR. | ||
this.telemetryElasticsearchClient = elasticsearch.client; | ||
this.telemetrySavedObjectsService = savedObjects; | ||
Comment on lines
-257
to
-264
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These clients can be removed now that the |
||
} | ||
start() {} | ||
|
||
stop() { | ||
if (this.cluster) { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
monitoring
plugin no longer depends on thetelemetryCollectionManager
🎉