Skip to content
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

[8.x](backport #4398) profiling: add documentation for the config file and CLI arguments #4499

Merged
merged 2 commits into from
Nov 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/en/observability/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ include::profiling-tag-data-query.asciidoc[leveloffset=+4]
include::profiling-add-symbols.asciidoc[leveloffset=+4]
include::profiling-use-a-proxy.asciidoc[leveloffset=+4]
include::profiling-no-kernel-version-check.asciidoc[leveloffset=+4]
include::profiling-envs.asciidoc[leveloffset=+4]
include::profiling-config-file.asciidoc[leveloffset=+4]

include::profiling-upgrade.asciidoc[leveloffset=+3]

Expand Down
21 changes: 21 additions & 0 deletions docs/en/observability/profiling-advanced-configuration.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,24 @@ See the following sections for more information:
* <<profiling-no-kernel-version-check, Override kernel version check >>: Configure the Universal Profiling Agent to bypass the kernel version compatibility check.


WARNING: Command line arguments to the Universal Profiling Agent take precedence over environment variables, and environment variables take precedence over the configuration file.



The Universal Profiling Agent accepts the following CLI arguments:

[options="header"]
|==================================
| CLI argument | Type | Example | Description
| `-v` | `bool` | `-v` | Run the Universal Profiling Agent in verbose mode.
| `-no-kernel-version-check` | `bool` | `-no-kernel-version-check` | Disable the kernel version check. See <<profiling-no-kernel-version-check, Override kernel version check >> for more details.
| `-tags` | `string` | `-tags='cloud_region:us-central1;env:staging'` | Set specific tags. See <<profiling-tag-data-query, Tag data for querying>> for more details.
| `-project-id` | `uint` | `-project-id 73` | Splits profiling data into logical groups that you control. You can assign any non-zero, unsigned integer <= 4095.
| `-secret-token` | `string` | `-secret-token=abc123` | Set the secret token for communicating with the Universal Profiling Collector to `abc123`.

| `-collection-agent` | `string` | `-collection-agent=example.com:443` | Set the destination for reporting profiling information to `example.com:443`.
| `-probabilistic-interval` | `duration` | `-probabilistic-interval=2m30s`| Set the probabilistic interval to `2m30s`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
| `-probabilistic-threshold` | `uint` | `-probabilistic-threshold=50` | Set the probabilistic threshold to `50`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
| `-config` | `string` | `-config=/etc/Elastic/universal-profiling/pf-host-agent.conf` | Set the path for the configuration file of the Universal Profiling Agent. See <<profiling-config-file, Configuration file of the Universal Profiling Agent>> for more details.

|==================================
30 changes: 30 additions & 0 deletions docs/en/observability/profiling-config-file.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[[profiling-config-file]]
= Configuration file of the Universal Profiling Agent

The Universal Profiling Agent can be configured using a configuration file. Specify the path to the configuration file using the CLI argument `-config`.
The default path for the configuration file is `/etc/Elastic/universal-profiling/pf-host-agent.conf`.

The expected format of the configuration file is a plaintext file, where each line holds one option.

Example:
[source]
----
project-id: 73
secret-token: abc123
collection-agent: example.com:443
----

WARNING: Command line arguments to the Universal Profiling Agent take precedence over environment variables, and environment variables take precedence over the configuration file.

[options="header"]
|==================================
| Config file option | Type | Example | Description
| `verbose` | `bool` | `verbose: true` | Run the Universal Profiling Agent in verbose mode.
| `no-kernel-version-check` | `bool` | `no-kernel-version-check: true` | Disable the kernel version check. See <<profiling-no-kernel-version-check, Override kernel version check >> for more details.
| `tags` | `string` | `tags: 'cloud_region:us-central1;env:staging'` | Set specific tags. See <<profiling-tag-data-query, Tag data for querying>> for more details.
| `project-id` | `uint` | `project-id: 73` | Splits profiling data into logical groups that you control. You can assign any non-zero, unsigned integer <= 4095.
| `secret-token` | `string` | `secret-token: abc123` | Set the secret token for communicating with the Universal Profiling Collector to `abc123`.
| `collection-agent` | `string` | `collection-agent: example.com:443` | Set the destination for reporting profiling information to `example.com:443`.
| `probabilistic-interval` | `duration` | `probabilistic-interval: 2m30s`| Set the probabilistic interval to `2m30s`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
| `probabilistic-threshold` | `uint` | `probabilistic-threshold: 50` | Set the probabilistic threshold to `50`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
|==================================
20 changes: 20 additions & 0 deletions docs/en/observability/profiling-envs.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[[profiling-envs]]
= Environment variables to configure the Universal Profiling Agent

The Universal Profiling Agent can be configured with environment variables.

WARNING: Command line arguments to the Universal Profiling Agent take precedence over environment variables, and environment variables take precedence over the configuration file.

[options="header"]
|==================================
| Environment variable | Example | Description
| `PRODFILER_VERBOSE` | `PRODFILER_VERBOSE=true` | Run the Universal Profiling Agent in verbose mode.
| `PRODFILER_NO_KERNEL_VERSION_CHECK` | `PRODFILER_NO_KERNEL_VERSION_CHECK=true` | Disable the kernel version check. See <<profiling-no-kernel-version-check, Override kernel version check >> for more details.
| `PRODFILER_TAGS` | `PRODFILER_TAGS="cloud_region:us-central1;env:staging"` | Set specific tags. See <<profiling-tag-data-query, Tag data for querying>> for more details.
| `PRODFILER_PROJECT_ID` | `PRODFILER_PROJECT_ID=73` | Set project ID to 73.
| `PRODFILER_SECRET_TOKEN` | `PRODFILER_SECRET_TOKEN=my_secret_token` | Set the secret token to `my_secret_token`.
| `PRODFILER_COLLECTION_AGENT` | `PRODFILER_COLLECTION_AGENT=example.com:443` | Set the destination for reporting profiling information to `example.com:443`.
| `PRODFILER_PROBABILISTIC_THRESHOLD` | `PRODFILER_PROBABILISTIC_THRESHOLD=50` | Set the probabilistic threshold to `50`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
| `PRODFILER_PROBABILISTIC_INTERVAL` |`PRODFILER_PROBABILISTIC_INTERVAL=2m30s` | Set the probabilistic interval to `2m30s`. See <<profiling-probabilistic-profiling, Probabilistic profiling>> for more details.
| `PRODFILER_CONFIG` | `PRODFILER_CONFIG=/etc/Elastic/universal-profiling/pf-host-agent.conf` | Set the path for the configuration file of the Universal Profiling Agent. See <<profiling-config-file, Configuration file of the Universal Profiling Agent>> for more details.
|==================================