`OBSERVABILITY_ONBOARDING_LOCATOR` and
`ObservabilityOnboardingLocatorParams` were removed from
`observability_onboarding` plugin in
[#165962](https://github.com/elastic/kibana/pull/165962) and are now
part of `@kbn/deeplinks-observability/locators`.
`datsetName` was transformed into an optional variable in the wizard
state in [#166654](https://github.com/elastic/kibana/pull/166654) which
makes sense for first step of custom logs onboarding but it's required
in onboarding saved object.
Removed `isServerless` flag which lived in our global context and had to
be passed about to the various components which create their own version
of the context using `getMlGlobalServices`
This PR adds a new context which contains flags for all of the features
which can be toggled when in serverless mode.
Flags added:
```
showNodeInfo
showMLNavMenu
showLicenseInfo
isADEnabled
isDFAEnabled
isNLPEnabled
```
The enabled features flags are now read from the config file client
side, rather than using capabilities.
Additional changes:
- Changes the wording of the awaiting ML node callout in serverless.
- In the search project, the default ML page is the trained models list
and not Overview
- Reenables the Memory Usage page for all projects
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for AppEx SharedUX.
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for APM UI.
Closes https://github.com/elastic/kibana/issues/166021
Closes https://github.com/elastic/kibana/issues/163381
This PR adds inspector cluster tab MVP
This PR does not:
1) include all UI elements in design. These will be added at later
dates.
2) show clusters tab when request fails. Somewhere between kibana server
elasticsearch request and the client, the raw response is getting
removed for failed requests. This will have to be sorted out in a
separate PR.
3) Opening clusters tab from "incomplete data" warnings
### Test setup
1. Start remote elasticsearch by running: `yarn es snapshot -E
transport.port=9500 -E http.port=9201 -E path.data=../remote1`
2. Install sample data to remote cluster
1. Add `elasticsearch.hosts: ["http://localhost:9201"]` to
kibana.dev.yml. **Note** create `config/kibana.dev.yml` if one does not
exist. kibana.dev.yml is not managed by git so it has to be created the
first time you add values.
2. run `yarn start` to start kibana process
3. install sample web logs data set on home page
4. install sample flight data set on home page
5. stop kibana process
6. remove `elasticsearch.hosts` from kibana.dev.yml
3. Start local elasticsearch by running: `yarn es snapshot -E
path.data=../local1`
4. Start kibana
5. Add remote cluster under "Stack management -> Remote clusters"
1. Set **Name** to "remote1"
2. Set **Seed nodes** to "localhost:9500"
3. Enable **Skip if unavailable**
5. install sample web logs data set
6. install sample flights data set
7. Create data view.
1. Set **Index pattern** to
`kibana_sample_data*,remote1:kibana_sample_data*`
2. Set **Time field** to `timestamp`
### Local cluster (status=successful)
1) Open discover
2) Select "Kibana sample data logs" data view
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 38 38 AM"
src="e4e91555-8200-43bc-b2fe-7739f7178e43">
### Remote cluster (status=successful)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 47 08 AM"
src="676897fc-e7e2-4c0b-8e35-c382c6ac89d6">
### Remote cluster (status=partial, failed shard)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Add filter
```
{
"error_query": {
"indices": [
{
"error_type": "exception",
"message": "local shard failure message 123",
"name": "remote1:kibana_sample_data_logs",
"shard_ids": [
0
]
}
]
}
}
```
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 50 49 AM"
src="6935f2b4-60ad-4704-8ee0-17890ca9d83a">
<img width="300" alt="Screen Shot 2023-09-22 at 9 51 12 AM"
src="ec0a6b4a-177f-40fd-96b3-c56102d5f425">
### Remote cluster (status=skipped, all shards fail)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Add filter
```
{
"error_query": {
"indices": [
{
"error_type": "exception",
"message": "local shard failure message 123",
"name": "remote1:*",
"shard_ids": [
0
]
}
]
}
}
```
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 52 49 AM"
src="a1ba947b-3cd1-4416-9756-29f3960a4ba6">
### Remote cluster (status=skipped, no remote)
1) Open discover
2) Kill process running remote1 elasticsearch
3) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
4) Open inspector
5) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 55 45 AM"
src="f049b617-96e1-4ecc-bfeb-f75522f70fef">
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for Kibana Presenation.
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes related to syncing EUI deps.
## Summary
This PR adds data drift detection workflow from Trained models to Data
comparison view. It also renames Data comparison to Data Drift.
**From the new map view in Trained model list:**
- Clicking on the index icon in the map view will give an option/action
to Analyze data drift
a68163ab-8a83-4378-8cf3-ea49f4480a06
- If model has detected related indices, it will also give an option to
Analyze data drift in the Transform actions
**From the data comparison/drift page:**
- Default screen with list of available data views and saved search will
be shown
<img width="1470" alt="Screen Shot 2023-09-07 at 00 22 01"
src="db13b8b7-9d90-4220-b03e-9f9d12ab53e9">
- But can also customize index patterns for the data sets to analyze.
Upon 'analyzing', a new data view will be created if needed (either
permanently or temporarily).
<img width="1271" alt="Screen Shot 2023-08-29 at 16 56 57"
src="e000e920-162b-4369-8762-70b6244e50e7">
<img width="1470" alt="Screen Shot 2023-09-07 at 00 22 49"
src="6577a530-c3b0-4ab9-95e4-d1d8fd1c9f0a">
- If there exists a data view with exact combination of index patterns
and time field, it will use that data view
- If there exists a data view with the same index patterns but different
time field, it will create a new data view with name
`{referencePattern},{comparisonPattern}-{timeField}`
- If no data view exists that matches, it will create a new data view
with name `{referencePattern},{comparisonPattern}`
## For reviewers:
- **appex-sharedux**: [Small change in the exported type interface for
BaseSavedObjectFinder](https://github.com/elastic/kibana/pull/162853/files#diff-5e2e62df8aba5ac9445962bfa00eee933a386110d0a24dfe6ac0f300a796ccc3)
to correctly list `children` as an accepted prop. This prop which is
used for the `toolsRight`.
- **security-solution**: Renaming of `Data comparison` to `Data Drift`
## Tests:
[Flaky test suite runner with Data Drift
test](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3216#018accc2-d33b-4cd6-a178-589e6698b675)
... successful after 50 runs✅
### Checklist
Delete any items that are not applicable to this PR.
- [ ] Any text added [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
### Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.
When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:
| Risk | Probability | Severity | Mitigation/Notes |
|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces—unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes—Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Fixes https://github.com/elastic/kibana/issues/164369
### Acceptance criteria
- use KibanaThemeProvider from @kbn/react-kibana-context-theme for the
App component
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Resolves https://github.com/elastic/kibana/issues/159347
Part of https://github.com/elastic/kibana/issues/155764
In this PR, I'm forcing validation on any tasks using state by ensuring
a state schema is defined by the task type. Without this schema and once
this PR merges, Task Manager will now fail validation by throwing
`[TaskValidator] stateSchemaByVersion not defined for task type: XYZ`
errors. This forces an explicit schema to be defined so we can properly
handle state objects in ZDT environments.
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
This PR fixes the errors of the type checkers on some of the Management
team's plugins.
The errors were identified by running the command `node
scripts/type_check --project <path-to-tsconfig.json>` with these files
as suggested by the Operations team:
- ./packages/kbn-generate-console-definitions/tsconfig.json
- ./src/plugins/console/tsconfig.json
- ./packages/kbn-management/settings/components/field_row/tsconfig.json
Adds `created_by` property of `advanced-wizard` to all jobs created by
the advanced job wizard.
Previously no `created_by` property was added to these jobs.
When cloning, jobs with no `created_by` property or one with a value of
`advanced-wizard` will be opened in the advanced wizard.
Closes https://github.com/elastic/kibana/issues/166053
## 📓 Summary
These changes fix the type-check issues related to infra obs UI code.
It also includes some fixes for the APM plugin that were stopping the
check step from passing.
---------
Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Redesigns the copy to dashboard modal and the Dashboard picker element to fix some UX issues they were causing.
Makes panels copied with the `copy panel to` dialog retain their original sizes.
## Summary
Address #166459
This PR scaffolds telemetry into the notification service, to enable
reporting when deduped toasts are dismissed. When a deduped toast is
dismissed; the message recurrence count and the toast message would be
emitted.
Telemetry Event Definition;
```typescript
{
eventType: "global_toast_list_toast_dismissed",
schema: {
"toast_deduplication_count": {
type: "long",
_meta: {
description: "toast message text"
}
},
"toast_message": {
type: "keyword",
_meta: {
description: "recurrence count for particular toast message"
}
},
"toast_message_type": {
type: "keyword",
_meta: {
description: "toast message type, accepted values are warning, danger, primary"
}
}
}
}
```
Testing;
- Ensure you have an existing dashboard, if you don't installing any
sample data would bootstrap a dashboard automatically
- Search for `visualize library` from the global search bar, and
navigate to visualize library.
- Attempt to create a visualization, select the `TSVB` visualization
type. At this step there typically wouldn't be an error
- We can simulate an error, by open Dev tools and blocking the URL
`/internal/metrics/vis/data` like so <img width="604" alt="Screenshot
2023-09-21 at 11 49 41"
src="ad320569-33b2-4335-8052-981d1761ea67">
on doing this, we then attempt refreshing the query, we would then be
presented with an error toast, similar to the screenshot below;
<img width="482" alt="Screenshot 2023-09-21 at 11 52 51"
src="fef07e72-625b-4457-abc3-9214d64f9e48">
click the refresh query button as much as you like to increase it's
recurrence count.
- From here on we verify that; clicking the dismiss button sends a
telemetry event, also not interacting with the toast and it's display
lifetime elapsing with the toast clearing itself, the telemetry gets
sent still. In either case there should be a request calling the
resource `kibana_browser` with a payload containing the telemetry event
definition above.
### Checklist
<!-- Delete any items that are not applicable to this PR. -->
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
<!-- - [ ] Any UI touched in this PR is usable by keyboard only (learn
more about [keyboard
accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ->
### Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.
When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:
| Risk | Probability | Severity | Mitigation/Notes |
|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces—unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes—Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
The full typecheck would definitely fail on the on_merge job, and the
selective typecheck doesn't make much sense (if it was already through
that step in the PR.) so we're temporarily disabling this step
completely.
## Summary
With the serverless circuit breakers we're setting, we could see delays
up to 64 minutes so we need to increase the max bucket allowed when
capturing task run delays.
Adds a query param for the environment to the `GET
/internal/apm/services/{serviceName}/metadata/details` endpoint.
### Before
01865a3a-f312-4356-aafd-b21b88045487
### After
e1f2fd00-4b44-4f86-8221-775ec6494913
Closes https://github.com/elastic/kibana/issues/167146
Resolves: #158679
This PR removes the stack version from the EventLog index and datastream
names.
As we already use `kibana-event-log-*` as indexPattern,
`kibana-event-log-ds` is used as DataStream name to avoid creating a
breaking change.
**Changes:**
| Name | Old | New |
| -------- | ------- | ------- |
| Datastream | `kibana-event-log-<version>` | `kibana-event-log-ds` |
| IndexPattern | `kibana-event-log-*` | `kibana-event-log-*` (No change)
|
| IndexTemplate | `kibana-event-log-<version>-template` |
`kibana-event-log-template` |
Backing indices still have `<date>-000001` suffix but i think this is
expected.
## To verify:
Run Kibana and ES in main with `-E path.data=../local-es-data` to save
the data.
Create a rule and let it run and create some alerts.
See the alerts in the rule details page.
Stop ES and Kibana
Switch to this PR
Run Kibana and ES again with `-E path.data=../local-es-data`
See the all old and new alerts in the rule details page.
The old index created by the main branch should remain, therefore the
both old and the new indices (with and without version) should be
visible in the console.
## Summary
This fixes an issue where the Search plugin was inaccessible for
unauthenticated user, eg. for Kibana in read-only demo setups.
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
This PR removes the d3-cloud library specified as a dependency in Kibana
`package.json`
The current tag-cloud uses the d3-cloud version library that is a
dependency of elastic-charts.
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
Addresses https://github.com/elastic/kibana/issues/160411
## Summary
This PR adds a package that contains a form component for the Advanced
Settings UI in serverless.
This implementation was extracted from the the `Form` component in the
`advancedSettings` plugin, excluding some functionalities:
- The form doesn't support search queries.
- The form doesn't divide the settings into categories.
### Testing
The form can be tested in the Storybook Preview from the CI build. Some
things to be tested:
- Making changes to any of the fields displays the bottom bar.
- Clicking the Cancel button clears the changes.
- Clicking the Save button triggers a `saveChanges` action with the
correct changes.
- The bottom bar correctly shows the number of unsaved settings.
- Toggling the `isSavingEnabled` control to `false` disables all fields.
- Toggling the `requirePageReload` control to `true` causes saving of
changes to any of the fields to trigger a `showReloadPagePrompt` action.
### Checklist
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
<!--
### Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.
When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:
| Risk | Probability | Severity | Mitigation/Notes |
|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces—unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes—Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
-->
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Clint Andrew Hall <clint@clintandrewhall.com>
## Summary
fixes
- https://github.com/elastic/security-team/issues/7557
instead of using Kibana version for Cloudformation and Cloud Shell
params in CNVM and CSPM integrations, check if the version of an agent
that matches the current Kibana version actually available as an
artifact. Relevant for serverless, where Kibana version points to
not-yet released versions of Elastic Agent.
### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
After merging #167060, `Check Types` is going to fail in the on merge
pipeline until all type errors are triaged. For now, lets use the commit
diff type check.
## Summary
fix:
[https://github.com/elastic/kibana/issues/166616](https://github.com/elastic/kibana/issues/166616)
When we open exception flyout we do request a rule
Then in the rule details page, `alertDefaultFilters` was memoized based
on whole rule object
And if the rule changes it rerenders the whole alerts table.
In the attached video it rule changes because of rule execution time.
I make `useMemo` and `use effect` for these cases really on rule
property, but not full object
eba7c3ce-84b9-47a7-8bc9-a15bc0179e2c