mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
## Summary Closes https://github.com/elastic/kibana/issues/161876 Creates a plugin providing utilities to access metrics data. The plugin only exposes a server API which includes a client with two methods: - `getMetricIndices` to retrieve the user-defined indices where metrics are located - `updateMetricIndices` to update the indices The client is now used where we previously relied on infra plugin to provide the configuration, in APM and Infra. The plugin persists the configuration in a new saved object `metrics-data-source`. Because this configuration was previously stored in the `infrastructure-ui-source`, the plugin relies on a fallback to reuse any existing value (see additional context https://github.com/elastic/kibana/issues/161876#issuecomment-1673537400). ### Reviewers There are no functional changes outside of Infra Monitoring UI and APM UI, other codeowners are involved because this introduces a new saved object - APM - the change introduces a drop-in replacement of the `infra.getMetricIndices` call. The ui code still relies on infra plugin for a couple of components so we can't drop the dependency yet, those we'll need to be moved to a tier 2 plugin (more details in https://github.com/elastic/observability-dev/discussions/2787 (internal)) in a separate issue ### Testing You'll need metrics data to verify data fetching works (I've used an edge-oblt cluster) 1. Navigate to Infrastructure Settings and verify metric indices are configured with the default value of `infrastructure-ui-source` 2. Update metric indices settings (if connected to oblt cluster add `remote_cluster:..` indices) 3. Verify `metrics-data-source` saved object is persisted with correct attributes 4. Verify Infrastructure Inventory is pulling data from the newly configured indices 5. Go to APM services, verify service Infrastructure pulls data from newly configured indices --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Jason Rhodes <jason.rhodes@elastic.co>
15 lines
605 B
JavaScript
15 lines
605 B
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
* 2.0.
|
|
*/
|
|
|
|
module.exports = {
|
|
preset: '@kbn/test',
|
|
rootDir: '../../..',
|
|
roots: ['<rootDir>/x-pack/plugins/metrics_data_access'],
|
|
coverageDirectory: '<rootDir>/target/kibana-coverage/jest/x-pack/plugins/metrics_data_access',
|
|
coverageReporters: ['text', 'html'],
|
|
collectCoverageFrom: ['<rootDir>/x-pack/plugins/metrics_data/{server}/**/*.test.ts'],
|
|
};
|