Commit graph

4849 commits

Author SHA1 Message Date
Tom Myers
e9c913dcb0
Add OpenAPI specs for EEM APIs (#190203) 2024-08-19 20:05:25 +02:00
Lisa Cawley
06f1681cc6
[DOCS] Link to new API pages (#190569) 2024-08-15 16:42:59 -07:00
Shahzad
69f6687af9
[Synthetics] Delete monitor API via id param !! (#190210)
## Summary

Allow deletion of monitor via id param !!

User can now delete monitor via passing id as url param

`DELETE <kibana host>:<port>/api/synthetics/monitors/<config_id>`

Previous bulk delete via list of ids via API body still works as well !!

Docs are updated !!
2024-08-12 21:13:33 +02:00
Julia Rechkunova
625e89e144
[Discover][DocViewer] Limit the height of long field values by default (#183736)
- Closes https://github.com/elastic/kibana/issues/181568

## Summary

This PR adds a default height limit for values in DocViewer. If the
value is too long, we visually truncate it and add "View more" button
which allows to expand to view the entire value. This way all fields in
the flyout are easily accessible (less scrolling required) even if they
contain long values. ~The height can be configured via the existing
`truncate:maxHeight` Advanced Setting.~ If user expands a value, closes
the flyout and opens it again, the value will be shown as expanded again
for that field.

![Aug-02-2024
10-24-58](https://github.com/user-attachments/assets/d3a898ce-dc92-4f5e-bc63-f1761a100e0d)


Related: https://github.com/elastic/kibana/pull/164236

## Testing

Some cases to check while testing:
- varios value formats
- legacy table vs data grid
- doc viewer flyout vs Single Document page

Sample long value:
<details>

<pre>
POST test_this/_doc/
{
  "message": """javax.servlet.ServletException: Something bad happened
at
com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:60)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
com.example.myproject.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:28)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
com.example.myproject.OutputBufferFilter.doFilter(OutputBufferFilter.java:33)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: com.example.myproject.MyProjectServletException
    at com.example.myproject.MyServlet.doPost(MyServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at
com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:30)
    ... 27 more
Caused by: org.hibernate.exception.ConstraintViolationException: could
not insert: [com.example.myproject.MyEntity]
at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:64)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)
at
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2822)
at
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
    at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at
org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
at
org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at
org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at
org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at
org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at
org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:705)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:693)
    at org.hibernate.impl.SessionImpl.save(SessionImpl.java:689)
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
at
org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:344)
    at $Proxy19.save(Unknown Source)
at com.example.myproject.MyEntityService.save(MyEntityService.java:59)
<-- relevant call (see notes below)
    at com.example.myproject.MyServlet.doPost(MyServlet.java:164)
    ... 32 more
Caused by: java.sql.SQLException: Violation of unique constraint
MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement
[...]
    at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
at
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at
org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:57)
    ... 54 more"""
}
</pre>
</details>

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

---------

Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2024-08-10 04:06:10 -05:00
Stef Nestor
f69bb024b1
(Doc-) duplicate sections to SIEM docs (#188376)
Removes duplicated content in Kibana's [Elastic Security
overview](https://www.elastic.co/guide/en/security/current/es-overview.html)
page, refreshes the Security app description, and adds a reference to
the Security docset so we don't need to maintain the Kibana page.

Preview:
https://kibana_bk_188376.docs-preview.app.elstc.co/guide/en/kibana/master/xpack-siem.html

---------

Co-authored-by: nastasha.solomon <nastasha.solomon@elastic.co>
Co-authored-by: Nastasha Solomon <79124755+nastasha-solomon@users.noreply.github.com>
2024-08-08 16:45:22 -04:00
Lisa Cawley
a1dd9f8f21
[DOCS] Add 8.15.0 release notes (#189985)
Co-authored-by: Florent Le Borgne <florent.leborgne@elastic.co>
2024-08-08 09:04:52 -07:00
Milton Hultgren
c45e2d4252
[EEM] Rename assets data access to entities data access (#190072) 2024-08-08 09:00:08 -05:00
elena-shostak
c8608461ae
Bulk Role Endpoint (#189173)
## Summary

This PR adds a new `POST security/roles` API that can be used to bulk
create or update roles.

## How to test
1. Create empty roles
```
POST kbn:/api/security/roles
{
  "roles": {
    "bulk_role_1": {},
    "bulk_role_2": {}
  }
}
```
<details>
  <summary>2. Create roles with Kibana and ES privileges</summary>
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "bulk_role_with_privilege_1": {
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"]
              }
            ],
            "run_as": ["watcher_user"]
          },
          "kibana": [
            {
              "base": ["read"]
            },
            {
              "feature": {
                "dashboard": ["read"],
                "discover": ["all"],
                "ml": ["all"]
              },
              "spaces": ["marketing", "sales"]
            }
          ]
        },
        "bulk_role_with_privilege_2": {
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"]
              }
            ],
            "run_as": ["watcher_user"]
          },
          "kibana": [
            {
              "base": ["read"]
            },
            {
              "feature": {
                "dashboard": ["read"],
                "discover": ["all"],
                "ml": ["all"]
              },
              "spaces": ["marketing", "sales"]
            }
          ]
        }
      }
    }
</details>
<details>
  <summary>3. Create roles failing validation </summary>
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "bulk_role_es_invalid": {
          "elasticsearch": {
            "cluster": ["bla"]
          }
        },
        "bulk_role_kibana_invalid": {
          "kibana": [
            {
              "spaces": ["bar-space"],
              "base": [],
              "feature": {
                "fleetv2": ["all", "read"]
              }
            }
          ]
        },
        "bulk_role_valid": {
          "elasticsearch": {
            "cluster": ["all"]
          }
        }
      }
    }
