Commit graph

47234 commits

Author SHA1 Message Date
Konrad Szwarc
a2b70a0d45
[EDR Workflows][Insights][UI] Rename Endpoint Insights to Automatic Troubleshooting in Permissions (#216977)
Docs update request -
https://github.com/elastic/docs-content/issues/1015

This PR updates the Permissions flyout to rename Endpoint Insights to
Automatic Troubleshooting. The change ensures the title and description
align with the current feature name.

![Screenshot 2025-04-03 at 11 12
12](https://github.com/user-attachments/assets/a9f5b63b-a10f-49eb-b2ab-d550ef2f7ddf)
2025-04-16 16:58:32 +02:00
Lisa Cawley
b969cc9e3d
Update API URLs in doc link service (#215084)
Co-authored-by: Ignacio Rivas <rivasign@gmail.com>
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
2025-04-16 07:18:47 -07:00
Kevin Qualters
c277812ffe
[Security Solution] Fix redux action being fired because of unused react-router value (#217055)
## Summary

This pr fixes a bug with the RouteCapture component, used at a high
level in the security solution component tree, to reflect url changes
into redux. The code previously used the full result of
'react-router-dom' 's useLocation hook as the payload, which contains 4
parameters, pathname, search, hash that we make use of, and a 4th that
was added sometime later by the library that is essentially a random id
generated every time the hook is called, called key. We have never used
this, and it was being inadvertently copied into the redux state, and
also causing some other actions or hooks based listeners to run I think
as well.

Below is the contrived example of going from the home page to an empty
alerts page, and you can see 4 actions in the after, and 5 in the
before, with 1 updating only the key. May reduce more unneeded actions
with more going on in the page, but exactly how many is not known.
Before:

![image](https://github.com/user-attachments/assets/93cc2c5a-56e4-4764-8791-c41879fd5b45)


After:

![image](https://github.com/user-attachments/assets/ebd75055-4e17-497b-bed2-a5fd58c5c92f)


### Checklist

- [ ] [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
2025-04-16 10:13:44 -04:00
Agustina Nahir Ruidiaz
f00f83715c
[Security Solution][Onboarding] Adding telemetry to video selectors (#217280)
## Summary

New event created for the video selectors inside rules, dashboards and
alerts cards.

```
export interface OnboardingHubSelectorCardClickedParams {
  originStepId: string;
  selectorId: string;
}
```

To verify:

Add these lines to kibana.dev.yml

```
logging.browser.root.level: debug
telemetry.optIn: true
```

1. In the onboarding hub, expand the rules card
2. It should log `Report event "Onboarding Hub Step Selector Clicked"`.


https://github.com/user-attachments/assets/c1b1084e-4917-4412-93ed-984a74b6b6b4


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] [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

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-16 15:42:30 +02:00
Alexey Antonov
bf7389f515
fix: [Analytics:Visualize Library page]Dialog modal missing title from announcement (#217829)
Closes: #215112

**Description**
Dialog modal, flyout, field visible title should be announced for the
users, especially using assistive technology to know what dialog modal,
flyout opened, what field is active and what is needed to enter in it.

**Changes made:**

1. Added `aria-labelledby={flyoutTitleId}` for mentioned places
2025-04-16 16:19:03 +03:00
Elena Stoeva
dec6a17ec0
[Data Streams] Fix displayed index mode (#215683)
Fixes https://github.com/elastic/kibana/issues/208671

## Summary

Before this PR, the displayed index mode of the data streams was
determined based on the index mode of the associated index template.
However, the index mode can also be set through the component template,
so that logic is not reliable and can cause incorrectly displayed index
mode like described in https://github.com/elastic/kibana/issues/208671.

In this PR, we replace this logic with the recently added `index_mode`
field to the Es Get Data Streams API (see
https://github.com/elastic/elasticsearch/pull/122486).

**How to test:**
1. Create a component template with a LogsDB index mode (you can also
test with other index modes):
```
PUT _component_template/my-component-template
{
  "template": {
    "settings": {
      "index": {
        "mode": "logsdb"
      }
    }
  }
}
```
2. Create an index template that is composed of the component template
above:
```
PUT _index_template/my-index-template
{
  "index_patterns": [
    "my-ds-*"
  ],
  "data_stream": {},
  "composed_of": [
    "my-component-template"
  ]
}
```
3. Create a data stream that matched the index pattern from the index
template above:
```
PUT _data_stream/my-ds-1
```
4. Go to the data streams table and verify that the index mode is
displayed correctly in the table.

<img width="1165" alt="Screenshot 2025-03-24 at 18 12 04"
src="https://github.com/user-attachments/assets/ea211c14-3d03-49c7-ace7-88b15e294d1f"
/>


5. Click on the created data stream and verify that the displayed index
mode in the details panel is correct:

<img width="1165" alt="Screenshot 2025-03-06 at 14 36 12"
src="https://github.com/user-attachments/assets/954864e2-ae2a-4cb8-9eef-2c5f8b417f52"
/>

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-16 15:09:33 +02:00
Sergi Massaneda
937dbba41e
[Security Solution] Allow disabling experimental features via config (#217363)
## Summary

This PR adds support for disabling experimental features using the
existing `xpack.securitySolution.enableExperimental` configuration.

This solves the problem of not being able to disable a feature by config
once the feature has been enabled by default.

### The Challenge 

When we start developing a feature under an experimental flag we always
follow the same steps:

1 - Create the experimental flag disabled by default + enable it via
config for testing
2 - Implement the feature
3 - Enable the experimental flag by default when we want to release the
feature.
4 - Deployments can disable the feature via config (as a safety
measure).
5 - Remove the experimental flag after some time.

We start by creating the flag disabled by default while we implement it.
In `experimental_features.ts`:
```ts
export const allowedExperimentalValues = Object.freeze({
  myFeatureEnabled: false,
  [...]
```
And enable it via config with:
```yml
xpack.securitySolution.enableExperimental:
  - myFeatureEnabled
```

Once the implementation is done and the experimental flag can be enabled
by default, we have to do a trick:
Since the `xpack.securitySolution.enableExperimental` config can only
turn flags to _true_, instead of setting `myFeatureEnabled: true`, what
we have to do is rename the flag to `myFeatureDisabled` and keep the
value as _false_:

```ts
export const allowedExperimentalValues = Object.freeze({
  myFeatureDisabled: false,
  [...]
```
Then we also need to do a code refactor to update all the places in the
code where the flag was checked: `if (myFeatureEnabled)` -> `if
(!myFeatureDisabled)`

This way, we have the option of disabling the feature via config (in
case something goes wrong):
```yml
xpack.securitySolution.enableExperimental:
  - myFeatureDisabled
```

### A solution

This PR introduces the possibility to turn a flag to _false_ using the
same `xpack.securitySolution.enableExperimental` config. This was
preferable to introducing a new config since this one is already
whitelisted in Cloud UI, can be easily overritten in deployments, and
also because people are used to it.

With these changes, the first two steps would be the same, with the
difference that we won't need to have the _Enabled_ or _Disabled_ word
at the end of the flag name. It could be just the feature name, in
`experimental_features.ts`:
```ts
export const allowedExperimentalValues = Object.freeze({
  myFeature: false,
  [...]
```

And when we need to enable the feature by default, we can just turn it
to `true`:
```ts
export const allowedExperimentalValues = Object.freeze({
  myFeature: true,
  [...]
```
No tedious refactor or confusing naming would be required. 

Then, in case we need to disable the feature in a production deployment
for some reason, we could just do this via config :
```yml
xpack.securitySolution.enableExperimental:
  - disable:myFeature
```

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-16 14:09:28 +02:00
Alexey Antonov
b91da375a3
fix: [Analytics:Graph page]Dialog modal missing title from announcement (#217827)
Closes: #214760

**Description**
Dialog modal, flyout, field visible title should be announced for the
users, especially using assistive technology to know what dialog modal,
flyout opened, what field is active and what is needed to enter in it.

**Changes made:**

1. Set correct value for` aria-labelledby` attr.
2025-04-16 15:03:38 +03:00
Kibana Machine
eaa19786d2 skip failing test suite (#218378) 2025-04-16 12:08:58 +02:00
Antonio
08d0717d46
[ResponseOps][MaintenanceWindow] Public maintenance window API (#216756)
Closes #198685

## Summary

This PR creates a public Maintenance Window API.

The work was done on a feature branch over multiple separate PRs. Here
we will merge the feature branch into `main`.
- https://github.com/elastic/kibana/pull/209734
- https://github.com/elastic/kibana/pull/213694
- https://github.com/elastic/kibana/pull/214747
- https://github.com/elastic/kibana/pull/213771

The [documentation PR](https://github.com/elastic/kibana/pull/212377)
still needs to be merged.

## Release Notes

Publish new public APIs for the Maintenance Window.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: lcawl <lcawley@elastic.co>
2025-04-16 11:39:38 +02:00
Mykola Harmash
fc686f8a6d
[Oblt Onboarding] Remove Custom Logs flow (#216053)
Closes https://github.com/elastic/kibana/issues/208025

This change deleted the "Stream log files" onboarding flow which is now
replaced by the Auto Detect flow.

| Before | After |
| --- | --- |
| ![CleanShot 2025-03-27 at 14 55
55@2x](https://github.com/user-attachments/assets/46a90769-8b3d-495f-b600-9a8f24964761)
| ![CleanShot 2025-03-27 at 14 56
28@2x](https://github.com/user-attachments/assets/e800cab8-cfd2-48e8-8d1a-8a41c037d532)
|


Changes made:
* Deleted UI components responsible for rendering the Custom Logs flow
* Deleted the definition for a custom card in the onboarding search
results
* Deleted API endpoints and supporting files used only by the Custom
Logs flow
* `/internal/observability_onboarding/logs/setup/environment` endpoint
was still used by the OTel Host flow, so it was moved to a dedicated
OTel route and pathname changed to
`/internal/observability_onboarding/otel_host/setup`
* Functionality of the `/internal/observability_onboarding/otel/api_key`
endpoint was merged into the above mentioned OTel route, so UI has to
make a single API request to get all the necessary information from the
server
* Deleted Scout UI tests for the Custom Logs flow
* Deleted API integration tests for the deleted endpoints
* API tests that we previously testing
`/internal/observability_onboarding/logs/flow` were converted to test
`/internal/observability_onboarding/flow'` used by the Auto Detect flow

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-16 11:01:18 +02:00
Tomasz Ciecierski
ff8f7333c2
[EDR Workflows] Upgrade Osquery and ECS schemas (#217802) 2025-04-16 10:51:30 +02:00
Konrad Szwarc
ce10318ef3
[EDR Workflows][Osquery][Cypress] Fallback for KibanaStatus error response when fetching kibana version (#218240)
This PR fixes an issue that can cause test execution to fail when `await
kbnClient.status.get()` doesn't return the Kibana version. The fallback
now uses the version from `package.json` in that case.

Example failure:
https://buildkite.com/elastic/kibana-on-merge/builds/66520#0196344e-f27e-4ab8-9bf7-f041b94c665d/268-3998

---------

Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
2025-04-16 10:43:10 +02:00
Kenneth Kreindler
1d430d4d35
[Security solution] [Ai Assistant] ES|QL generation with self healing (#213726) 2025-04-16 09:12:49 +01:00
Francesco Fagnani
ec88cca373
[Synthetics] Added drilldown to synthetics stats overview embeddable (#217688)
This PR closes #208066 by adding drilldowns to the synthetics stats
overview embeddable.



https://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46
2025-04-16 09:52:16 +02:00
Kurt
d7fd324356
Feature/saml multi tab (#212148)
## Summary

Closes https://github.com/elastic/kibana/issues/199188

Allow multiple SAML authc calls to succeed.

## Testing 

Configure logging:
```yaml
logging.loggers:
  - name: plugins.security
    level: debug
```

### See the failure

Pull `main` and copy the code from the following files in this PR into
their respective files on that branch:

- `packages/kbn-mock-idp-plugin/public/login_page.tsx`
- `packages/kbn-mock-idp-plugin/server/plugin.ts`
- `packages/kbn-mock-idp-utils/src/index.ts`
- `packages/kbn-mock-idp-utils/src/utils.ts`

Start KB/ES in serverless from this modified main branch

Open 2 tabs to the local serverless login screen

As the same user, click login and change tabs and click login again

The you will get an error.

Shut down KB/ES

### See the success

Start KB/ES in serverless from this PR

Open 2 tabs to the local serverless login screen

As the same user, click login and change tabs and click login again

Both should succeed

## Release note
Refreshing multiple tabs where the user has logged out will
simultaneously login successfully

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-16 05:47:06 +02:00
Tiago Costa
2de9febaca
skip flaky suite (#218208) 2025-04-16 02:41:35 +01:00
Saikat Sarkar
398123d22c
[Playground chat] UX cleanup for EIS on by default (#217410)
## Summary

This PR involves changes in the UX for playground setup page and
Palyground Chat. Following items have been addressed.

- [x] Convert LLM Connected button to a label that is not interactive
- [x] Rename that label to "Elastic LLM Connected" if EIS is connected,
otherwise "LLM Connected"
- [x] Split the main panel into two panel: one for connecting to an LLM,
one for adding data
- [x] Add unit tests

# Before 
![Screenshot 2025-04-09 at 4 48
35 PM](https://github.com/user-attachments/assets/a632bc94-eeea-4403-bbd3-f7bfcc0deae2)
![Screenshot 2025-04-09 at 4 49
37 PM](https://github.com/user-attachments/assets/fb667ff6-6efc-470b-bb55-5b63bf33f61a)



# After
![Screenshot 2025-04-14 at 5 43
20 PM](https://github.com/user-attachments/assets/d9da3bd9-b7b5-490d-9b7c-d4783e3a4d3b)

![Screenshot 2025-04-09 at 4 40
24 PM](https://github.com/user-attachments/assets/ab0a9fac-d8e0-4f64-a7d5-588c2990a015)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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/src/platform/packages/shared/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
- [ ] 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 was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Liam Thompson <32779855+leemthompo@users.noreply.github.com>
2025-04-15 19:04:00 -05:00
Alexey Antonov
9ee5741134
fix: [Analytics:Discover page]Elements missing title from announcement (#217821)
Closes: #214335

**Description**
Dialog modal, flyout, field visible title should be announced for the
users, especially using assistive technology to know what dialog modal,
flyout opened, what field is active and what is needed to enter in it.

**Changes made:**
1. Added `aria-labelledby={flyoutTitleId}` for mentioned places
2025-04-15 17:33:40 -06:00
jennypavlova
7c9a3ee1f2
[APM][OTel] EDOT error summary fix (#217885)
## Summary

This PR fixes the issue with the error summary missing items using edot.
It includes e2e tests with synthtrace for both edot and otel services.

TODO 

- [x] Test with serverless (waiting for the PR to be deployed)
Tested on serverless works as expected: 

<img width="2560" alt="image"
src="https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f"
/>
2025-04-15 21:44:11 +02:00
Shahzad
83f3d614cc
[Custom threshold rule] Allow group for ip type fields !! (#216062)
Allow group by for ip fields !!

---------

Co-authored-by: Faisal Kanout <faisal.kanout@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 20:15:02 +02:00
christineweng
a4a11bb46f
[Security Solution][Alert flyout] Edit highlighted fields in overview tab (#216740)
## Summary

This PR allows user to edit highlighted fields in alert flyout, under
`Investigations`. The modal shows default highlighted fields that are
defined by Elastic, and allow user to edit custom highlighted fields.

Currently this feature is behind feature flag
`editHighlightedFieldsEnabled` (not enabled by default).



https://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9



#### Disabled when:

<details>
<summary>User does not have security privilege</summary>


![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)

</details>

<details>
<summary>Prebuilt rule w/o enterprise license (showing upsell)</summary>


![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)

</details>

#### Do not show the button when:
<details>
<summary>Not an alert </summary>


![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)

</details>

<details>
<summary>rule preview</summary>


![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)

</details>

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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/src/platform/packages/shared/kbn-i18n/README.md)
- [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] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-04-15 12:18:35 -05:00
Ievgen Sorokopud
34df5e3328
[Attack Discovery][Scheduling] Fix the attack discovery alert type (#218025)
## Summary

This is a fix for the incorrectly generated attack discovery alert
schema type due to the limitation of the generation tool.
2025-04-15 18:18:33 +02:00
Drew Tate
9b4403b7dc
[ES|QL] remove worker (#218006)
## Summary

Fix https://github.com/elastic/kibana/issues/217923

Investigations in https://github.com/elastic/kibana/issues/217368 showed
that there was basically no performance impact to passing the AST across
a thread boundary. But we also didn't detect a pressing reason to remove
the worker.

Since then, however, we noticed another cost associated with the worker:
it's a hefty Javascript file, even in production builds. In addition, we
are doing parsing on the main thread _and_ the worker, so the
`kbn-esql-ast` package is actually being loaded and parsed twice by the
browser, once for the main thread and once for the worker.

This PR removes our worker. Our parsing associated with validation and
autocomplete will still be done asynchronously, but on the main thread.

I do not see any regression in perceived performance.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-04-15 10:18:07 -06:00
Kibana Machine
f660e0140e skip failing test suite (#218282) 2025-04-15 18:01:25 +02:00
Janki Salvi
0aeadb80ca
[ResponseOps][Connectors] throw error for empty correlationId or incidentId (#217639)
## Summary

Resolves https://github.com/elastic/kibana/issues/217004


### 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
2025-04-15 16:10:16 +01:00
Tim Sullivan
b9c2b57c23
[Solution Side Nav] Remove PanelContentProvider & support optional title in nav node (#218156)
Epic: https://github.com/elastic/kibana-team/issues/1439
Needed for https://github.com/elastic/kibana/pull/218050 (adjustments to
types for `title` field in `ChromeProjectNavigationNode`)

## Summary

1. `PanelContentProvider` was used for security solution, but is no
longer used. This removes it to simplify the interfaces for panel .
2. Allow title of `navGroup` to be optional. This allows the correct
design for nav items in the footer, which are child-items of a nav group
with no title

## Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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
2025-04-15 08:04:01 -07:00
Francesco Fagnani
f693e7218e
[Synthetics] Sync global parameters is called in the endpoints to add, edit or delete global params (#216197)
This PR closes #215668.

The global parameters are synched in the endpoints where they are
created, edited or deleted.

---------

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 16:53:14 +02:00
Kibana Machine
7b629a9908 skip failing test suite (#207773) 2025-04-15 16:38:12 +02:00
Alexey Antonov
d47e77627a
fix: [Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model snapshot flyout missing title from announcement (#217831)
Closes: #216147

**Description**
Dialog modal, flyout, field visible title should be announced for the
users, especially using assistive technology to know what dialog modal,
flyout opened, what field is active and what is needed to enter in it.

**Changes made:**

1. Added` aria-labelledby={flyoutTitleId} `for mentioned places
2025-04-15 16:38:48 +03:00
Marco Antonio Ghiani
d36b269e60
[Streams 🌊] Schema editor bug fixes (#218225)
## 📓 Summary

These changes address various minor issues reported on the Schema
Editor.

Closes #217888 
Closes #217889
Closes #217891
Closes #217892
Closes #217893 

### [Streams 🌊] "System managed" appears in the list of field types in
the schema editor

<img width="659" alt="Screenshot 2025-04-15 at 10 50 37"
src="https://github.com/user-attachments/assets/5f9e832a-e7ea-4e19-9507-2bd3669c7043"
/>

### [Streams 🌊] Clicking the link in the schema editor to edit a field
mapping in the parent stream loads a new page


https://github.com/user-attachments/assets/de1a1b09-5eca-4143-a822-2de6814333b6

### [Streams 🌊] Saving changes in the schema editor for an inherited
field results in error


https://github.com/user-attachments/assets/603c8a89-6df3-474a-91bc-ee7bbee0f250

### [Streams 🌊] Disable submit button when there is invalid input for
mapping in the schema editor


https://github.com/user-attachments/assets/22dfb91a-fa37-4b68-a8c5-c5f3a89a98e5

### Advanced fields mapping simulation and client-side validation


https://github.com/user-attachments/assets/faf99f86-5074-4587-9cc6-65f39f3595e9

### [Streams 🌊] Increase width in the type filter popup in schema editor


https://github.com/user-attachments/assets/b6eab484-308b-42dd-887b-560fb91986da
2025-04-15 15:36:09 +02:00
Ievgen Sorokopud
10943319b2
[Attack Discovery][Scheduling] UI: "Attack Discovery Scheduling" management (#12007) (#217917)
## Summary

Main ticket ([Internal
link](https://github.com/elastic/security-team/issues/12007))

These changes add the attack discovery schedules management table.


https://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318

## Key changes

* UI side API handlers
* Create schedule workflow
* Schedules table
* Enable schedule from the table
* Disable schedule from the table
* Delete schedule from the table
* Pagination and sorting in find schedules API

## NOTES

The feature is hidden behind the feature flag (in `kibana.dev.yml`):

```
feature_flags.overrides:
  securitySolution.assistantAttackDiscoverySchedulingEnabled: true
```
2025-04-15 15:06:06 +02:00
Joe Reuter
e6cdba65ed
🌊 Streams: Use better default field (#217478)
This PR passes the current sample documents to the default form state
generation for new processors to pick a good default field.

The logic that's actually employed for `dissect` and `grok` is the
following:
* Go through all docs and order string fields occurring by how many
values they have
* Pick the top one from a list of "well known" fields that probably make
sense (in case of a tie, go by a the ordering of the well known fields)
* If no field is found this way, just leave it empty - this still shows
the full table and the user can pick the field they care about

Especially for otel this should be helpful.
2025-04-15 14:29:09 +02:00
Marshall Main
dee4dfbe59
[Security Solution][Detection Engine] Split search request building from search (#216887)
## Summary

This PR better separates the request building logic in the detection
engine from query building logic, removes outdated error checking logic,
updates the `singleSearchAfter` `search` call to no longer use the
legacy `meta: true` param, and improves search response type inference.
2025-04-15 08:19:34 -04:00
Alexey Antonov
4399248cf0
fix: [ML] Data Frame Analytics: Analytics selection flyout missing title from announcement (#217666)
Closes: https://github.com/elastic/kibana/issues/217511

**Description**
Dialog modal, flyout, field visible title should be announced for the
users, especially using assistive technology to know what dialog modal,
flyout opened, what field is active and what is needed to enter in it.

**Changes made:**
1. Set correct value for `aria-labelledby` attr.
2025-04-15 15:17:20 +03:00
Stratoula Kalafateli
fa2d3912f4
[Lens] Do not break when the table has no data (#217937)
## Summary

When the datatable comes with empty results the visualization fails with
bad way

<img width="396" alt="image"
src="https://github.com/user-attachments/assets/b4e266d7-edbd-452b-9192-84c957fe98db"
/>


With the fix
<img width="756" alt="image"
src="https://github.com/user-attachments/assets/d061d29e-9246-432a-944b-308b88d161e7"
/>



How to replicate:

- Create a field ES|QL control with 2 values (extension and geo.dest).
You can do it with multiple ways. I created with typing `FROM
kibana_sample_data_logs | STATS count = COUNT(*) BY` and then `Create
control`.
- Use the variable in another panel with query: `FROM
kibana_sample_data_logs | WHERE ??field == "css" | KEEP extension` (The
control value should be in the extension). This will work
- Select the second field (geo.dest). This will return an empty query
and will break the table viz.

### 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
2025-04-15 14:03:09 +02:00
Maxim Palenov
87f8274f41
[Security Solution] Suppress prebuilt rule SO duplicates in review install endpoint (#218123)
## Summary

This PR makes sure a buggy `security_detection_engine` package doesn't affect a preview installation endpoint. Older security detection rules package versions contain saved object rule duplicates affecting the endpoint.

Having `security_detection_engine` v`8.17.1` package installed `/internal/detection_engine/prebuilt_rules/status` and `/internal/detection_engine/prebuilt_rules/installation/_review` endpoints return a different number of rules available to install.

## Details

Older `security_detection_engine` package versions contain rule saved objects duplicates representing the latest version. For example, `8.17.1` version has a rule `Microsoft 365 User Restricted from Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16` and the latest version `206`. Since a package may contain multiple historical rule versions it sticks to the following format `<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and `<version>` it's version. Some older package versions omit `<version>` for the latest rule version. `Microsoft 365 User Restricted from Sending Email` rule mentioned above has two equal assets corresponding to the latest version with the only difference in the saved object id `0136b315-b566-482f-866c-1d8e2477ba16` and `0136b315-b566-482f-866c-1d8e2477ba16_206`.

Prebuilt rules preview endpoint was designed to handle `<rule_id>_<version>` format only. Consequently, it improperly handles older prebuilt rules package version.

This bug manifested in https://github.com/elastic/kibana/pull/217544 where `security_detection_engine` version has been bumped to `8.18.1`. It resulted in a failed integration test. Further investigation has shown that the test installs an older package version `8.17.1` to assert prebuilt rules upgrade workflow works correctly.

The fix is implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by using `Map` to deduplicate prebuilt rule assets.
2025-04-15 13:45:08 +02:00
Anton Dosov
23fe329228
[TableListView] Remove listing limit warning (#217945)
## Summary

Temporary solution for
https://github.com/elastic/kibana/issues/207135#issuecomment-2789752279


![image](https://github.com/user-attachments/assets/061282ba-aabc-46f2-a859-d57deb000c73)

> [!NOTE]  
> All items are still findable by query or tags 

Per Graham, 

> I would love to not need to display a warning but even with today's
implementation I would remove it as its benefits don't outweigh its
drawbacks IMO

We also plan to work on server-side pagination soon
2025-04-15 13:42:23 +02:00
Dzmitry Lemechko
edf8d6d975
[kbn/response-ops-alerts-table] set data-test-subj for EuiDataGrid based on loading status (#217230)
## Summary

Follow-up to #217153

### Problem Description
In UI tests, there was no reliable way to determine when the Alerts
table content had fully loaded before interacting with it. This could
lead to flaky tests where interactions occurred before the data was
available (rows are not present yet), causing failures or inconsistent
results (checking for row with specific content to exist)


![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)

Quite often we see tests waiting for global indicator (spinner in the
top left corner) to be hidden as a condition for page loading is
complete. This is quite unreliable approach and testing tools have no
consistent built-in solution: FTR, Cypress or even Playwright - network
idle wait is officially marked as
[discouraged](https://playwright.dev/docs/api/class-page)).
We need to help testing tool to interact with UI components in ready
state only.


### Solution
To address this issue, I modified a `data-test-subj` property in the
`<EuiDataGrid>` component. The property dynamically switches between
`alertsTableIsLoading` when data is still loading and
`alertsTableIsLoaded `once the content is available. This allows UI
tests to wait for precisely `alertsTableIsLoaded` to be in in the DOM
before interacting with the table, ensuring more reliable and stable
test execution.


Passed 10/10
<img width="538" alt="image"
src="https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53"
/>
2025-04-15 13:05:49 +02:00
Cristina Amico
7ffe810fc4
[Fleet] Update deb and rpm install commands (#218068)
Fixes https://github.com/elastic/kibana/issues/212609

## Summary

The `--install-servers` flag present in the enroll commands for fleet
servers and elastic agents doesn't work in case of `deb` and `rpm`
installers. It should be used `ELASTIC_AGENT_FLAVOR` instead (see [this
comment](https://github.com/elastic/kibana/issues/212609#issuecomment-2752335880)
explaining it).

I fixed the command in those cases and also added some unit tests (that
weren't present in some cases).

### Testing 
- try to enroll a fleet server or elastic agent
- check that `rpm` and `deb` commands don't have `--install-servers` in
the enroll commands but

```
sudo ELASTIC_AGENT_FLAVOR=servers dpkg -i $path_to_deb
```

### screenshots
<img width="780" alt="Screenshot 2025-04-14 at 16 40 39" src="http
<img width="743" alt="Screenshot 2025-04-14 at 16 40 30"
src="https://github.com/user-attachments/assets/0bb405a7-7682-44ed-959e-b81832fd84af"
/>

s://github.com/user-attachments/assets/f693f830-7e7f-43bd-a0ac-f378352cda93"
/>


### Checklist

- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [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
2025-04-15 12:14:40 +02:00
Carlos Crespo
5423655975
[Infra] Check ML permissions before requesting ML data (#218069)
fixes [#189213](https://github.com/elastic/kibana/issues/189213)

## Summary

Checks whether the user has permission to ML before triggering requests
to fetch ML data


### How to test

- Create a user whose role doesn't have permission to ML, but has
permission to O11y apps
- Run `node scripts/synthtrace infra_hosts_with_apm_hosts --live
--clean`
 - Navigate to Inventory Infrastructure / Hosts View

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-15 12:02:51 +02:00
Rômulo Farias
b1ffcf3060
Add 'Generic' Entity Engine Definition (#211232)
## Summary

Introduce a new Entity Engine Definition called Generic. The larger
context on why we are introducing a new entity definition is described
on this [private github
issue](https://github.com/elastic/security-team/issues/11857).

The tldr; is that we would like to have an entity store with all the
entities described by the [entity ecs
field](https://github.com/elastic/security-team/issues/11857). The
decision to call `generic` entity definition comes from the fact that
any entity can be described with the `entity` field - user, host,
service, database, queue, subscription and so on. Therefore it makes
sense to have the concept called `generic` entity, meanwhile the
existent entity definitions will be called concrete entities, because
they describe a very concrete type of entity (currently user, host,
service).

Other changes included on this PR:

- Don't override `entity.name` with `entity.id`, only set if no value is
found
- Migrate the usage of `entity.type` as the entity definition type to
`entity.EngineMetadata.Type`
- Changes touching Entity Analytics code around
`getRiskEngineEntityTypes` and `getAssetCriticalityEntityTypes`. There
was a somewhat unnecessary and duplicated logic in these functions which
essentially described the concrete entity definitions to be used by
entity analytics flows. A new function called
`getEntityAnalyticsEntityTypes` was introduced which unifies this logic
and returns the entity types that Entity Analytics care about.


Video of a scroll through the entities processed by the generic entity
store, source of the data is cloudbeat asset management integration.



https://github.com/user-attachments/assets/450afd05-dee0-4449-aaec-2cd69645d6ec

#### How to test:

- In Advanced Settings (`/app/management/kibana/settings`), enable
`securitySolution:enableAssetInventory`

<img width="883" alt="image"
src="https://github.com/user-attachments/assets/c342abb2-efb3-40a8-b945-d9558f085f34"
/>

- In Entity Store management (`/security/entity_analytics_entity_store`)
enable entity store
<img width="1251" alt="image"
src="https://github.com/user-attachments/assets/41f709e1-0aea-47dc-9c98-ffaebf18fdb1"
/>

- Verify Generic Engine Status
<img width="1203" alt="image"
src="https://github.com/user-attachments/assets/d26b764a-4695-436e-85f7-e3ed7df5a3be"
/>

- Ingest documents with `entity.id` and `entity.*` fields. Personally I
run `cloudbeat` asset discovery locally

- Verify ingested documents in
`.entities.v1.latest.security_generic_default`

<img width="1496" alt="image"
src="https://github.com/user-attachments/assets/88286cb9-38c1-4f9d-83a7-57ba33811c60"
/>

--

**OBS: Also test enabling the store without the uiSetting enabled, so
you can make sure that it doesn't enable**

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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/src/platform/packages/shared/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] 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)
- [x] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [x] I see risk on performance, given the amount of aggregations the
generated transform does
- tested, although we see a higher spike in CPU than before, it's behind
a feature flag and it's going to be used in controlled data sets (entity
centric logs that contain `entity.id` field) we decided it's good enough
to go.
- [ ] Enablement/disablement of entity store in a different uiSetting
configuration.
- [ ] Enable entity store with `securitySolution:enableAssetInventory`
disabled. Then enable `securitySolution:enableAssetInventory` ==> No
generic entity definition installed. You can manually install it in the
EntityStore status page
- [ ] Enable entity store with `securitySolution:enableAssetInventory`
enabled. Then disable `securitySolution:enableAssetInventory` definition
==> hanging assets of generic entity store that can be deleted manually

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 11:50:15 +02:00
Cristina Amico
89d6dabfc2
[Fleet] Create API that queries remote kibana sync status API by output ID (#217799)
Part II of https://github.com/elastic/kibana/issues/217025

## Summary

Create API that queries remote kibana sync status API by output ID. 

From the main cluster we call the remote kibana (simply using
node-fetch) and query the endpoint added in
https://github.com/elastic/kibana/pull/216178; this way the main cluster
can have the status of the synced integrations on the remote cluster.

### Testing
Note that dev_docs now have a guide to setup locally the remote
clusters:
https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/dev_docs/local_setup/remote_clusters_ccr.md

- Follow the testing steps from [this
PR](https://github.com/elastic/kibana/pull/216178)
- Install some integrations on cluster A (main) and wait 5 minutes to
get `SyncIntegrationsTask` running
- Verify that cluster B (remote) has the same integrations installed.
From dev tools, run

```
GET kbn:/api/fleet/remote_synced_integrations/status
```
- Go on dev tools on cluster A and run the new endpoint - `remote_id` is
the id of the remote output configured on cluster A:
```
GET kbn:/api/fleet/remote_synced_integrations/<remote_id>/remote_status
```
The response should be the same as above


### Screenshot
On Remote cluster (Cluster B):
<img width="1183" alt="Screenshot 2025-04-10 at 15 40 46"
src="https://github.com/user-attachments/assets/60ea1c1e-9ccf-4bcf-8637-bc4079483e61"
/>

On main cluster (Cluster A):

<img width="1690" alt="Screenshot 2025-04-11 at 11 10 30"
src="https://github.com/user-attachments/assets/e72fd729-3486-41b0-9194-487233415a75"
/>



### Checklist

- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-15 11:48:36 +02:00
Tomasz Ciecierski
076c378e30
[EDR Workflows] Remove commented out tests (#218201) 2025-04-15 11:46:50 +02:00
Kuba Soboń
4a8e8eb489
[Entity Store] Add first integration test for Host transform (#217286)
## Summary

Closes https://github.com/elastic/security-team/issues/10837

**WIP Draft**
Add first integration test for Security Solution's Entity Store. This
test checks basic API endpoint (`status`) and tests the first of three
transforms (`host`) on a single field (`host.ip`).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 11:29:25 +02:00
Elena Stoeva
4cf7c3c5b8
[Console] Finishing design touches (#217887)
Fixes https://github.com/elastic/kibana/issues/200195

## Summary

This PR adds the following small design improvements:

### 1. Ensures that the bottom border of the selection doesn't overlap
with the next line by shifting the border up.

Before:
<img width="1118" alt="Screenshot 2025-04-10 at 17 50 35"
src="https://github.com/user-attachments/assets/085aa499-7842-4bcf-ba97-49706b58c9ad"
/>


Now:
<img width="1124" alt="Screenshot 2025-04-10 at 17 51 05"
src="https://github.com/user-attachments/assets/37f2a6ca-3c0b-4a00-b1cd-117334feb480"
/>

We also increase the line height a little to ensure that the action
panel box fits inside a single-line request selection box:


<img width="1136" alt="Screenshot 2025-04-10 at 18 00 07"
src="https://github.com/user-attachments/assets/3f618049-d5d0-46c4-8d1b-5098a00985f5"
/>




### 2. Ensures that the left border of the selection doesn't overlap
with the line numbers by shifting the border to the right.

Before:
<img width="740" alt="Screenshot 2025-04-10 at 17 49 30"
src="https://github.com/user-attachments/assets/184599c3-d5e8-40b4-b8f4-a2f40caa2c92"
/>


Now:
<img width="652" alt="Screenshot 2025-04-10 at 17 50 01"
src="https://github.com/user-attachments/assets/edacd4aa-9478-4d1a-8217-d6d1181e452d"
/>


### 3. Increases the contrast between the selected text and the
selection blue box by increasing the transparency of the blue selection
box:


Before:
<img width="735" alt="Screenshot 2025-04-10 at 17 51 43"
src="https://github.com/user-attachments/assets/95ff61d9-f4ef-4db9-b3d5-4ed8a64cc792"
/>

Now:
<img width="1124" alt="Screenshot 2025-04-10 at 17 51 14"
src="https://github.com/user-attachments/assets/9b80c3a7-a053-49df-bfd2-f00b7765b545"
/>

---------

Co-authored-by: Matthew Kime <matt@mattki.me>
2025-04-15 10:08:32 +01:00
Georgiana-Andreea Onoleață
64a2f399d3
[ResponseOps][Cases]Horizontal scrolling in cases' comments overflows sidebar (#218107)
Closes https://github.com/elastic/kibana/issues/217994

## Summary

The comment section containing a table that requires horizontal
scrolling was being visually pushed to the right due to the presence of
the user avatar. To ensure the comment section aligns properly with the
rest of the content and doesn't overlap the sidebar reserved for
connectors and custom fields, the `max-width` property was adjusted
accordingly.

The offset comes from: 
- the width of the euiAvatar--m (which uses the `xl` size token)
- the left padding of the `euiTimelineItemEvent`, which corresponds to
`euiTheme.size.base` (16px)
2025-04-15 12:06:29 +03:00
Stratoula Kalafateli
3c1f04dbb4
[ES|QL] Allows to retrieve empty columns (#218085)
## Summary

Closes https://github.com/elastic/kibana/issues/200039

Here we are asking ES to do a grouping between empty columns and
non-empty. The `dropNullColumns: true` in the request does the trick.

In case of true the response comes as:

```
// only columns with data
columns: [...]
// all columns
all_columns: [...]
```

When the query is empty the columns array comes empty but the
all_columns has all the columns information. The PR just takes the empty
columns scenario under consideration in order to serve the `all_columns`
instead. In that case the text based datasource has the info it needs to
serve a valid visualization state.


<img width="990" alt="image"
src="https://github.com/user-attachments/assets/7d0b2c58-eda2-4807-9203-36f7da48a6ff"
/>


<img width="814" alt="image"
src="https://github.com/user-attachments/assets/8b0ef3bf-14d5-4438-b8fd-a13d346da420"
/>


### Checklist

- [ ] [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
2025-04-15 10:28:38 +02:00
Ersin Erdal
f6c30d6b9a
Auto increase fields limit of the alert indices (#216719)
This PR adds the auto-increase the fields limit on startup when an
alerts index reaches its limits because of the dynamic fields.

# To verify:
To be able to test this PR we need a rule type that adds dynamic fields.
I used the custom threshold rule for this:

Go to the custom threshold rule type definition and change its
alerts.mappings to:
```
  mappings: {
    // dynamic: true,
    fieldMap: {
      'kibana.alerting.grouping': {
        type: 'object',
        dynamic: true,
        array: false,
        required: false,
      },
      ...legacyExperimentalFieldMap,
      ...Array(412)
        .fill(0)
        .reduce((acc, val, i) => {
          acc[`${i + 1}`] = { type: 'keyword', array: false, required: false };
          return acc;
        }, {}),
    },
    dynamicTemplates: [
      {
        strings_as_keywords: {
          path_match: 'kibana.alert.grouping.*',
          match_mapping_type: 'string',
          mapping: {
            type: 'keyword',
            ignore_above: 1024,
          },
        },
      },
    ],
  },
  ```
    
  Above changes adds 412 dummy fields to the alerts index to make it close to reach its fields limit (default: 2500).
  And makes everything under `kibana.alert.grouping` path to be added to the index as dynamic fields.
  
  Then apply the below changes to the custom threshold rule executor:
  ```
  const grouping: Record<string, string> = {};
        groups?.forEach((groupObj) => (grouping[groupObj.field] = groupObj.value));
  
        const { uuid, start } = alertsClient.report({
          id: `${group}`,
          actionGroup: actionGroupId,
          payload: {
            [ALERT_REASON]: reason,
            [ALERT_EVALUATION_VALUES]: evaluationValues,
            [ALERT_EVALUATION_THRESHOLD]: threshold,
            [ALERT_GROUP]: groups,
            // @ts-ignore
            ['kibana.alerting.grouping']: grouping,
            ...flattenAdditionalContext(additionalContext),
            ...getEcsGroups(groups),
          },
        });      
  ```
  
Above changes add the selected groups under `kibana.alerting.grouping` path.
  
Then:  
- Run ES with ` path.data=../your-local-data-path` to keep the data for the next start.
- Run Kibana
- Create a custom threshold rule that generates an alert and has at least 2 groups.
- Let the rule run.
- Go to `Stack Management` > `Index Management` and search for observability threshold index.
- Check its mappings, it should show the dummy fields you have added to the rule type and the first grouping you have selected while you were creating the rule type.
- Go to the Dev Tools and find your alert in the `.internal.alerts-observability.threshold.alerts-default-000001` index.
The other groups you have selected should be saved  under `_ignored` field:
```
"_ignored": [
     "kibana.alerting.grouping.host.name"
],
```
- Stop Kibana
- increase the number of dummy fields you have added to the rule type definition:
```
  ...Array(412) <-- make this greater than 412
        .fill(0)
```
- Start kibana again.
- The new fields should be added to the mappings. Check them on `Stack Management` > `Index Management` 
- Check also the index settings: `Stack Management` > `Index Management` > `.internal.alerts-observability.threshold.alerts-default-000001` > settings tab.
- `"mapping" > "total_fields" >  "limit" ` should be greater than 2500

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 09:38:27 +02:00
Tomasz Ciecierski
9595c1ebd5
[EDR Workflows] Fix Osquery tests (#215507)
Closes #197335
Closes #192128
Closes #181889
Closes #178404 
Closes #169785
2025-04-15 09:37:58 +02:00