Your window into the Elastic Stack
Find a file
Abhishek Bhatia 0fad96fa37
[EA][PrivMon] Tile Visualisations on Privileged User Monitoring Dashboard (#223092)
## Summary

The PR adds code for displaying the visualisations for key insights
panel of Privileged user monitoring dashboard.

It comprises of 6 tiles. 

1. Active Privileged Users
2. Alerts Triggered
3. Anomalies Detected
4. Granted Rights
5. Account Switches
6. Authentications

All the tiles have been created using the Lens visualisation for ease of
use and also to streamline visualisations across the security solution.

Screenshots : 

Privileged User Monitoring Dashboard

![Screenshot 2025-06-09 at 3 00
55 PM](https://github.com/user-attachments/assets/f39768a2-bcd5-4959-ad53-b6186512ba49)


Lens visualisation for a tile : 


![image](https://github.com/user-attachments/assets/5e877124-ad6b-4cac-b9ef-12fa6a01b79e)


### Adding Data for desk testing : 

1. On the `main` branch of "The Data Yeeter"
(https://github.com/elastic/security-documents-generator/), run `yarn
start privileged_access_detection`. This primarily adds data for
anomalies.
2. Then on the same `main` branch, run `yarn start
privileged_user_monitoring`. This will add data for the privileged user
index
3. On the dev console execute the following : 

```
POST kbn:/api/entity_analytics/monitoring/engine/init

POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "john.smith"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "stacy_armstrong"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "john_smith"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "randy.carlisle"}
}
POST kbn:/api/entity_analytics/monitoring/users
{
  "user": {"name": "root"}
}
```

### Testing Steps : 
1. Enable privilegedUserMonitoring feature flag.
2. Navigate to entity_analytics/privileged_user_monitoring page
3. Click on "Go to Dashboards" on the top left corner.
4. You will be able to see the tiles with name and number.
5. Click on the three dots when cursor is hovered over the tile and
click on Inspect to check the query executed, click on More -> Open in
Lens to check if the tile opens up fine in the lens visualiastion link.
6. Check the data view in the lens visualisation. For anomalies, the
data view should be `.ml-anomalies-*`. For other it would either be
`.alerts-*` or `logs-*`.


### Not part of this PR : 
1. The trendline on the tile did not work as i am yet to figure out a
way, if it exists, to show a trendline with ES|QL query as it works fine
with KQL queries but similar lens attribites do not function.
2. Load testing where the local environment does not have much data to
show.


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

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

---------

Co-authored-by: jaredburgettelastic <jared.burgett@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-06-24 14:32:22 -05:00
.buildkite [Security Solution] Implement prebuilt rules import test plan (#223421) 2025-06-24 13:24:10 +01:00
.devcontainer Upgrade to Storybook 8 (#195148) 2025-03-14 15:41:03 -07:00
.github [Security Solution] [AI assistant] Make the Security AI assistant global (#223936) 2025-06-24 19:11:43 +01:00
api_docs [api-docs] 2025-06-24 Daily api_docs build (#224989) 2025-06-24 07:10:32 +01:00
config [Home page V1] Create a home page in serverless env (#223172) 2025-06-24 17:54:04 +01:00
dev_docs Adds guidelines for designing HTTP APIs (#224348) 2025-06-24 08:01:06 -07:00
docs Update elastic-managed-llm.md (#225108) 2025-06-24 18:46:34 +00:00
examples [Dashboards as code] remove client transform of panels array to map (#224314) 2025-06-24 08:48:08 -06:00
kbn_pm add es-cache to cleaned folders (#223373) 2025-06-12 10:58:05 +02:00
legacy_rfcs Optimize existing image assets with lossless compression (#223998) 2025-06-19 16:44:13 +02:00
licenses Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
oas_docs [SecuritySolution] Create PrivMon index import flow (#224822) 2025-06-24 10:09:06 +01:00
packages [Security Solution] [AI assistant] Make the Security AI assistant global (#223936) 2025-06-24 19:11:43 +01:00
plugins
scripts [Inference] Instrument inference with OpenTelemetry (#218694) 2025-05-07 11:44:29 +02:00
src [ES|QL] Walker improvements (#224582) 2025-06-24 18:28:34 +01:00
typings chore: remove react-syntax-highlighter leftovers (#213076) 2025-03-04 15:35:34 +01:00
x-pack [EA][PrivMon] Tile Visualisations on Privileged User Monitoring Dashboard (#223092) 2025-06-24 14:32:22 -05:00
.backportrc.json chore(NA): prepare replacement of 8.x branch with 8.19 (#218514) 2025-04-17 04:02:40 +01:00
.bazelignore Remove references to deleted .ci folder (#177168) 2024-02-20 19:54:21 +01:00
.bazeliskversion
.bazelrc chore(NA): use new and more performant BuildBuddy servers (#130350) 2022-04-18 02:01:38 +01:00
.bazelrc.common Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
.bazelversion chore(NA): revert bazel upgrade for v5.2.0 (#135096) 2022-06-24 03:57:21 +01:00
.browserslistrc Add Firefox ESR to browserlistrc (#184462) 2024-05-29 17:53:18 -05:00
.editorconfig
.eslintignore chore(fullstory): serve the snippet as an asset (#220368) 2025-05-07 23:06:24 +02:00
.eslintrc.js [ska] create platform shared package for Cypress test helpers (#224361) 2025-06-24 10:51:12 +02:00
.gitattributes
.gitignore Upgrade Node.js to 22.16.0 (#205983) 2025-06-18 08:55:18 -05:00
.i18nrc.json [Discover] Support Lens fetches across tabs (#218506) 2025-05-02 13:39:25 -03:00
.node-version Upgrade Node.js to 22.16.0 (#205983) 2025-06-18 08:55:18 -05:00
.npmrc [npmrc] Fix puppeteer_skip_download configuration (#177673) 2024-02-22 18:59:01 -07:00
.nvmrc Upgrade Node.js to 22.16.0 (#205983) 2025-06-18 08:55:18 -05:00
.prettierignore
.prettierrc
.puppeteerrc Add .puppeteerrc (#179847) 2024-04-03 09:14:39 -05:00
.stylelintignore
.stylelintrc Bump stylelint to ^14 (#136693) 2022-07-20 10:11:00 -05:00
.telemetryrc.json Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-core (#201653) 2025-01-04 11:47:24 -07:00
.yarnrc
BUILD.bazel Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
catalog-info.yaml Configures PagerDuty Backstage Integration for kbn (#208440) 2025-01-27 23:29:11 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Docs: fix broken links in CONTRIBUTING.md (#219158) 2025-04-24 17:25:00 -06:00
FAQ.md Fix small typos in the root md files (#134609) 2022-06-23 09:36:11 -05:00
fleet_packages.json [Security solution] Remove feature flag, always automatically install prompts (#224489) 2025-06-24 18:26:32 +01:00
github_checks_reporter.json
kibana.d.ts Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
LICENSE.txt Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
NOTICE.txt [api-docs] 2025-01-01 Daily api_docs build (#205342) 2025-01-01 01:37:13 -06:00
package.json Update dependency @apidevtools/swagger-parser to v12 (main) (#223300) 2025-06-24 15:21:59 -04:00
preinstall_check.js Adds AGPL 3.0 license (#192025) 2024-09-06 19:02:41 -06:00
README.md
renovate.json Render accordion in integration readme (#223916) 2025-06-24 13:22:55 +02:00
RISK_MATRIX.mdx
run_fleet_setup_parallel.sh Sustainable Kibana Architecture: Move modules owned by @elastic/fleet (#202422) 2024-12-24 15:32:43 +01:00
SECURITY.md
sonar-project.properties [sonarqube] update memory, cpu (#190547) 2024-09-09 16:16:30 -05:00
STYLEGUIDE.mdx [styleguide] update path to scss theme (#140742) 2022-09-15 10:41:14 -04:00
tsconfig.base.json [Security Solution] [AI assistant] Make the Security AI assistant global (#223936) 2025-06-24 19:11:43 +01:00
tsconfig.browser.json
tsconfig.browser_bazel.json
tsconfig.json Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
TYPESCRIPT.md Fix small typos in the root md files (#134609) 2022-06-23 09:36:11 -05:00
updatecli-compose.yaml deps(updatecli): bump all policies (#195865) 2024-10-15 07:37:12 -05:00
versions.json chore(NA): update versions after v8.17.8 bump (#222415) 2025-06-03 21:39:35 +01:00
WORKSPACE.bazel Upgrade Node.js to 22.16.0 (#205983) 2025-06-18 08:55:18 -05:00
yarn.lock Update dependency @apidevtools/swagger-parser to v12 (main) (#223300) 2025-06-24 15:21:59 -04:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 7.15.1 7.15.1 💚 OK
ES patch number is newer. 7.15.0 7.15.1 ⚠️ Logged warning
ES minor number is newer. 7.14.2 7.15.0 ⚠️ Logged warning
ES major number is newer. 7.15.1 8.0.0 🚫 Fatal error
ES patch number is older. 7.15.1 7.15.0 ⚠️ Logged warning
ES minor number is older. 7.15.1 7.14.2 🚫 Fatal error
ES major number is older. 8.0.0 7.15.1 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.