# Backport This will backport the following commits from `main` to `8.x`: - [[UII] Add proxy args to install snippets (#193922)](https://github.com/elastic/kibana/pull/193922) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Jen Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2024-10-01T19:30:24Z","message":"[UII] Add proxy args to install snippets (#193922)\n\n## Summary\r\n\r\nResolves #184222. This PR:\r\n\r\n- Ensures custom agent binary download source URI is respected where\r\never it appears in command snippets, for both Fleet Server and Elastic\r\nAgent install instructions\r\n- If a proxy is associated with the source URI, the appropriate args are\r\nadded to the commands as well\r\n- For `curl` commands, these are appended as `--proxy <url>` and\r\n`--proxy-header \"<key>-<value>\"` (repeated for each header key/value\r\npair)\r\n- For Windows, these are appended as `-Proxy \"<url>\"` and `-Headers\r\n@{\"<key1>\"=\"<value1>\"; \"<key2>\"=\"<value2>\"}`\r\n- Adjusts Fleet Server `./elastic-agent install` instructions so that:\r\n- `--fleet-server-es` is the value of the data output host set on that\r\nFleet Server policy (must be ES output)\r\n- If a proxy is associated with that ES output, the corresponding args\r\nare appended:\r\n`--proxy-url=<url>` and `--proxy-header \"<key>-<value>\"` (repeated for\r\neach header key/value pair)\r\n\r\nThe internal API at `/internal/fleet/settings/enrollment` has new\r\nproperties added to its response to support this:\r\n```\r\n fleet_server: {\r\n es_output?: Output;\r\n es_output_proxy?: FleetProxy;\r\n };\r\n download_source_proxy?: FleetProxy;\r\n```\r\n\r\n## Examples\r\n\r\n**Fleet Server install with proxied custom download and proxied ES\r\nhost:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-linux-x86_64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-9.0.0-linux-x86_64.tar.gz\r\ncd elastic-agent-9.0.0-linux-x86_64\r\nsudo ./elastic-agent install \\\r\n --fleet-server-es=http://localhost:9999 \\\r\n --fleet-server-service-token=REDACTED \\\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f \\\r\n --fleet-server-port=8220 \\\r\n --proxy-url=http://some-proxy:1111 \\\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" \\\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-windows-x86_64.zip -OutFile elastic-agent-9.0.0-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-9.0.0-windows-x86_64.zip\r\ncd elastic-agent-9.0.0-windows-x86_64\r\n.\\elastic-agent.exe install `\r\n --fleet-server-es=http://localhost:9999 `\r\n --fleet-server-service-token=REDACTED `\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f `\r\n --fleet-server-port=8220 `\r\n --proxy-url=http://some-proxy:1111 `\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" `\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n**Elastic Agent install with proxied download source and proxied Fleet\r\nServer host:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-darwin-aarch64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-8.15.1-darwin-aarch64.tar.gz\r\ncd elastic-agent-8.15.1-darwin-aarch64\r\nsudo ./elastic-agent install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-windows-x86_64.zip -OutFile elastic-agent-8.15.1-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-8.15.1-windows-x86_64.zip -DestinationPath .\r\ncd elastic-agent-8.15.1-windows-x86_64\r\n.\\elastic-agent.exe install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n### To-do\r\n- [x] Unit tests\r\n- [x] API integration tests for enrollment settings endpoint","sha":"121ff399672673844c5a92996c7a379894abeea8","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Fleet","v9.0.0","backport:prev-minor"],"number":193922,"url":"https://github.com/elastic/kibana/pull/193922","mergeCommit":{"message":"[UII] Add proxy args to install snippets (#193922)\n\n## Summary\r\n\r\nResolves #184222. This PR:\r\n\r\n- Ensures custom agent binary download source URI is respected where\r\never it appears in command snippets, for both Fleet Server and Elastic\r\nAgent install instructions\r\n- If a proxy is associated with the source URI, the appropriate args are\r\nadded to the commands as well\r\n- For `curl` commands, these are appended as `--proxy <url>` and\r\n`--proxy-header \"<key>-<value>\"` (repeated for each header key/value\r\npair)\r\n- For Windows, these are appended as `-Proxy \"<url>\"` and `-Headers\r\n@{\"<key1>\"=\"<value1>\"; \"<key2>\"=\"<value2>\"}`\r\n- Adjusts Fleet Server `./elastic-agent install` instructions so that:\r\n- `--fleet-server-es` is the value of the data output host set on that\r\nFleet Server policy (must be ES output)\r\n- If a proxy is associated with that ES output, the corresponding args\r\nare appended:\r\n`--proxy-url=<url>` and `--proxy-header \"<key>-<value>\"` (repeated for\r\neach header key/value pair)\r\n\r\nThe internal API at `/internal/fleet/settings/enrollment` has new\r\nproperties added to its response to support this:\r\n```\r\n fleet_server: {\r\n es_output?: Output;\r\n es_output_proxy?: FleetProxy;\r\n };\r\n download_source_proxy?: FleetProxy;\r\n```\r\n\r\n## Examples\r\n\r\n**Fleet Server install with proxied custom download and proxied ES\r\nhost:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-linux-x86_64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-9.0.0-linux-x86_64.tar.gz\r\ncd elastic-agent-9.0.0-linux-x86_64\r\nsudo ./elastic-agent install \\\r\n --fleet-server-es=http://localhost:9999 \\\r\n --fleet-server-service-token=REDACTED \\\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f \\\r\n --fleet-server-port=8220 \\\r\n --proxy-url=http://some-proxy:1111 \\\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" \\\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-windows-x86_64.zip -OutFile elastic-agent-9.0.0-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-9.0.0-windows-x86_64.zip\r\ncd elastic-agent-9.0.0-windows-x86_64\r\n.\\elastic-agent.exe install `\r\n --fleet-server-es=http://localhost:9999 `\r\n --fleet-server-service-token=REDACTED `\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f `\r\n --fleet-server-port=8220 `\r\n --proxy-url=http://some-proxy:1111 `\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" `\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n**Elastic Agent install with proxied download source and proxied Fleet\r\nServer host:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-darwin-aarch64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-8.15.1-darwin-aarch64.tar.gz\r\ncd elastic-agent-8.15.1-darwin-aarch64\r\nsudo ./elastic-agent install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-windows-x86_64.zip -OutFile elastic-agent-8.15.1-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-8.15.1-windows-x86_64.zip -DestinationPath .\r\ncd elastic-agent-8.15.1-windows-x86_64\r\n.\\elastic-agent.exe install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n### To-do\r\n- [x] Unit tests\r\n- [x] API integration tests for enrollment settings endpoint","sha":"121ff399672673844c5a92996c7a379894abeea8"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/193922","number":193922,"mergeCommit":{"message":"[UII] Add proxy args to install snippets (#193922)\n\n## Summary\r\n\r\nResolves #184222. This PR:\r\n\r\n- Ensures custom agent binary download source URI is respected where\r\never it appears in command snippets, for both Fleet Server and Elastic\r\nAgent install instructions\r\n- If a proxy is associated with the source URI, the appropriate args are\r\nadded to the commands as well\r\n- For `curl` commands, these are appended as `--proxy <url>` and\r\n`--proxy-header \"<key>-<value>\"` (repeated for each header key/value\r\npair)\r\n- For Windows, these are appended as `-Proxy \"<url>\"` and `-Headers\r\n@{\"<key1>\"=\"<value1>\"; \"<key2>\"=\"<value2>\"}`\r\n- Adjusts Fleet Server `./elastic-agent install` instructions so that:\r\n- `--fleet-server-es` is the value of the data output host set on that\r\nFleet Server policy (must be ES output)\r\n- If a proxy is associated with that ES output, the corresponding args\r\nare appended:\r\n`--proxy-url=<url>` and `--proxy-header \"<key>-<value>\"` (repeated for\r\neach header key/value pair)\r\n\r\nThe internal API at `/internal/fleet/settings/enrollment` has new\r\nproperties added to its response to support this:\r\n```\r\n fleet_server: {\r\n es_output?: Output;\r\n es_output_proxy?: FleetProxy;\r\n };\r\n download_source_proxy?: FleetProxy;\r\n```\r\n\r\n## Examples\r\n\r\n**Fleet Server install with proxied custom download and proxied ES\r\nhost:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-linux-x86_64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-9.0.0-linux-x86_64.tar.gz\r\ncd elastic-agent-9.0.0-linux-x86_64\r\nsudo ./elastic-agent install \\\r\n --fleet-server-es=http://localhost:9999 \\\r\n --fleet-server-service-token=REDACTED \\\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f \\\r\n --fleet-server-port=8220 \\\r\n --proxy-url=http://some-proxy:1111 \\\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" \\\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-9.0.0-windows-x86_64.zip -OutFile elastic-agent-9.0.0-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-9.0.0-windows-x86_64.zip\r\ncd elastic-agent-9.0.0-windows-x86_64\r\n.\\elastic-agent.exe install `\r\n --fleet-server-es=http://localhost:9999 `\r\n --fleet-server-service-token=REDACTED `\r\n --fleet-server-policy=027a180f-2f4a-4dd1-a531-bf1d1d64179f `\r\n --fleet-server-port=8220 `\r\n --proxy-url=http://some-proxy:1111 `\r\n --proxy-header=\"Accept-Language=en-US,en;q=0.5\" `\r\n --proxy-header=\"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n**Elastic Agent install with proxied download source and proxied Fleet\r\nServer host:**\r\n```\r\ncurl -L -O https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-darwin-aarch64.tar.gz --proxy http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\ntar xzvf elastic-agent-8.15.1-darwin-aarch64.tar.gz\r\ncd elastic-agent-8.15.1-darwin-aarch64\r\nsudo ./elastic-agent install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n```\r\n$ProgressPreference = 'SilentlyContinue'\r\nInvoke-WebRequest -Uri https://my-agent-binary-source/beats/elastic-agent/elastic-agent-8.15.1-windows-x86_64.zip -OutFile elastic-agent-8.15.1-windows-x86_64.zip -Proxy \"http://some-proxy:1111\" -Headers @{\"Accept-Language\"=\"en-US,en;q=0.5\";\"Accept-Encoding\"=\"gzip, deflate, br\"}\r\nExpand-Archive .\\elastic-agent-8.15.1-windows-x86_64.zip -DestinationPath .\r\ncd elastic-agent-8.15.1-windows-x86_64\r\n.\\elastic-agent.exe install --url=https://localhost:2222 --enrollment-token=REDACTED --proxy-url=http://some-proxy:1111 --proxy-header \"Accept-Language=en-US,en;q=0.5\" --proxy-header \"Accept-Encoding=gzip, deflate, br\"\r\n```\r\n\r\n### To-do\r\n- [x] Unit tests\r\n- [x] API integration tests for enrollment settings endpoint","sha":"121ff399672673844c5a92996c7a379894abeea8"}}]}] BACKPORT--> |
||
---|---|---|
.buildkite | ||
.devcontainer | ||
.github | ||
api_docs | ||
config | ||
dev_docs | ||
docs | ||
examples | ||
kbn_pm | ||
legacy_rfcs | ||
licenses | ||
oas_docs | ||
packages | ||
plugins | ||
scripts | ||
src | ||
test | ||
typings | ||
x-pack | ||
.backportrc.json | ||
.bazelignore | ||
.bazeliskversion | ||
.bazelrc | ||
.bazelrc.common | ||
.bazelversion | ||
.browserslistrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.i18nrc.json | ||
.node-version | ||
.npmrc | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
.puppeteerrc | ||
.stylelintignore | ||
.stylelintrc | ||
.telemetryrc.json | ||
.yarnrc | ||
BUILD.bazel | ||
catalog-info.yaml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
FAQ.md | ||
fleet_packages.json | ||
github_checks_reporter.json | ||
kibana.d.ts | ||
LICENSE.txt | ||
NOTICE.txt | ||
package.json | ||
preinstall_check.js | ||
README.md | ||
renovate.json | ||
RISK_MATRIX.mdx | ||
run_fleet_setup_parallel.sh | ||
SECURITY.md | ||
sonar-project.properties | ||
STYLEGUIDE.mdx | ||
tsconfig.base.json | ||
tsconfig.browser.json | ||
tsconfig.browser_bazel.json | ||
tsconfig.json | ||
TYPESCRIPT.md | ||
versions.json | ||
WORKSPACE.bazel | ||
yarn.lock |
Kibana
Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.
- Getting Started
- Documentation
- Version Compatibility with Elasticsearch
- Questions? Problems? Suggestions?
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:
- Download the latest version on the Kibana Download Page.
- Learn more about Kibana's features and capabilities on the Kibana Product Page.
- We also offer a hosted version of Kibana on our Cloud Service.
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:
- CONTRIBUTING.md will help you get Kibana up and running.
- If you would like to contribute code, please follow our STYLEGUIDE.mdx.
- For all other questions, check out the FAQ.md and wiki.
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.