-
Notifications
You must be signed in to change notification settings - Fork 206
[DOCS][AWP] New page for Kubernetes dashboard #2243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
7ed7cd5
First draft of Kubernetes Dashboard doc
benironside 5ff6760
Fixes a typo
benironside feb03b6
Fixes table format bug
benironside 65a30fb
fixes for,attong
benironside e3f1e6b
Addresses Norrie's feedback
benironside bc8756c
Adds "kubernetes-specific data in session view" section
benironside 29aeeff
Merge branch 'main' into issue-2213-big
benironside 19ac01d
Addresses Quan's feedback
benironside 3c2a32f
Merge branch 'issue-2213-big' of github.com:elastic/security-docs int…
benironside 545486f
Incorporates Jack's feedback
benironside 5a34aec
Addresses Jack's feedback
benironside d577e63
Fixes build errors
benironside 3a5bb41
Incorporate Jack's feedback
benironside 70328df
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 50ebc3f
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside a4b6694
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 19538f6
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 89ce5ab
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 102c60e
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 9d3ba69
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 257878d
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 26032ce
troubleshoot build failure
benironside 4bddd1b
Update docs/dashboards/kubernetes-dashboard.asciidoc
benironside 577d535
Incorporates Nastasha's and Joe's feedback
benironside 6961cb4
Updates the Session View page to mention K8s data
benironside 9342e37
troubleshoot build
benironside 36d05ef
troubleshoot build
benironside 4c87f6b
Merge branch 'main' into issue-2213-big
benironside 3c526c9
Incorporates feedback
benironside e495573
Merge branch 'main' into issue-2213-big
benironside c58a8f1
Incorporates Janeen's, Nick's, and Quan's feedback
benironside 3dfaf90
Merge branch 'issue-2213-big' of github.com:elastic/security-docs int…
benironside 922818e
Merge branch 'main' into issue-2213-big
benironside 3c5db4e
Merge branch 'main' into issue-2213-big
benironside 5a2ef8e
Merge branch 'main' into issue-2213-big
benironside 55a8e96
Reorg to better match other dashboards pages
benironside 60ab479
Merge branch 'issue-2213-big' of github.com:elastic/security-docs int…
benironside 214a4e7
Minor edit
benironside 57c87e4
Final nits
benironside File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| [[kubernetes-dashboard]] | ||
| = Kubernetes dashboard | ||
|
|
||
| The Kubernetes dashboard provides insight into Linux process data from your Kubernetes clusters. It shows sessions in detail and in the context of your monitored infrastructure. | ||
|
|
||
| image::kubernetes-dashboard.png[The Kubernetes dashboard, with numbered labels 1 through 3 for major sections] | ||
| The numbered sections are described below: | ||
|
|
||
| 1. The charts at the top of the dashboard provide an overview of your monitored Kubernetes infrastructure. You can hide them by clicking *Hide charts*. | ||
| 2. The tree navigation menu allows you to navigate through your deployments and select the scope of the sessions table to the right. You can select any item in the menu to show its sessions. In Logical view, the menu is organized by Cluster, Namespace, Pod, and Container image. In Infrastructure view, it is organized by Cluster, Node, Pod, and Container image. | ||
| 3. The sessions table displays sessions collected from the selected element of your Kubernetes infrastructure. You can view it in fullscreen by selecting the button in the table's upper right corner. You can sort the table by any of its fields. | ||
|
|
||
| You can filter the data using the KQL search bar and date picker at the top of the page. | ||
|
|
||
| From the sessions table's Actions column, you can take the following investigative actions: | ||
|
|
||
| - View details | ||
| - <<timelines-ui,Open in Timeline>> | ||
| - <<alerts-run-osquery, Run Osquery>> | ||
| - <<visual-event-analyzer, Analyze event>> | ||
| - <<session-view, Open Session View>> | ||
|
|
||
| Session View displays Kubernetes metadata under the *Metadata* tab of the Detail panel: | ||
|
|
||
| image::metadata-tab.png[The Detail panel's metadata tab] | ||
|
|
||
| The *Metadata* tab is organized into these expandable sections: | ||
|
|
||
| - *Metadata:* `hostname`, `id`, `ip`, `mac`, `name`, Host OS information | ||
| - *Cloud:* `instance.name`, `provider`, `region`, `account.id`, `project.id` | ||
| - *Container:* `id`, `name`, `image.name`, `image.tag`, `image.hash.all` | ||
| - *Orchestrator:* `resource.ip`, `resource.name`, `resource.type`, `namespace`, `cluster.id`, `cluster.name`, `parent.type` | ||
|
|
||
|
|
||
| [discrete] | ||
| [[k8s-dash-setup]] | ||
| == Setup | ||
| To collect session data for the dashboard, you'll deploy a Kubernetes DaemonSet to your clusters that implements the {endpoint-cloud-sec} integration. | ||
|
|
||
| **Prerequisites**: | ||
|
|
||
| - This feature requires Elastic Stack version 8.4 or newer. | ||
| - You need an active {fleet-guide}/fleet-overview.html[{fleet} Server]. | ||
| - Your Elastic deployment must have the {endpoint-cloud-sec} integration <<install-endpoint,enabled>>. | ||
| - The {endpoint-cloud-sec} integration policy must have **Include session data** set to `true`. To modify this setting, go to **Manage -> Policies**, select your policy, and find `Include session data` near the bottom of the `Policy settings` tab. | ||
|
|
||
| **Support matrix**: This feature is currently available on GKE and EKS using Linux hosts and Kubernetes versions that match the following specifications: | ||
| |===================== | ||
| | | **Kubernetes versions** | **Node OSes** | ||
| |**EKS**| 1.18; 1.19; 1.20; 1.21 | Amazon Linux 2, Bottlerocket OS | ||
| |**GKE**| Regular (default channel): 1.21 and 1.22; Stable: 1.20 and 1.21; Rapid: 1.22 and 1.23 | Container-optimized OS (COS), Ubuntu | ||
| |===================== | ||
|
|
||
| [discrete] | ||
| === Download and modify the DaemonSet manifest | ||
| The DaemonSet integrates {elastic-endpoint} into your Kubernetes cluster. The {agent} is enrolled to a running {fleet-server} using the `FLEET_URL` parameter, and connected to a specific {agent} policy using the `FLEET_ENROLLMENT_TOKEN`. | ||
|
|
||
| You first need to download the DaemonSet manifest `.yaml`, then modify it to include your {fleet} URL and Enrollment Token before you deploy it to the clusters you want to monitor. | ||
|
|
||
| 1. Download the DaemonSet manifest using the command: `curl -L -O https://raw.githubusercontent.com/elastic/main/releases/8.4.0/kubernetes/deploy/elastic-endpoint-security.yaml` | ||
| 2. Fill in the manifest's `FLEET_URL` field with your {fleet} server's `Host URL`. To find it, go to **{kib} -> Management -> {fleet} -> Settings**. For more information, refer to {fleet-guide}/fleet-settings.html[Fleet UI settings]. | ||
| 3. Fill in the manifest's `FLEET_ENROLLMENT_TOKEN` field with a Fleet enrollment token. To find one, go to **{kib} -> Management -> {fleet} -> Enrollment tokens**. For more information, refer to {fleet-guide}/fleet-enrollment-tokens.html[Fleet enrollment tokens]. | ||
|
|
||
|
|
||
| [discrete] | ||
| === Apply the modified manifest to your cluster or clusters | ||
|
|
||
| To ensure you install {elastic-endpoint} on the desired Kubernetes cluster(s), set the default context using command: `kubectl config use-context <name-of-context>`. | ||
| To check which contexts exist, use `kubectl config get-contexts` to list them from your local kubectl config file. An asterisk indicates the current default context. | ||
|
|
||
| You can repeat the following steps for multiple contexts. | ||
|
|
||
| **Example:** | ||
|
|
||
| - Apply the manifest to a cluster: `kubectl apply -f elastic-endpoint-security.yaml` | ||
| - Check the DaemonSet’s status: `kubectl get pods -A` | ||
|
|
||
| Once the DaemonSet is running, Elastic Endpoint will start sending Linux session data from Kubernetes to {kib}. You can then view that data from the Kubernetes dashboard. | ||
|
|
||
|
|
||
| IMPORTANT: This dashboard uses data from the `logs-*` index pattern, which is included by default in the <<advanced-settings,`securitySolution:defaultIndex` advanced setting>>. To collect data from multiple {es} clusters (as in a cross-cluster deployment), update `logs-*` to `*:logs-*`. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.