forked from elastic/kibana
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[performance] enable journey run against cloud deployments (elastic#1…
…56720) ## Summary This PR adds changes and instructions how to run existing performance journeys against ESS instances. As previously discussed with @pheyos , there are few manual steps to be done before running the actual journey: 1. Create cloud deployment and re-configure it the way APM traces are reported the monitoring cluster 2. Check out the branch matching deployment version (main -> 8.9.0-SNAPSHOT), create user with `superuser` role (we don't test functional features, only performance metrics) Then you can run the journey like a regular cloud test suite: ``` export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url> export TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port> export TEST_CLOUD=1 node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts ``` <img width="1357" alt="image" src="https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png"> --------- Co-authored-by: Jon <jon@budzenski.me> (cherry picked from commit e55a92e)
- Loading branch information
1 parent
28a26dd
commit 8118a50
Showing
5 changed files
with
128 additions
and
10 deletions.
There are no files selected for viewing
93 changes: 93 additions & 0 deletions
93
dev_docs/tutorials/performance/running_performance_journey_in_cloud.mdx
This file contains 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,93 @@ | ||
--- | ||
id: kibDevTutorialRunningPerformanceJourneyInCloud | ||
slug: /kibana-dev-docs/tutorial/performance/running_performance_journey_in_cloud | ||
title: Running Performance Journey In Cloud | ||
summary: Learn how to run performance journey against Cloud cluster | ||
date: 2023-05-04 | ||
tags: ['kibana', 'onboarding', 'setup', 'performance', 'development', 'telemetry'] | ||
--- | ||
|
||
## Overview | ||
As a way to better understand user experience with Kibana in cloud, we support running performance journeys against | ||
Cloud deployments. | ||
The process takes a few steps: | ||
- Create a cloud deployment | ||
- Re-configure deployment with APM enabled and reporting metrics to the monitoring cluster | ||
- Create a user with `superuser` role to run tests with | ||
- Checkout the branch that matches your cloud deployment version | ||
- Run the performance journey | ||
|
||
### Re-configure deployment for Kibana and Elasticsearch | ||
We use [kibana-ops-e2e-perf](https://kibana-ops-e2e-perf.kb.us-central1.gcp.cloud.es.io/) cluster to monitor performance testing. | ||
|
||
If you would like to report APM metrics to this cluster, copy `SECRET_TOKEN` and `SERVER_URL` values from [packages/kbn-journeys/journey/journey_apm_config.ts](https://github.com/elastic/kibana/blob/60c82765779419d356a131e212682b69b035804b/packages/kbn-journeys/journey/journey_apm_config.ts#L10-L11) | ||
|
||
#### Change Elasticsearch configuration | ||
In the ESS Admin Console, find your deployment and navigate to `Security` page. Click `Add Settings` under `Elasticsearch keystore` and add new entry: | ||
|
||
``` | ||
Setting name: tracing.apm.secret_token | ||
Secret: <SECRET_TOKEN> | ||
``` | ||
|
||
Navigate to `Advanced Edit` page and change `Deployment Configuration` by adding the following JSON object to `resources.elasticsearch.plan.elasticsearch`: | ||
|
||
``` | ||
"user_settings_override_json": { | ||
"tracing.apm.enabled": "true", | ||
"tracing.apm.environment": "development", | ||
"tracing.apm.agent.service_name": "elasticsearch", | ||
"tracing.apm.agent.server_url": "<SERVER_URL>", | ||
"tracing.apm.agent.metrics_interval": "120s", | ||
"tracing.apm.agent.transaction_sample_rate": "1" | ||
} | ||
``` | ||
|
||
Save changes and make sure cluster is restarted successfully. | ||
|
||
#### Change Kibana configuration | ||
Navigate to `Advanced Edit` page and change `Deployment Configuration` by adding the following JSON object to `resources.kibana.plan.kibana`: | ||
|
||
``` | ||
"user_settings_override_json": { | ||
"elastic.apm.active": true, | ||
"elastic.apm.breakdownMetrics": false, | ||
"elastic.apm.captureBody": "all", | ||
"elastic.apm.captureRequestHeaders": "true", | ||
"elastic.apm.captureSpanStackTraces": false, | ||
"elastic.apm.centralConfig": false, | ||
"elastic.apm.contextPropagationOnly": "false", | ||
"elastic.apm.environment": "development", | ||
"elastic.apm.globalLabels.deploymentId": "<DEPLOYMENT_ID>", | ||
"elastic.apm.globalLabels.journeyName": "<YOUR_JOURNEY_NAME>", | ||
"elastic.apm.longFieldMaxLength": "300000", | ||
"elastic.apm.metricsInterval": "120s", | ||
"elastic.apm.propagateTracestate": true, | ||
"elastic.apm.sanitizeFieldNames": "password,passwd,pwd,secret,*key,*token*,*session*,*credit*,*card*,*auth*,set-cookie,pw,pass,connect.sid", | ||
"elastic.apm.secretToken": "<SECRET_TOKEN>", | ||
"elastic.apm.serverUrl": "<SERVER_URL>", | ||
"elastic.apm.transactionSampleRate": 1 | ||
} | ||
``` | ||
|
||
Note: DEPLOYMENT_ID and YOUR_JOURNEY_NAME values are optional labels to find the APM traces for your run. | ||
|
||
Save changes and make sure cluster is restarted successfully. | ||
|
||
### Run the journey | ||
Make sure you have created user with `superuser` role and the Kibana repo branch is matching your deployment version. | ||
Set env variables to run FTR against your cloud deployment: | ||
|
||
``` | ||
export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url> | ||
export TEST_ES_URL=https://<username>:<password>@<elasticsearch_url>:<port> | ||
export TEST_CLOUD=1 | ||
``` | ||
|
||
Run your journey with the command: | ||
|
||
``` | ||
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts` | ||
``` | ||
|
||
|
This file contains 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
This file contains 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
This file contains 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
This file contains 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