Commit graph

535 commits

Author SHA1 Message Date
Lisa Cawley
51e84f49ba
[DOCS] Standardize advanced setting deprecation admonitions (#186314) 2024-06-17 18:18:39 +00:00
honeyn303
1ff87eb551
Gemini connector integration (#183668) 2024-06-06 11:52:35 -06:00
Paul Bianciardi
4182d87d4a
Updates the docs with the advanced setting option for enabling Uptime (#183613)
## Summary

Updates the [advanced settings
docs](https://www.elastic.co/guide/en/kibana/master/advanced-options.html)
to include the `observability:enableLegacyUptimeApp` option for enabling
the Uptime Kibana app by default (in conjunction with the Observability
doc updates in https://github.com/elastic/observability-docs/pull/3890)

The list of options (under Observability, at least) don't seem to be
alphabetical, so I've put this in where seems to be a good place, but
feel free to move it somewhere else if more appropriate.
2024-06-05 11:59:54 +01:00
DeDe Morton
310f4ff79c
[DOCS] Obs AI Assistant connector (#183792)
## Summary

Adds reference documentation about the Obs AI Assistant connector
(requested in #181282)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-05-31 11:26:12 -07:00
Lisa Cawley
b1916090d0
[DOCS] Cases connector (#183349) 2024-05-23 09:43:45 -07:00
Stratoula Kalafateli
f3d18faab2
[ES|QL] Rename the setting to a more generic one and move to the general section (#182074)
## Summary

Renames the setting from discover:enableESQL to enableESQL and moves it
to the General Section

<img width="985" alt="image"
src="ebafe7cd-4695-413c-a0e3-90e3574139e5">

We checked the telemetry and a very small percentage of users have
switched off this setting. It was also on tech preview so we decided in
favor of this change as more and more applications are using this
setting to hide ESQL from their applications.

<img width="850" alt="image"
src="404f2494-8a17-4a9d-943a-d9d72b324bc0">

### Release note
We renamed the advanced setting which hides the ES|QL from the UI from
`discover:enableESQL` to `enableESQL`. You have to switch it off again
if you want to disable ES|QL features from your kibana applications.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-01 16:13:53 +02:00
Cauê Marcondes
b900b86c1b
[ProfilingxAPM] Link APM from Profiling UI (#180677)
closes https://github.com/elastic/kibana/issues/178719

A new ES API has been created to support linking APM from the Profiling
UI. It's called `topN/functions`. The new API allows grouping fields. So
we first fetch functions grouping by `service.name` and when the user
opens the APM Transactions we make another request grouping by
`transaction.name`.

A new Advanced setting was created to toggle the old API on (fetch
functions from Stacktraces API): It's turned off by default.
<img width="1235" alt="Screenshot 2024-04-12 at 10 39 36"
src="ee6e7731-2f44-43ca-9793-23ba87e22e6e">

When there are services on the selected function:
*If we cannot find the transaction, we show `N/A`.
<img width="933" alt="Screenshot 2024-04-12 at 10 16 34"
src="2c5dbf60-3a47-4f4c-a46d-8a0984e0e482">

When there are **no** services on the selected function:
*hide the APM transactions section
<img width="921" alt="Screenshot 2024-04-12 at 10 59 14"
src="3fc4c5b1-da62-47c8-97a8-8bcbd1ae1b75">

--
Performance boost:
The new API is faster than the Stacktraces API, especially because
there's no logic on the Kibana side.
Stacktraces API:
<img width="1210" alt="Screenshot 2024-04-12 at 10 50 26"
src="158d73d1-ed91-4652-97c1-c7c3328d5e3d">

TopN/Functions API:
<img width="1195" alt="Screenshot 2024-04-12 at 10 51 20"
src="2de4ef46-eb8a-4557-b7b8-a1c2fed6fd8a">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-16 13:28:14 -07:00
Lisa Cawley
3e08d4d6db
[DOCS] Add HTTP header example for webhook connectors (#180092) 2024-04-09 07:37:22 -07:00
Lisa Cawley
be980dff28
[DOCS] Add custom fields to Jira connectors (#180007) 2024-04-05 10:04:07 -07:00
Steph Milovic
ad8163db82
[GenAI] Bedrock Claude 3 Support (#179304) 2024-03-27 13:24:10 -06:00
Franಠ_ಠis Conil
b7c3c49bac
[DOCS] Fixes incorrect internal link (#177256) 2024-03-19 20:51:51 +00:00
Lisa Cawley
ea99e780e7
[DOCS] Clarify that all rules support alert summaries (#177755) 2024-03-12 21:20:14 +00:00
Lisa Cawley
e3d1a37075
[DOCS] Case custom field default values (#178467) 2024-03-12 16:04:08 +00:00
Lisa Cawley
0fcc69f59d
[DOCS] Add block kit messages in Slack connector (#177677) 2024-03-07 18:16:30 -07:00
Lisa Cawley
e6a6a478fd
[DOCS] Clarify space awareness of maintenance windows (#176628) 2024-02-23 11:30:18 -08:00
Mykola Harmash
b50f5387fc
[Infra] Add endpoints to manage Custom Dashboards (#176612)
Closes https://github.com/elastic/kibana/issues/176069

## Summary

This adds the logic to register a new Saved Object type to store custom
dashboards for Asset Details and adds endpoints to fetch and save custom
dashboards.

Changes highlights:
* Renamed the `enableInfrastructureHostsCustomDashboards` to
`enableInfrastructureAssetCustomDashboards` to make it more generic and
support additional asset types in the future
* Added a new Saved Object type
* Moved initialization of all Infra endpoints to plugin's `start`. This
one one of the points on [the BE tech debt
ticket](https://github.com/elastic/kibana/issues/175975). Having
endpoint initialization in `start` makes it more convenient to access
start dependencies which almost all endpoints require.
* Added `savedObjectClient` and `uiSettingsClient` to the custom request
context (also one of the ideas for endpoints improvement). Right now
infra endpoints use custom `libs` object with all dependencies required
for routes, the idea is to rely on the request context instead because
it automatically available for every route handler and by default
includes some useful things like scoped service clients.
* Added a wrapper `handleRouteErrors` to avoid error handling
duplication which we now have in a few routes. In the future we could do
something similar right within `registerRoutes` framework function, but
this would require a bit of refactoring.

## Hot to Test

1. Toggle the UI setting off in Advanced Settings
![CleanShot 2024-02-13 at 16 01
36@2x](fc3772a1-a075-42bd-bdc3-2c7e83278844)
2. Go to the Dev Tools and try the endpoints, both should respond with
403
```
GET kbn:api/infra/custom-dashboards/host

POST kbn:api/infra/custom-dashboards
{
  "assetType": "host",
  "dashboardIdList": ["0", "1"]
}
```
3. Toggle the UI setting on
4. Try the endpoints again, now they should work as expected

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-02-22 11:56:33 +01:00
Pierre Gayvallet
523e91b63a
Implement system option for theme:darkMode uiSetting (#173044)
## Summary

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

Implements a third option, `system`, for the `theme:darkMode`
uiSettings, which will follow the system's theme preference (light/dark)
when Kibana loads.


82078697-8bf5-41df-add1-4ecfed6e1dea

**Note: system theme refresh still requires the user to reload Kibana -
please see the next section for the reasons if you're interested**


## How theming works in Kibana, again?

This is an excellent question, thanks for asking. And the answer is,
"well, it's complicated".

We have multiples sources of "themed" styles in Kibana, ordered from
"best" to "worse":

#### 1. the EUI/JSS Theming

It was initially implemented in
https://github.com/elastic/kibana/pull/117368. All react applications
and react mountpoints are supposed to be wrapped by a
`KibanaThemeProvider` that bridges core's `theme$` values to the
`EuiProvider`.


477505a2dd/packages/core/theme/core-theme-browser-internal/src/core_theme_provider.tsx (L11)

This one was already dynamic and just works perfectly. If
`core.theme.theme$` changes, the new values is received by the theme
provider, which automatically changes the styles accordingly, creating
this sexy "it just works" effect:


f3e61ca7-f3ed-4c37-aa46-76ee68c1a628

If everything theme-related was using this approach, dynamic theme
reload would have been possible. However, Kibana has a lot of legacy, so
as you can imagine, it wasn't that easy.

So, **don't get false hopes** (as I did when I tried it...) from this
video. Dynamic theme swap **could not** be implemented in this PR. And
the reasons are just below.

#### 2. Per-theme css files


6443b57164/packages/core/rendering/core-rendering-server-internal/src/render_utils.ts (L40-L54)

We have a bunch of dark/light variations of some css files that are
computed in the rendering service, server-side, to be injected into the
page template.

Of course, this doesn't play well with dynamic theming, given the UI
then doesn't know which css should be swapped, and which one should be
added instead.

However, porting the responsibilities of which theme css files to load
to the browser was achievable, and done in this PR. core's browser-side
`theme` provider now receives the list of theme files for both light and
dark theme (via the injected metadata), and inject them in the document
(instead of having them pre-injected in the page template by the
rendering service server-side).

So this one wasn't a blocker for dynamic theme reload.  

#### 3. Plugin styles 

This is where the problems start.

Plugins can ship their own styles too, by importing them from components
or from their entrypoint.

E.g this component


f1dc1e1869/src/plugins/controls/public/control_group/component/control_group_component.tsx (L9)

importing this file:


bafb23580b/src/plugins/controls/public/control_group/control_group.scss (L107-L110)

Which relies on a theme variable, `$euiFormBackgroundColor`

So how does it works under the hood? How is that
`$euiFormBackgroundColor` variable interpolated? Using which theme?

Well, technically, how the styles are effectively loaded differs
slightly between dev and production (different webpack loaders/config),
but in both cases, it depends on the `__kbnThemeTag__` variable that is
injected to the global scope by the `bootstrap.js` script.

This `__kbnThemeTag__` tag (apparently) **can** be modified after page
load. However it doesn't magically reload everything, so styles already
loaded for one theme will not reload. If a component and its imported
styles were already compiled / injected, then they won't reload

As a short video is better than 3 blocks of text, just see:


3087ffd6-80d8-42bf-ab17-691ec408ea6f

That was the first blocker for supporting "dynamic" reloads of the
system theme.

#### 4. Static inline styles

Last but not least, we have some static style injected in the template,
that also depend on the current theme.


6443b57164/packages/core/rendering/core-rendering-server-internal/src/views/styles.tsx (L52-L54)

Of course this plays very badly with dynamic theming. And worth noting,
those styles are used by the "Loading Elastic" screen, where Core (and
therefore Core's theming service) isn't loaded yet, which made the
things even more complicated.

This was the second blocker for supporting "dynamic" reloads of the
system theme.

#### 5. `euiThemeVars`

Actually TIL (not that I was asking for it)

We're exposing the EUI theme variable via the `euiThemeVars` of the
`@kbn/ui-theme` package:

E.g.


c7e785383a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx (L41)


c7e785383a/src/plugins/chart_expressions/expression_metric/public/components/metric_vis.tsx (L50)

So I did my best, and made it that this export was a proxy, and that
Core's theme service was dynamically swapping the target of the proxy
depending on the system's theme...


b0a0017811/packages/kbn-ui-theme/src/theme.ts (L30-L42)

Unfortunately it doesn't fully work for dynamic system theme switch,
given modules/code can keep references of the property directly (e.g.
the snippet a few lines on top), and there's nothing to dynamically
reload components when the proxy changes.

So yet another blocker for dynamic theme switch. 


## Release Notes

Add a new option, `system`, to the `theme:darkMode` Kibana advanced
setting, that can be used to have Kibana's theme follow the system's
(light or dark)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-02-20 06:48:58 -07:00
amyjtechwriter
935f904f32
[DOCS] Adds note that default formatters use the meta.unit field (#176857)
## Summary

Adds note to the [Format data
fields](https://www.elastic.co/guide/en/kibana/current/managing-data-views.html#managing-fields)
section that default formatters use the [`meta.unit`
field](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-field-meta.html)
for displaying time units, bytes, and percentages.

![Screenshot 2024-02-13 at 17 48
29](384d5da9-f687-404d-a6f8-8bf00a87ba86)

Relates to: #174973
2024-02-19 14:51:30 +00:00
Cauê Marcondes
4010b318d9
[Profiling] Adding Azure settings (#176386)
closes https://github.com/elastic/kibana/issues/176376

<img width="1638" alt="Screenshot 2024-02-07 at 10 52 49"
src="997fa6a0-0c73-4252-8fa9-7f2231494c95">

**We have to wait until the ES
[PR](https://github.com/elastic/elasticsearch/pull/105231) is merged to
e2e test it.**
2024-02-13 14:43:21 +00:00
Cauê Marcondes
db08fb5c5b
[APM] Show Universal Profiling on Transaction view (#176302)
New Setting: Default value is `False`
<img width="1070" alt="Screenshot 2024-02-08 at 15 06 43"
src="46e8273c-4389-4de5-8b93-77d3e7a191d8">
---
<img width="1335" alt="Screenshot 2024-02-08 at 14 59 17"
src="45531abc-1c1c-4525-a2dc-b7573f857fa6">
<img width="1339" alt="Screenshot 2024-02-08 at 14 59 33"
src="d0ca0c7e-d33e-4f4a-83d4-70ef96b2bf1b">
2024-02-13 03:58:35 -07:00
Tim Rühsen
79f63c2a3d
[Profiling] Ignore error frames (#176537)
This change allows the Universal Profiling agent to send error frames,
which will give us more accurate values for CO2 emission and $ costs.

The reason is that unwinding errors resulting in 0-length stacktraces
happen quite often. These are not sent to the backend currently, so the
related CPU activity doesn't go into the calculations. This can make up
showing 10% less CPU / CO2 / costs in the UI.
Adding artificial error frames in case of unwinding errors guarantees
that stacktraces always have a length of > 0.

Once we settled on how error frames can be displayed in a user-friendly
way, this code can be removed.

---------

Co-authored-by: Joel Höner <joel@elastic.co>
Co-authored-by: Caue Marcondes <caue.marcondes@elastic.co>
2024-02-13 07:40:21 +01:00
Dario Gieselaar
44df1f4caa
[Obs AI Assistant] Bedrock/Claude support (#176191)
~This PR still needs work (tests, mainly), so keeping it in draft for
now, but feel free to take it for a spin.~

Implements Bedrock support, specifically for the Claude models. 

Architecturally, this introduces LLM adapters: one for OpenAI (which is
what we already have), and one for Bedrock/Claude. The Bedrock/Claude
adapter does the following things:

- parses data from a SerDe (an AWS concept IIUC) stream using
`@smithy/eventstream-serde-node`.
- Converts function requests and results into XML and back (to some
extent)
- some slight changes to existing functionality to achieve _some_ kind
of baseline performance with Bedrock + Claude.

Generally, GPT seems better at implicit tasks. Claude needs explicit
tasks, otherwise it will take things too literally. For instance, I had
to use a function for generating a title because Claude was too eager to
add explanations. For the `classify_esql` function, I had to add extra
instructions to stop it from requesting information that is not there.
It is prone to generating invalid XML.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-02-09 01:17:20 -07:00
Mykola Harmash
069e6f8bc7
[Infra] Add Host Details Dashboard advanced setting (#176143)
Closes https://github.com/elastic/kibana/issues/176068

## Summary

This adds a new Advanced setting to toggle custom dashboards in Hosts
view.

![CleanShot 2024-02-02 at 13 12
54@2x](b81e8f03-3358-471a-9d20-85156d89186a)
2024-02-05 11:28:42 -08:00
Steph Milovic
3a4ad7725a
[Security solution] Update default Bedrock api url (#176090) 2024-02-02 10:43:33 -07:00
Patryk Kopyciński
04004ddaac
Add docs for SentinelOne connector (#174696)
## Summary

Add docs for SentinelOne connector

---------

Co-authored-by: Joe Peeples <joe.peeples@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: lcawl <lcawley@elastic.co>
2024-02-01 10:15:26 -07:00
Lisa Cawley
bf40a0d008
[Connectors][Case Management] Edit labels, automate screenshots (#172610) 2024-01-26 15:24:26 -07:00
Lisa Cawley
20d8e1928b
[DOCS] Clarify ServiceNow ITSM connector recovery actions (#175353) 2024-01-25 11:34:30 -05:00
Lisa Cawley
5d55ab930c
[DOCS] Refresh cases table screenshot (#174871) 2024-01-16 07:18:33 -08:00
Lisa Cawley
02ea9192f7
[RAM][[Maintenance Window][DOCS] Maintenance window scoped query automated screenshots (#174315) 2024-01-15 13:22:33 -08:00
Søren Louv-Jansen
0dd4e37141
[APM] Add feature flag for APM table search (#174750)
This adds a feature flag for table search
(https://github.com/elastic/kibana/issues/127036). The feature itself is
being worked on in https://github.com/elastic/kibana/pull/174490
2024-01-12 19:52:09 +01:00
Lisa Cawley
2614e92c4c
[Connectors][ServiceNow SecOps] Automate screenshots, add cross-scope privileges (#173941) 2024-01-09 13:53:38 -07:00
Lisa Cawley
f567016b76
[DOCS] Copy file hash in cases (#174414) 2024-01-09 11:48:53 -08:00
Lisa Cawley
ee0cb0b541
[DOCS] Add new sub feature privilege to prevent access to the cases settings (#174223) 2024-01-08 08:58:38 -07:00
Lisa Cawley
0ac7dbd4f6
[Connectors][IBM Resilient] Edit required labels and automate screenshots (#166022) 2023-12-20 08:11:24 -08:00
Lisa Cawley
3df2c4f966
[DOCS] Automate Tines connector screenshots (#166313) 2023-12-19 21:31:11 -07:00
Mykola Harmash
c627907733
[ObsUX] Add UI Setting for controling Profiling visibility in Infra (#173294)
Closes https://github.com/elastic/kibana/issues/173154

Adds a UI setting to control Infra+Profiling integration from Kibana's
Advanced Settings as well as from the Infra Settings screen.

Note that the plugin config feature flag is still there because I
realized we need it to disable Profiling integration in serverless.



2a5ace9d-9e18-49a4-be95-c722f24072a7

### How to test

* Make sure profiling is enabled in `kibana.dev.yml`
```
xpack.profiling.enabled: true
```
* Start kibana in traditional mode, go to Infra Settings
* Make sure there is the new toggle for Profiling integration and it's
on
* Go to one of your host's details and make sure you see the profiling
tab
* Toggle the Profiling integration setting off and check that the tap in
host details is not visible

* Start kibana in serverless mode
* Make sure there is no new setting neither in Infra Settings nor in
Advanced Settings
* Make sure Profiling tab is not visible in host details

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-12-19 08:48:35 -07:00
Lisa Cawley
103ca850aa
[Connectors][ServiceNow ITSM] Edit labels, automate screenshots, add cross-scope privileges (#172533) 2023-12-13 10:43:40 -08:00
Lisa Cawley
e69063e082
[Connectors][ServiceNow ITOM] Edit required labels and automate screenshots (#172229) 2023-12-04 11:50:07 -08:00
Lisa Cawley
8909f690b3
[Connectors][Jira] Edits formatting for required field (#172419) 2023-12-04 11:49:03 -08:00
Lisa Cawley
9ea86b7843
[Connectors][Opsgenie] Edits formatting for required fields (#172420) 2023-12-04 11:47:08 -08:00
Lisa Cawley
462bb3a290
[Connectors][PagerDuty] Edit labels for optional fields and generate docs (#172123) 2023-11-30 12:20:21 -07:00
Lisa Cawley
8716f65922
[DOCS] Slack api allowed channels (#169706) 2023-11-03 11:37:56 -07:00
Lisa Cawley
89dd69656c
[DOCS] Add solution selection to maintenance windows (#169441) 2023-11-03 11:36:55 -07:00
James Rodewig
9caea77ee4
[DOCS] Deprecate rollups (#169670) 2023-10-25 16:51:49 -04:00
Lisa Cawley
aaa6c369b3
[DOCS] Custom fields in cases (#169057) 2023-10-23 16:26:16 -07:00
Lisa Cawley
f5d7c86cc4
[DOCS] Automate screenshot for Amazon bedrock connector (#169463) 2023-10-23 13:31:03 -07:00
Steph Milovic
9b73b87d5c
[Security solution] Rename connector from AWS Bedrock to Amazon Bedrock (#169025) 2023-10-17 12:24:03 -06:00
Lisa Cawley
4c2fcef7af
[OAS] Amazon Bedrock connector (#168662) 2023-10-16 15:14:38 -07:00
Lisa Cawley
15ac351351
[DOCS] Add preconfigured AWS Bedrock connector (#168663) 2023-10-16 08:23:12 -07:00
Lisa Cawley
aece2f8ec4
[DOCS] Make Cases in the Stack Management GA (#168764) 2023-10-16 07:19:57 -07:00