</details>
<details>
<summary>4. Check validation for license (under basic license should
return security_exception) </summary>
  
  
    POST kbn:/api/security/roles
    {
      "roles": {
        "role_with_privileges_dls_fls": {
          "metadata": {
            "foo": "test-metadata"
          },
          "elasticsearch": {
            "cluster": ["manage"],
            "indices": [
              {
                "field_security": {
                  "grant": ["*"],
                  "except": ["geo.*"]
                },
                "names": ["logstash-*"],
                "privileges": ["read", "view_index_metadata"],
                "query": "{ \"match\": { \"geo.src\": \"CN\" } }"
              }
            ],
            "run_as": ["watcher_user"]
          }
        }
      }
    }

</details>

### Checklist

- [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] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

__Fixes: https://github.com/elastic/kibana/issues/187427__

## Release Notes
Added API endpoint `POST security/roles` that can be used to bulk create
or update roles.

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-08 14:33:25 +02:00
Colleen McGinnis
5bce919cf1
[DOCS] Add more APM UI redirects to the Observability guide (#190061)
## Summary

In https://github.com/elastic/kibana/pull/179981 we moved the APM UI
content to the Observability guide. When [backporting to the `8.14`
branch](https://github.com/elastic/kibana/pull/190009) (which is the
`current` branch at the time I'm writing this) the docs build failed
because there are some links in the APM agent docs that are hard-coded
to go to the `current` version of the docs, and those links were not
properly redirected. When [`8.15` becomes the `current`
branch](https://github.com/elastic/docs/pull/3036), I believe the docs
build will fail unless we implement the AsciiDoc redirects in this PR.

### 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)
2024-08-07 16:42:45 +00:00
Brandon Morelli
91b80ff338
Remove APM documentation from Kibana repo and Guide (#179981)
### Summary

Related to https://github.com/elastic/observability-docs/pull/3723.

---------

Co-authored-by: Colleen McGinnis <colleen.mcginnis@elastic.co>
2024-08-06 20:08:07 +00:00
Tim Sullivan
83f6fa4872
[Reporting] Update documentation to distinguish Screenshotting and CSV features (#189761)
## Summary

Documentation updates to distinguish the main parts of Reporting:
 * service framework
 * CSV export
 * Screenshot export (PNG/PDF)

Additionally, this PR attempts to consistently apply the admonitions
regarding limitations of the different export types.

Part of https://github.com/elastic/kibana-team/issues/720

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2024-08-06 18:49:36 +00:00
Dario Gieselaar
769fb994df
[Inference] Inference plugin + chatComplete API (#188280)
This PR introduces an Inference plugin.

## Goals

- Provide a single place for all interactions with large language models
and other generative AI adjacent tasks.
- Abstract away differences between different LLM providers like OpenAI,
Bedrock and Gemini
- Host commonly used LLM-based tasks like generating ES|QL from natural
language and knowledge base recall.
- Allow us to move gradually to the _inference endpoint without
disrupting engineers.

## Architecture and examples

![CleanShot 2024-07-14 at 14 45
27@2x](https://github.com/user-attachments/assets/e65a3e47-bce1-4dcf-bbed-4f8ac12a104f)

## Terminology

The following concepts are referenced throughout this POC:

- **chat completion**: the process in which the LLM generates the next
message in the conversation. This is sometimes referred to as inference,
text completion, text generation or content generation.
- **tasks**: higher level tasks that, based on its input, use the LLM in
conjunction with other services like Elasticsearch to achieve a result.
The example in this POC is natural language to ES|QL.
- **tools**: a set of tools that the LLM can choose to use when
generating the next message. In essence, it allows the consumer of the
API to define a schema for structured output instead of plain text, and
having the LLM select the most appropriate one.
- **tool call**: when the LLM has chosen a tool (schema) to use for its
output, and returns a document that matches the schema, this is referred
to as a tool call.

## Usage examples

```ts

class MyPlugin {
  setup(coreSetup, pluginsSetup) {
    const router = coreSetup.http.createRouter();

    router.post(
      {
        path: '/internal/my_plugin/do_something',
        validate: {
          body: schema.object({
            connectorId: schema.string(),
          }),
        },
      },
      async (context, request, response) => {
        const [coreStart, pluginsStart] = await coreSetup.getStartServices();

        const inferenceClient = pluginsSetup.inference.getClient({ request });

        const chatComplete$ = inferenceClient.chatComplete({
          connectorId: request.body.connectorId,
          system: `Here is my system message`,
          messages: [
            {
              role: MessageRole.User,
              content: 'Do something',
            },
          ],
        });

        const message = await lastValueFrom(
          chatComplete$.pipe(withoutTokenCountEvents(), withoutChunkEvents())
        );

        return response.ok({
          body: {
            message,
          },
        });
      }
    );
  }
}
```

## Implementation

The bulk of the work here is implementing a `chatComplete` API. Here's
what it does:

- Formats the request for the specific LLM that is being called (all
have different API specifications).
- Executes the specified connector with the formatted request.
- Creates and returns an Observable, and starts reading from the stream.
- Every event in the stream is normalized to a format that is close to
(but not exactly the same) as OpenAI's format, and emitted as a value
from the Observable.
- When the stream ends, the individual events (chunks) are concatenated
into a single message.
- If the LLM has called any tools, the tool call is validated according
to its schema.
- After emitting the message, the Observable completes

There's also a thin wrapper around this API, which is called the
`output` API. It simplifies a few things:

- It doesn't require a conversation (list of messages), a simple `input`
string suffices.
- You can define a schema for the output of the LLM. 
- It drops the token count events that are emitted
- It simplifies the event format (update & complete)

### Observable event streams

These APIs, both on the client and the server, return Observables that
emit events. When converting the Observable into a stream, the following
things happen:

- Errors are caught and serialized as events sent over the stream (after
an error, the stream ends).
- The response stream outputs data as [server-sent
events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
- The client that reads the stream, parses the event source as an
Observable, and if it encounters a serialized error, it deserializes it
and throws an error in the Observable.

### Errors

All known errors are instances, and not extensions, from the
`InferenceTaskError` base class, which has a `code`, a `message`, and
`meta` information about the error. This allows us to serialize and
deserialize errors over the wire without a complicated factory pattern.

### Tools

Tools are defined as a record, with a `description` and optionally a
`schema`. The reason why it's a record is because of type-safety. This
allows us to have fully typed tool calls (e.g. when the name of the tool
being called is `x`, its arguments are typed as the schema of `x`).

## Notes for reviewers

- I've only added one reference implementation for a connector adapter,
which is OpenAI. Adding more would create noise in the PR, but I can add
them as well. Bedrock would need simulated function calling, which I
would also expect to be handled by this plugin.
- Similarly, the natural language to ES|QL task just creates dummy
steps, as moving the entire implementation would mean 1000s of
additional LOC due to it needing the documentation, for instance.
- Observables over promises/iterators: Observables are a well-defined
and widely-adopted solution for async programming. Promises are not
suitable for streamed/chunked responses because there are no
intermediate values. Async iterators are not widely adopted for Kibana
engineers.
- JSON Schema over Zod: I've tried using Zod, because I like its
ergonomics over plain JSON Schema, but we need to convert it to JSON
Schema at some point, which is a lossy conversion, creating a risk of
using features that we cannot convert to JSON Schema. Additionally,
tools for converting Zod to and [from JSON Schema are not always
suitable
](https://github.com/StefanTerdell/json-schema-to-zod#use-at-runtime).
I've implemented my own JSON Schema to type definition, as
[json-schema-to-ts](https://github.com/ThomasAribart/json-schema-to-ts)
is very slow.
- There's no option for raw input or output. There could be, but it
would defeat the purpose of the normalization that the `chatComplete`
API handles. At that point it might be better to use the connector
directly.
- That also means that for LangChain, something would be needed to
convert the Observable into an async iterator that returns
OpenAI-compatible output. This is doable, although it would be nice if
we could just use the output from the OpenAI API in that case.
- I have not made room for any vendor-specific parameters in the
`chatComplete` API. We might need it, but hopefully not.
- I think type safety is critical here, so there is some TypeScript
voodoo in some places to make that happen.
- `system` is not a message in the conversation, but a separate
property. Given the semantics of a system message (there can only be
one, and only at the beginning of the conversation), I think it's easier
to make it a top-level property than a message type.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-06 04:07:33 -05:00
István Zoltán Szabó
99ba4d8ad3
[DOCS] Updates log pattern analysis docs in Discover (#189876)
## Summary

This PR updates the Log pattern analysis in Discover documentation to
reflect the latest changes in the feature. It also removes the technical
preview admonition at the top of the page.
2024-08-05 16:05:02 +02:00
Lisa Cawley
a726ef64bf
[DOCS] Add known issue to 8.14 release notes (#189583) 2024-08-01 12:05:50 -07:00
Tim Sullivan
4e0910a166
[Spaces] UX improvements to spaces grid (#188261)
## Summary

This PR offers UX improvements to the Spaces Management listing page
which are part of epic:
https://github.com/elastic/kibana-team/issues/785

* Use a badge to denote the current space
* Update wording of the "features visible" column header
* Truncate Space description text
* Add an action to switch to the space identified by the table row.

In the Roles & Spaces UX Improvements project, our roll out plan is work
in https://github.com/elastic/kibana/pull/184697 and to pull small
mergeable changes a little at a time, to release the changes as separate
PRs.

### Screenshot

**Before:**
<img width="1513" alt="image"
src="https://github.com/user-attachments/assets/2b6017f6-2395-464b-a176-3e8fbf51a2a4">

**After:**
<img width="1511" alt="image"
src="https://github.com/user-attachments/assets/b550a186-7b32-4c52-a3fb-bf285452a597">

### Release Note

Added minor user experience improvements to Spaces Management in Stack
Management.

### Checklist

Delete any items that are not applicable to this PR.

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

---------

Co-authored-by: elena-shostak <165678770+elena-shostak@users.noreply.github.com>
2024-08-01 13:34:40 -05:00
florent-leborgne
ce8f6ea882
[Docs] 8.15 Kibana What's new (#188767)
## Summary

This PR updates the Kibana What's new page with 8.15 changes, based on
the highlights document produced by PMs.

Closes: https://github.com/elastic/platform-docs-team/issues/441

---------

Co-authored-by: lcawl <lcawley@elastic.co>
Co-authored-by: marciw <333176+marciw@users.noreply.github.com>
2024-08-01 12:31:09 +02:00
florent-leborgne
5a9913ebdb
[Docs] Add legend statistics info to Lens docs (#189416)
## Summary

This PR adds information about the latest changes brought to legends for
Lens visualizations, with the ability to add statistics and get faster
value when looking at a dashboard. Screenshots, values, and ordering of
these values are based on what I could find on staging. Let me know if
this needs further updating.

We will address the ES|QL visualization bit along with
https://github.com/elastic/platform-docs-team/issues/408#issuecomment-2256114443
as some types of visualizations need to be properly documented,
including this one.

Note that this is also mentioned in the release highlights in a
dedicated paragraph that covers both Lens and ES|QL.

Note: also changing the title level for the section coming after, which
seemed to be behaving strangely and acted like a lvl 6.

Closes: https://github.com/elastic/platform-docs-team/issues/411

- Edited existing paragraph about **legends** on Lens page
<img width="1394" alt="image"
src="https://github.com/user-attachments/assets/8d9d84a9-81c4-40be-adbf-26b971d39502">

- Just under that section, added a new section to describe the various
existing ways to edit a legend (including existing ways)
<img width="1408" alt="image"
src="https://github.com/user-attachments/assets/f5d77305-fd47-4986-91e9-8fb47f950302">
<img width="1360" alt="image"
src="https://github.com/user-attachments/assets/c1c7fe6b-2dc9-4325-a67a-e69109841fb8">
2024-07-31 18:02:30 +02:00
florent-leborgne
00579530bd
[Docs] Docs for dashboard creator and editor (#189301)
## Summary

This PR adds documentation relative to the dashboard creator and last
editor information added to Kibana 8.15.
The changes here are fairly granular so I decided to add a new page to
describe the various ways to search and filter dashboards to help users
locate the information. Note that this feature will also be described on
its own in the release highlights.

Closes: https://github.com/elastic/platform-docs-team/issues/431

- Add a new page dedicated to sorting and filtering dashboards to
mention the various ways to do it, including the new filter by creator
<img width="1187" alt="image"
src="https://github.com/user-attachments/assets/c0e3924f-ff0a-4bbb-92d2-776baf243197">
<img width="1421" alt="image"
src="https://github.com/user-attachments/assets/c21320bf-ee31-41bb-a0a4-693f7514b462">

- Mention in Save section of the dashboard creation page
<img width="773" alt="image"
src="https://github.com/user-attachments/assets/6373c384-d427-4502-ba4a-e12f28057224">

- Mention in parent page of Dashboard and visualizations section (Open
dashboard section)
<img width="1215" alt="image"
src="https://github.com/user-attachments/assets/da43222c-a28c-46ca-8f0e-d415793487af">

---------

Co-authored-by: Anton Dosov <dosantappdev@gmail.com>
2024-07-31 14:57:27 +02:00
Aleksandr Maus
3a19c3501c
Osquery: Update exported fields reference for osquery 5.12.1 (#189397)
## Summary

Update exported fields reference for osquery 5.12.1.

## Related PR

- Requires https://github.com/elastic/beats/pull/40368
- Requires https://github.com/elastic/integrations/pull/10641
2024-07-30 09:16:57 -04:00
Brijesh Khunt
696190db60
TheHive Case Connector (#180138)
## Summary

TheHive is a new case connector, enabling users to seamlessly transfer
elastic cases to TheHive Security Incident Response Platform. This
connector facilitates sub-actions such as creating cases, updating
cases, and adding comments and creating alerts.

**create connector**

![thehive-connector](1e9a3fc5-c17a-40b5-8a49-87cd0fd74863)

**test connector**
1. **create case**


![thehive-params-case-test](2652ea5e-8b47-42d9-9b11-c055efe291b3)

2. **create alert**


![thehive-params-alert-test](8c8759c0-609c-4e34-bc21-35d648e684ab)


### Checklist

Delete any items that are not applicable to this PR.

- [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)
- [ ]
[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] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [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] 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 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)

### 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: Janki Salvi <jankigaurav.salvi@elastic.co>
Co-authored-by: Janki Salvi <117571355+js-jankisalvi@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-07-30 11:36:21 +03:00
Lisa Cawley
6bc7d729a5
[DOCS] Remove duplicate section title (#189446) 2024-07-29 15:16:11 -05:00
Lisa Cawley
36bf90913e
[DOCS] Add known issue to 8.14 release notes (#189331) 2024-07-29 19:01:17 +00:00
Colleen McGinnis
518426045d
[DOCS] Add known issue to 8.14.3 release notes (#189236)
## Summary

Fixes https://github.com/elastic/observability-docs/issues/4090

Related to https://github.com/elastic/kibana/pull/185691

This PR adds a known issue to the 8.14.3 release docs related to
function calling when using the Observability AI Assistant with the
OpenAI connector.

### 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)
2024-07-29 18:46:24 +00:00
Stef Nestor
2e78ef08f7
(Doc+) KB Diag (#188167)
👋 howdy, team! 

Expanding our new outline on pulling Support Diagnostics [for
Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/master/diagnostic.html),
this adds a new "Capture Diagnostics" under Kibana > Troubleshooting.

Technically the KB Diag works [down to
v6.5.0](https://github.com/elastic/support-diagnostics/blob/main/src/main/resources/kibana-rest.yml)
but I put 7.11.0 since that's the Task Manager Health's earliest
version.

As needed, this page redirects the user back to [investigating
ES](https://www.elastic.co/guide/en/elasticsearch/reference/master/diagnostic.html)
and [fixing KB
dependencies](https://www.elastic.co/guide/en/kibana/master/access.html#not-ready)
first. And directs them forward to Support's [walkthrough investigating
the output](https://www.elastic.co/blog/troubleshooting-kibana-health).

TIA! 🙏

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
2024-07-25 18:52:39 +02:00
Steph Milovic
15554be700
[OpenAI Connector] Update default model to gpt-4o (#189080) 2024-07-24 17:59:15 -05:00
Lisa Cawley
8dc286067b
[DOCS][OAS] Add data view swap saved object references and preview APIs (#187927) 2024-07-24 17:31:06 -05:00
Liam Thompson
58c4be1d2e
[DOCS] Playground updates for 8.15.0 (#188842)
- Updated/added screenshots
- Updated text per UI changes
- Introduced separate chat and query modes with descriptions and updated
interface images
- Added "View and download Python code" section with screenshot of new
button
- Updated "Balancing cost and latency" section title to include result
quality


### [URL
preview](https://kibana_bk_188842.docs-preview.app.elstc.co/guide/en/kibana/master/playground.html)
2024-07-24 18:07:27 +02:00
Christiane (Tina) Heiligers
f2aa1faee4
Removes non-backup rollback from upgrade kibana (#189011)
FIx https://github.com/elastic/kibana/issues/158117

Removes section on rolling back without a snapshot.

The changes made to kibana saved objects migration make the process of
rolling back without a snapshot too complex for customers to do alone.
Furthermore, rolling back without a snapshot is not recommended or
supported.

See the changes on `master`
[here](https://kibana_bk_189011.docs-preview.app.elstc.co/guide/en/kibana/master/upgrade-migrations-rolling-back.html)

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-07-24 14:51:24 +00:00
Alejandro Fernández Haro
56fc5ce8e1
[Cloud] Extend metadata (#189001) 2024-07-24 14:10:28 +02:00
Pierre Gayvallet
e7d093af36
[doc] fix logs configuration on deb/rpm install guide (#188900)
## Summary

Fix https://github.com/elastic/kibana/issues/87524
2024-07-24 09:01:47 +02:00
Lisa Cawley
c86abfec28
[DOCS] 8.15.0 release notes stub (#188860)
Co-authored-by: Paul Bianciardi <70908889+paulb-elastic@users.noreply.github.com>
2024-07-23 18:54:03 -07:00
Luca Belluccini
647b22266e
Update warning on xpack.fleet.enableExperimental (#188917)
## Summary

Add warning on `xpack.fleet.enableExperimental` settings.

### For maintainers

- [x] Review the wording.
- [ ] Backport to all versions
2024-07-23 12:25:34 -04:00
Kevin Delemme
aa67c800ce
chore(investigate): Add investigate-app plugin from poc (#188122) 2024-07-23 11:44:32 -04:00
István Zoltán Szabó
c75a8e03b7
[DOCS] Updates screenshots in AIOps Labs docs (#188851)
## Summary

This PR updates the screenshots related to log rate analysis and log
pattern analysis in the AIOps Labs documentation to reflect that those
features are GA.
2024-07-23 13:27:20 +00:00
Tomasz Ciecierski
9db3d866b5
[EDR Workflows] Add Crowdstrike Connector docs (#187850) 2024-07-23 15:30:02 +03:00
Steph Milovic
47b0105ea7
Gemini connector - update test message (#188850) 2024-07-22 11:06:37 -05:00
Dzmitry Lemechko
88464e5b6d
[FTR] split configs by target into multiple manifest files (#187440)
## Summary

Part of #186515

Split FTR configs manifest into multiple files based on distro
(serverless/stateful) and area of testing (platform/solutions)
Update the CI scripts to support the change, but without logic
modification

More context:

With this change we will have a clear split of FTR test configs owned by
Platform and Solutions. It is a starting point to make configs
discoverable, our test pipelines be flexible and run tests based on
distro/solution.
2024-07-19 15:00:53 +02:00
Lisa Cawley
aa108edcef
[DOCS][Cases] Custom fields general availability (#188598) 2024-07-19 02:10:24 +10:00
Lisa Cawley
5684359f46
[DOCS] Remove PR from 8.14.3 release notes (#188542) 2024-07-17 17:21:33 +00:00
Lisa Cawley
88be854b89
[Cases][Docs] Add case template overview (#187815) 2024-07-17 18:05:29 +01:00
Marco Antonio Ghiani
5e9d2aeb5e
[Fields Metadata] Add metadata fields static source (#188453)
## 📓 Summary

Closes #188443 

Adding a static source repository for [metadata
fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html#_indexing_metadata_fields)
in the resolution chain, so that it's now possible to retrieve metadata
info for them too.

**GET /internal/fields_metadata?fieldNames=_index,_source**
```json
{
  "fields": {
    "_index": {
      "dashed_name": "index",
      "description": "The index to which the document belongs. This metadata field specifies the exact index name in which the document is stored.",
      "example": "index_1",
      "flat_name": "_index",
      "name": "_index",
      "short": "The index to which the document belongs.",
      "type": "keyword",
      "documentation_url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index-field.html",
      "source": "metadata",
      "normalize": []
    },
    "_source": {
      "dashed_name": "source",
      "description": "The original JSON representing the body of the document. This field contains all the source data that was provided at the time of indexing.",
      "example": "{\"user\": \"John Doe\", \"message\": \"Hello\"}",
      "flat_name": "_source",
      "name": "_source",
      "short": "The original JSON representing the body of the document.",
      "documentation_url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html",
      "source": "metadata",
      "normalize": [],
      "type": "unknown"
    }
  }
}
```

---------

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-07-17 11:47:40 +02:00
Liam Thompson
db001d9d4f
[Docs][Playground] Update supported model list (#188096)
Per PR title
2024-07-16 12:34:37 +02:00
Jon
7891410d12
Upgrade Node.js to 20.15.1 (#187791)
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V20.md
2024-07-15 12:34:07 -05:00
Alejandro Fernández Haro
166b31246f
[Cloud Experiments] Deprecate APIs (#188163) 2024-07-15 18:54:32 +10:00
Julia Rechkunova
cd4a782cac
[Discover] Update data view API docs (#187146)
- Closes https://github.com/elastic/kibana/issues/187075

## Summary

This PR updates data view API docs. `customDescription` was added in
https://github.com/elastic/kibana/pull/168577

---------

Co-authored-by: Lisa Cawley <lcawley@elastic.co>
Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2024-07-11 19:33:52 +10:00
Lukas Olson
d90d7feda2
Deprecate bfetch advanced settings (#186431)
## Summary

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

Deprecates the advanced settings for bfetch, which is proposed to be
removed in 9.0: `bfetch:disable` and `bfetch:disableCompression`

### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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)
- [ ]
[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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] 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&mdash;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&mdash;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: Julia Rechkunova <julia.rechkunova@elastic.co>
Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
2024-07-10 11:42:59 -07:00
Lisa Cawley
c9b6bc948a
[DOCS] 8.14.3 release notes (#187928) 2024-07-10 09:52:44 -07:00
marciw
fd81ebf83b
[DOCS] Update ES|QL screenshots (#187905)
Fixes #187416 

Screenshots should match the new look and feel (pink text, uppercase
commands)


[Preview](https://kibana_bk_187905.docs-preview.app.elstc.co/guide/en/kibana/master/try-esql.html)
2024-07-10 14:27:23 +00:00
DeDe Morton
4b38ffde3e
[docs] Add note about accessing Azure OpenAI through a proxy (#186436)
## Summary

Closes https://github.com/elastic/observability-docs/issues/4005.

### Checklist

n/a
2024-07-09 11:24:33 -07:00
Vadim Kibana
7e4c8a83e1
[ES|QL] Rename text-based-languages pugin to esql plugin (#187520)
## Summary

Renames `@kbn/text-based-languages` plugin to `@kbn/esql` plugin. This
has been discussed internally, the rationale is that now there will be
only one language: ES|QL; and we may use this plugin for ES|QL related
HTTP routes.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-07-10 00:16:32 +10:00