From 98e4794a4c26966bd4619f7f06825b00e17cc9ff Mon Sep 17 00:00:00 2001 From: Ludovic Terrier Date: Wed, 3 Dec 2025 12:51:30 +0100 Subject: [PATCH] chore: remove trailing whitespaces Signed-off-by: Ludovic Terrier --- .../community_component_proposal.yaml | 2 +- .../bump-formula-pr.rb.patch | 2 +- .../workflows/auto-apply-component-labels.yml | 2 +- .github/workflows/backport.yml | 4 +- .github/workflows/publish-alloy-devel.yml | 2 +- .../scripts/generate-component-labels.sh | 2 +- docs/design/1443-dynamic-pipelines.md | 8 +- docs/developer/add-otel-component.md | 6 +- docs/developer/issue-triage.md | 2 +- docs/developer/publishing-dev-container.md | 4 +- docs/developer/release/03-tag-release.md | 6 +- docs/developer/updating-otel/README.md | 2 +- .../k6-trace-gen/docker-compose.yaml | 2 +- docs/sources/_index.md | 2 +- docs/sources/_index.md.t | 2 +- .../sources/collect/ecs-opentelemetry-data.md | 10 +-- .../collect/opentelemetry-to-lgtm-stack.md | 2 +- .../monitor/monitor-kubernetes-logs.md | 54 ++++++------- docs/sources/monitor/monitor-logs-over-tcp.md | 6 +- .../monitor/monitor-structured-logs.md | 8 +- .../reference/components/beyla/beyla.ebpf.md | 24 +++--- .../discovery/discovery.kubernetes.md | 2 +- .../components/discovery/discovery.relabel.md | 2 +- .../components/faro/faro.receiver.md | 2 +- .../components/local/local.file_match.md | 4 +- .../reference/components/loki/loki.enrich.md | 8 +- .../reference/components/loki/loki.process.md | 2 +- .../components/loki/loki.source.file.md | 2 +- .../components/loki/loki.source.journal.md | 4 +- .../components/loki/loki.source.podlogs.md | 6 +- .../mimir/mimir.alerts.kubernetes.md | 4 +- .../mimir/mimir.rules.kubernetes.md | 2 +- .../components/otelcol/otelcol.auth.basic.md | 14 ++-- .../otelcol/otelcol.connector.spanmetrics.md | 2 +- .../otelcol/otelcol.exporter.datadog.md | 2 +- .../otelcol/otelcol.exporter.kafka.md | 2 +- .../otelcol/otelcol.processor.attributes.md | 4 +- .../otelcol/otelcol.processor.groupbyattrs.md | 6 +- ...otelcol.processor.probabilistic_sampler.md | 8 +- .../otelcol.processor.resourcedetection.md | 4 +- .../otelcol/otelcol.processor.transform.md | 12 +-- ...otelcol.receiver.awsecscontainermetrics.md | 8 +- .../otelcol/otelcol.receiver.faro.md | 10 +-- .../otelcol/otelcol.receiver.kafka.md | 18 ++--- .../otelcol/otelcol.receiver.prometheus.md | 2 +- .../prometheus/prometheus.enrich.md | 34 ++++---- .../prometheus/prometheus.exporter.azure.md | 4 +- .../prometheus/prometheus.exporter.windows.md | 2 +- .../prometheus.operator.scrapeconfigs.md | 2 +- .../prometheus/prometheus.scrape.md | 2 +- .../components/pyroscope/pyroscope.enrich.md | 12 +-- .../components/pyroscope/pyroscope.relabel.md | 2 +- .../components/pyroscope/pyroscope.write.md | 2 +- .../components/remote/remote.vault.md | 4 +- docs/sources/reference/stdlib/array.md | 2 +- docs/sources/release-notes.md | 24 +++--- docs/sources/set-up/install/openshift.md | 4 +- docs/sources/set-up/migrate/from-static.md | 2 +- .../components/otelcol-tls-server-block.md | 2 +- docs/sources/tutorials/send-logs-to-loki.md | 2 +- fallback_version_test.go | 4 +- internal/alloycli/cmd_convert.go | 2 +- .../testdata/kubernetes.yml | 8 +- internal/cmd/integration-tests/README.md | 8 +- .../configs/tempo/tempo.yaml | 4 +- .../tests/beyla/config.alloy | 2 +- .../tests/blackbox/config.alloy | 8 +- .../tests/loki-enrich/config.alloy | 2 +- .../tests/loki-enrich/devices.json | 4 +- .../tests/redis/config.alloy | 4 +- .../database_observability/lexer_test.go | 42 +++++----- .../complex_aggregation_with_case.txtar | 2 +- ...complex_join_with_aggregate_subquery.txtar | 10 +-- ...th_multiple_conditions_and_functions.txtar | 2 +- .../complex_subquery_in_select_clause.txtar | 14 ++-- .../conditional_aggregation_with_case.txtar | 2 +- .../explain_plan/correlated_subquery.txtar | 6 +- .../derived_table_with_aggregates.txtar | 4 +- ...iple_aggregate_functions_with_having.txtar | 2 +- .../multiple_joins_with_date_functions.txtar | 2 +- .../self_join_with_date_comparison.txtar | 2 +- .../string_functions_with_grouping.txtar | 2 +- .../window_functions_with_partitioning.txtar | 2 +- .../complex_aggregation_with_case.txtar | 2 +- ...complex_join_with_aggregate_subquery.txtar | 10 +-- ...mplex_query_with_multiple_conditions.txtar | 2 +- .../complex_subquery_in_select_clause.txtar | 14 ++-- .../conditional_aggregation_with_case.txtar | 2 +- .../explain_plan/correlated_subquery.txtar | 6 +- .../derived_table_with_aggregates.txtar | 4 +- ...iple_aggregate_functions_with_having.txtar | 2 +- .../multiple_joins_with_date_functions.txtar | 2 +- .../explain_plan/run_postgres_queries.sh | 50 ++++++------ .../self_join_with_date_comparison.txtar | 2 +- .../string_functions_with_grouping.txtar | 2 +- .../window_functions_with_partitioning.txtar | 2 +- .../discovery/relabel/relabel_test.go | 4 +- .../component/discovery/uyuni/uyuni_test.go | 2 +- .../loki/process/stages/labels_test.go | 2 +- .../loki/process/stages/limit_test.go | 2 +- .../stages/structured_metadata_test.go | 12 +-- .../loki/process/stages/tenant_test.go | 2 +- .../component/loki/secretfilter/gitleaks.toml | 8 +- .../loki/source/file/internal/tail/README.md | 2 +- .../file/testdata/encoding/CRLF/UTF-8.txt | 4 +- .../file/testdata/encoding/LF/UTF-8.txt | 4 +- .../source/windowsevent/win_eventlog/LICENSE | 2 +- .../windowsevent/win_eventlog/README.md | 2 +- .../windowsevent/win_eventlog/util_test.go | 8 +- .../otelcol/auth/basic/basic_test.go | 6 +- .../component/otelcol/config_queue_test.go | 12 +-- .../connector/spanlogs/spanlogs_test.go | 6 +- .../datadog/config/config_datadog_test.go | 2 +- .../otelcol/exporter/datadog/datadog_test.go | 4 +- .../otelcol/exporter/debug/debug_test.go | 2 +- .../splunkhec/config/splunkhec_test.go | 2 +- .../otelcol/processor/batch/batch_test.go | 2 +- .../processor/discovery/discovery_test.go | 8 +- .../otelcol/processor/filter/filter_test.go | 4 +- .../k8sattributes/k8sattributes_test.go | 12 +-- .../memorylimiter/memorylimiter_test.go | 2 +- .../otelcol/processor/span/span_test.go | 2 +- .../tail_sampling/tail_sampling_test.go | 10 +-- .../receiver/file_stats/file_stats_test.go | 8 +- .../otelcol/receiver/filelog/filelog_test.go | 2 +- .../otelcol/receiver/jaeger/jaeger_test.go | 2 +- .../otelcol/receiver/syslog/syslog_test.go | 4 +- .../otelcol/receiver/tcplog/tcplog_test.go | 4 +- .../exporter/blackbox/blackbox_test.go | 12 +-- .../prometheus/exporter/kafka/kafka_test.go | 2 +- .../prometheus/exporter/mysql/mysql_test.go | 2 +- .../prometheus/exporter/snmp/snmp_test.go | 22 +++--- .../exporter/windows/windows_test.go | 22 +++--- .../configgen/config_gen_podmonitor_test.go | 2 +- .../prometheus/write/queue/README.md | 18 ++--- .../pyroscope/ebpf/reporter/pprof_test.go | 38 ++++----- internal/component/remote/http/http_test.go | 4 +- .../otelcolconvert/testdata/faro.yaml | 2 +- .../otelcolconvert/testdata/filelog.yaml | 2 +- .../otelcolconvert/testdata/oauth2.yaml | 4 +- .../otelcol_without_validation/sigv4auth.yaml | 2 +- .../otelcolconvert/testdata/splunkhec.yaml | 2 +- .../otelcolconvert/testdata/syslog.yaml | 2 +- .../testdata/tail_sampling.yaml | 2 +- .../prometheusconvert/testdata/openstack.yaml | 2 +- .../prometheusconvert/testdata/scrape.yaml | 2 +- .../testdata/prom_missing_name.yaml | 1 - .../staticconvert/testdata/prom_scrape.yaml | 2 +- .../staticconvert/testdata/traces.yaml | 4 +- .../testdata_linux/promtail_prom.yaml | 2 +- .../testdata_windows/promtail_prom.yaml | 2 +- internal/runtime/declare_test.go | 78 +++++++++---------- .../internal/controller/loader_test.go | 2 +- internal/runtime/module_eval_test.go | 2 +- internal/runtime/module_fail_test.go | 2 +- internal/runtime/module_test.go | 4 +- .../testdata/foreach_metrics/foreach_2.txtar | 2 +- internal/service/cluster/cluster_e2e_test.go | 2 +- .../blackbox_exporter_test.go | 4 +- .../integrations/mssql/collector_config.yaml | 4 +- .../integrations/mssql/sql_exporter_test.go | 2 +- .../static/integrations/v2/subsystem_test.go | 2 +- .../static/server/testdata/windows/README.md | 4 +- .../server/testdata/windows/client_cert.crt | 6 +- .../server/testdata/windows/client_key.key | 4 +- .../server/testdata/windows/server_cert.crt | 6 +- .../validator/testdata/default/cycle.diags | 12 +-- .../testdata/default/duplicates.diags | 8 +- .../testdata/default/invalid_declare.diags | 34 ++++---- .../testdata/default/invalid_declare.txtar | 8 +- .../testdata/default/invalid_foreach.diags | 26 +++---- .../testdata/default/invalid_foreach.txtar | 2 +- .../testdata/default/invalid_properties.diags | 32 ++++---- .../testdata/default/invalid_refs.diags | 2 +- .../testdata/default/invalid_refs.txtar | 2 +- .../testdata/default/syntax_errors.diags | 10 +-- .../validator/testdata/default/valid.txtar | 2 +- operations/alloy-mixin/alerts.libsonnet | 2 +- .../alloy-mixin/alerts/clustering.libsonnet | 16 ++-- operations/alloy-mixin/config.libsonnet | 2 +- .../dashboards/alloy-logs.libsonnet | 2 +- .../dashboards/cluster-node.libsonnet | 14 ++-- .../dashboards/cluster-overview.libsonnet | 10 +-- .../dashboards/controller.libsonnet | 8 +- .../alloy-mixin/dashboards/loki.libsonnet | 4 +- .../dashboards/opentelemetry.libsonnet | 8 +- .../dashboards/prometheus.libsonnet | 2 +- .../dashboards/resources.libsonnet | 6 +- .../dashboards/utils/dashboard.jsonnet | 2 +- .../dashboards/utils/templates.libsonnet | 44 +++++------ operations/alloy-mixin/grizzly.jsonnet | 2 +- operations/alloy-mixin/mixin.libsonnet | 2 +- .../alloy/templates/configmap.yaml | 12 +-- .../clustering/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../envFrom/alloy/templates/configmap.yaml | 12 +-- .../extra-env/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../host-alias/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../nonroot/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../rbac-rules/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../sidecars/alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- .../alloy/templates/configmap.yaml | 12 +-- packaging/windows/install_script.nsis | 2 +- syntax/encoding/alloyjson/alloyjson_test.go | 8 +- syntax/parser/parser_test.go | 2 +- .../parser/testdata/invalid_object_key.alloy | 6 +- syntax/token/builder/builder_test.go | 12 +-- syntax/token/builder/nested_defaults_test.go | 16 ++-- syntax/typecheck/typecheck_test.go | 28 +++---- syntax/vm/vm_benchmarks_test.go | 2 +- syntax/vm/vm_block_test.go | 38 ++++----- syntax/vm/vm_test.go | 2 +- tools/ci/docker-containers | 4 +- tools/gen-crd-docs/template/members.tpl | 2 +- tools/gen-crd-docs/template/pkg.tpl | 16 ++-- 248 files changed, 980 insertions(+), 981 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/community_component_proposal.yaml b/.github/ISSUE_TEMPLATE/community_component_proposal.yaml index cf9806484a..8f3e10ba89 100644 --- a/.github/ISSUE_TEMPLATE/community_component_proposal.yaml +++ b/.github/ISSUE_TEMPLATE/community_component_proposal.yaml @@ -17,7 +17,7 @@ body: - type: checkboxes attributes: label: Community component maintainer - description: Are you willing to be the maintainer for this component in Alloy? + description: Are you willing to be the maintainer for this component in Alloy? options: - label: I agree to be a maintainer for this component. - type: textarea diff --git a/.github/actions/homebrew-bump-formula/bump-formula-pr.rb.patch b/.github/actions/homebrew-bump-formula/bump-formula-pr.rb.patch index 63aa4528ee..ec5a15107d 100644 --- a/.github/actions/homebrew-bump-formula/bump-formula-pr.rb.patch +++ b/.github/actions/homebrew-bump-formula/bump-formula-pr.rb.patch @@ -7,6 +7,6 @@ index 167ea9134a..e07aecfe83 100644 tap = formula.tap return if tap.nil? + return if args.force? - + # if we haven't already found open requests, try for an exact match across all pull requests GitHub.check_for_duplicate_pull_requests( diff --git a/.github/workflows/auto-apply-component-labels.yml b/.github/workflows/auto-apply-component-labels.yml index 13c28bc753..252209ca20 100644 --- a/.github/workflows/auto-apply-component-labels.yml +++ b/.github/workflows/auto-apply-component-labels.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 with: persist-credentials: false - + - name: Run apply-component-labels.sh run: ./.github/workflows/scripts/apply-component-labels.sh env: diff --git a/.github/workflows/backport.yml b/.github/workflows/backport.yml index 50f82d18ec..411491370a 100644 --- a/.github/workflows/backport.yml +++ b/.github/workflows/backport.yml @@ -11,7 +11,7 @@ permissions: jobs: main: runs-on: ubuntu-latest - # For now, only run this on the main repo. + # For now, only run this on the main repo. if: github.repository == 'grafana/alloy' # These permissions are needed to assume roles from Github's OIDC. permissions: @@ -36,7 +36,7 @@ jobs: ALLOYBOT_APP_ID=alloybot:app_id ALLOYBOT_PRIVATE_KEY=alloybot:private_key export_env: false - + - uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0 id: app-token with: diff --git a/.github/workflows/publish-alloy-devel.yml b/.github/workflows/publish-alloy-devel.yml index ea5a1b8159..c0d180be89 100644 --- a/.github/workflows/publish-alloy-devel.yml +++ b/.github/workflows/publish-alloy-devel.yml @@ -34,7 +34,7 @@ jobs: with: img-name: alloy-devel dev: true - + update_deployment_tools: name: Update deployment_tools runs-on: ubuntu-latest diff --git a/.github/workflows/scripts/generate-component-labels.sh b/.github/workflows/scripts/generate-component-labels.sh index 3d1d1eff15..2bbfd1c7f9 100755 --- a/.github/workflows/scripts/generate-component-labels.sh +++ b/.github/workflows/scripts/generate-component-labels.sh @@ -24,7 +24,7 @@ for README in $(find ./docs/sources/reference/components -name '*.md' ! -name '* FILENAME=${README##*/} LABEL_NAME="c/${FILENAME%.*}" TYPE=$(echo "${FILENAME}" | cut -f1 -d '.' ) - + if (( "${#LABEL_NAME}" > 50 )); then echo "'${LABEL_NAME}' exceeds GitHubs 50-character limit on labels, skipping" continue diff --git a/docs/design/1443-dynamic-pipelines.md b/docs/design/1443-dynamic-pipelines.md index 05cf2550f9..e3404daeeb 100644 --- a/docs/design/1443-dynamic-pipelines.md +++ b/docs/design/1443-dynamic-pipelines.md @@ -48,10 +48,10 @@ A `foreach` block may start several sub-pipelines for a `collection` specified i ```alloy // All components in the sub-pipeline will be scoped under "foreach.default/1/...". // Here, "1" is sub-pipeline number 1. -// This way component names won't clash with other sub-pipelines from the same foreach, +// This way component names won't clash with other sub-pipelines from the same foreach, // and with the names of components outside of the foreach. foreach "default" { - + // "collection" is what the for loop will iterate over. collection = discovery.file.default.targets @@ -72,7 +72,7 @@ discovery.file "default" { files = ["/Users/batman/Desktop/redis_addresses.yaml"] } -// Every component defined in the "foreach" block will be instantiated for each item in the collection. +// Every component defined in the "foreach" block will be instantiated for each item in the collection. // The instantiated components will be scoped using the name of the foreach block and the index of the // item in the collection. For example: /foreach.redis/0/prometheus.exporter.redis.default foreach "redis" { @@ -238,7 +238,7 @@ We should find answers to the unknowns below before this proposal is accepted: * Will the solution only work for `list()`? What about `map()`? * If we go with a `foreach`, we could have a `key` attribute in addition to the `var` one. That way we can also access the key. The `key` attribute can be a no-op if `collection` is a map? * What about debug metrics? Should we aggregate the metrics for all "sub-pipelines"? - * If there is 1 series for each sub-pipeline, the amount of metrics could be huge. + * If there is 1 series for each sub-pipeline, the amount of metrics could be huge. Some service discovery mechanisms may generate a huge number of elements in a list of targets. * If we want to aggregate the metrics, how would we do that? Is it even possible to do in within Alloy? * Can we have a configuration parameter which dictates whether the metrics should be aggregated or not? diff --git a/docs/developer/add-otel-component.md b/docs/developer/add-otel-component.md index 1ddd3e2983..ecc329502c 100644 --- a/docs/developer/add-otel-component.md +++ b/docs/developer/add-otel-component.md @@ -192,9 +192,9 @@ You can find [detailed Alloy developer documentation](https://github.com/grafana The following list provides some examples of OpenTelemetry components added by both Grafana Labs employees and Alloy community members. These should provide good examples of pull requests that follow the guidelines above, as well as examples of more complex components than the `example` processor above. -* [`otelcol.receiver.filelog`](https://github.com/grafana/alloy/pull/2711) -* [`otelcol.processor.cumulativetodelta`](https://github.com/grafana/alloy/pull/2689) -* [`otelcol.receiver.tcplog`](https://github.com/grafana/alloy/pull/2701) +* [`otelcol.receiver.filelog`](https://github.com/grafana/alloy/pull/2711) +* [`otelcol.processor.cumulativetodelta`](https://github.com/grafana/alloy/pull/2689) +* [`otelcol.receiver.tcplog`](https://github.com/grafana/alloy/pull/2701) * [`otelcol.receiver.awscloudwatch`](https://github.com/grafana/alloy/pull/2822) ## Example configuration diff --git a/docs/developer/issue-triage.md b/docs/developer/issue-triage.md index 16cc80aea3..908bb8c9e4 100644 --- a/docs/developer/issue-triage.md +++ b/docs/developer/issue-triage.md @@ -47,7 +47,7 @@ After an effort has been made to triage an issue, the issue should be in one of The `needs-attention` label is applied to issues that are seen as stale in a GitHub action. This includes issues that have not been interacted with in 90 days. -Issues with the `needs-attention` label may be closed if they are not in an actionable state. +Issues with the `needs-attention` label may be closed if they are not in an actionable state. The `keepalive` label can be applied to exempt an issue or pull request from being marked as stale. diff --git a/docs/developer/publishing-dev-container.md b/docs/developer/publishing-dev-container.md index 0298423924..c457ecef34 100644 --- a/docs/developer/publishing-dev-container.md +++ b/docs/developer/publishing-dev-container.md @@ -18,8 +18,8 @@ The image is tagged using this format: pr---devel+ ``` -- ``: the PR number that triggered the build -- ``: the Alloy version inferred from the code +- ``: the PR number that triggered the build +- ``: the Alloy version inferred from the code - ``: the Git SHA of the commit included in the image **Example tag:** diff --git a/docs/developer/release/03-tag-release.md b/docs/developer/release/03-tag-release.md index d7e42ec67c..e9ec43b5b9 100644 --- a/docs/developer/release/03-tag-release.md +++ b/docs/developer/release/03-tag-release.md @@ -8,10 +8,10 @@ A tag is required to create GitHub artifacts and as a prerequisite for publishin 2. Make sure you are up to date on the release branch: - ``` + ``` git checkout release/VERSION_PREFIX - git fetch origin - git pull origin + git fetch origin + git pull origin ``` 3. Determine the [VERSION](concepts/version.md). diff --git a/docs/developer/updating-otel/README.md b/docs/developer/updating-otel/README.md index ff2dfa7e60..0952be203a 100644 --- a/docs/developer/updating-otel/README.md +++ b/docs/developer/updating-otel/README.md @@ -120,7 +120,7 @@ docker compose up -d K6 will be configured to send traces on `ENDPOINT=host.docker.internal:4320`. This means that the local Alloy instance must be configured to accept traces on `0.0.0.0:4320`. -The ["otelcol" components][otelcol-components] are the only components which use OTel. +The ["otelcol" components][otelcol-components] are the only components which use OTel. Try to test as many of them as possible using a config file like this one: [otelcol-components](https://grafana.com/docs/alloy/latest/reference/components/otelcol/) diff --git a/docs/developer/updating-otel/k6-trace-gen/docker-compose.yaml b/docs/developer/updating-otel/k6-trace-gen/docker-compose.yaml index 29eae79579..907fa0bfa0 100644 --- a/docs/developer/updating-otel/k6-trace-gen/docker-compose.yaml +++ b/docs/developer/updating-otel/k6-trace-gen/docker-compose.yaml @@ -1,5 +1,5 @@ services: - + k6-tracing: image: ghcr.io/grafana/xk6-client-tracing:v0.0.5 environment: diff --git a/docs/sources/_index.md b/docs/sources/_index.md index 01b8a7be44..b5a5a96b95 100644 --- a/docs/sources/_index.md +++ b/docs/sources/_index.md @@ -18,7 +18,7 @@ hero: width: 110 height: 110 description: >- - Grafana Alloy combines the strengths of the leading collectors into one place. Whether observing applications, infrastructure, or both, Grafana Alloy can collect, process, and export telemetry signals to scale and future-proof your observability approach. + Grafana Alloy combines the strengths of the leading collectors into one place. Whether observing applications, infrastructure, or both, Grafana Alloy can collect, process, and export telemetry signals to scale and future-proof your observability approach. cards: title_class: pt-0 lh-1 items: diff --git a/docs/sources/_index.md.t b/docs/sources/_index.md.t index d97d73ec3f..e8ff10d6c3 100644 --- a/docs/sources/_index.md.t +++ b/docs/sources/_index.md.t @@ -18,7 +18,7 @@ hero: width: 110 height: 110 description: >- - Grafana Alloy combines the strengths of the leading collectors into one place. Whether observing applications, infrastructure, or both, Grafana Alloy can collect, process, and export telemetry signals to scale and future-proof your observability approach. + Grafana Alloy combines the strengths of the leading collectors into one place. Whether observing applications, infrastructure, or both, Grafana Alloy can collect, process, and export telemetry signals to scale and future-proof your observability approach. cards: title_class: pt-0 lh-1 items: diff --git a/docs/sources/collect/ecs-opentelemetry-data.md b/docs/sources/collect/ecs-opentelemetry-data.md index 06bfbd6fe8..94b2df809d 100644 --- a/docs/sources/collect/ecs-opentelemetry-data.md +++ b/docs/sources/collect/ecs-opentelemetry-data.md @@ -52,12 +52,12 @@ Read [`otel-prometheus`][otel-prometheus] to find out how to set the Prometheus Complete the following steps to create a sample task. Refer to the [ADOT doc][adot-doc] for more information. 1. Create an SSM Parameter Store entry to hold the collector configuration file. - + 1. Open the AWS Console. 1. In the AWS Console, choose Parameter Store. 1. Choose *Create parameter*. 1. Create a parameter with the following values: - + * Name: `collector-config` * Tier: Standard * Type: String @@ -72,7 +72,7 @@ Complete the following steps to create a sample task. Refer to the [ADOT doc][ad * `{{ecsExecutionRoleArn}}`: The AWSOTTaskExcutionRole ARN. * Add an environment variable named AOT_CONFIG_CONTENT. Select ValueFrom to tell ECS to get the value from the SSM Parameter, and set the value to `collector-config`. - + 1. Follow the ECS Fargate setup instructions to [create a task definition][task] using the template. ### Configure {{% param "PRODUCT_NAME" %}} @@ -112,12 +112,12 @@ This configuration sets up a scrape job for the container metrics and exports th Complete the following steps to create a sample task. 1. Create an SSM Parameter Store entry to hold the collector configuration file. - + 1. Open the AWS Console. 1. In the AWS Console, choose Parameter Store. 1. Choose *Create parameter*. 1. Create a parameter with the following values: - + * Name: `collector-config` * Tier: Standard * Type: String diff --git a/docs/sources/collect/opentelemetry-to-lgtm-stack.md b/docs/sources/collect/opentelemetry-to-lgtm-stack.md index 98cfc4d83e..fdfe21d24c 100644 --- a/docs/sources/collect/opentelemetry-to-lgtm-stack.md +++ b/docs/sources/collect/opentelemetry-to-lgtm-stack.md @@ -122,7 +122,7 @@ You can implement the following pipelines to send your data to Loki, Tempo, and ```plaintext Metrics: OTLP Receiver → Batch Processor → Prometheus Exporter → Prometheus Remote Write -Logs: OTLP Receiver → Batch Processor → Loki Exporter → Loki Write +Logs: OTLP Receiver → Batch Processor → Loki Exporter → Loki Write Traces: OTLP Receiver → Batch Processor → OTLP Exporter (gRPC/HTTP) ``` diff --git a/docs/sources/monitor/monitor-kubernetes-logs.md b/docs/sources/monitor/monitor-kubernetes-logs.md index a984ffa0a1..039f86d3f1 100644 --- a/docs/sources/monitor/monitor-kubernetes-logs.md +++ b/docs/sources/monitor/monitor-kubernetes-logs.md @@ -8,29 +8,29 @@ weight: 600 # Monitor Kubernetes logs with {{% param "FULL_PRODUCT_NAME" %}} -Kubernetes captures logs from each container in a running Pod. +Kubernetes captures logs from each container in a running Pod. With {{< param "PRODUCT_NAME" >}}, you can collect Kubernetes logs, forward them to a Grafana stack, and create dashboards to monitor your Kubernetes Deployment. -The [`alloy-scenarios`][scenarios] repository contains complete examples of {{< param "PRODUCT_NAME" >}} deployments. +The [`alloy-scenarios`][scenarios] repository contains complete examples of {{< param "PRODUCT_NAME" >}} deployments. Clone the repository and use the examples to understand how {{< param "PRODUCT_NAME" >}} collects, processes, and exports telemetry signals. -This example scenario uses a Kubernetes Monitoring Helm chart to deploy and monitor Kubernetes logs. -It installs three Helm charts: Loki, Grafana, and {{< param "PRODUCT_NAME" >}}. +This example scenario uses a Kubernetes Monitoring Helm chart to deploy and monitor Kubernetes logs. +It installs three Helm charts: Loki, Grafana, and {{< param "PRODUCT_NAME" >}}. The Helm chart simplifies configuration and deploys best practices for monitoring Kubernetes clusters. {{< param "PRODUCT_NAME" >}}, installed with `k8s-monitoring-helm`, collects two log sources: [Pod Logs][] and [Kubernetes Events][]. -[Pod Logs]: https://kubernetes.io/docs/concepts/cluster-administration/logging/#basic-logging-in-kubernetes -[Kubernetes Events]: https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/ +[Pod Logs]: https://kubernetes.io/docs/concepts/cluster-administration/logging/#basic-logging-in-kubernetes +[Kubernetes Events]: https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/ [scenarios]: https://github.com/grafana/alloy-scenarios/ ## Before you begin Ensure you have the following: -* [Docker](https://www.docker.com/) -* [Git](https://git-scm.com/) -* [Helm](https://helm.sh/docs/intro/install/) +* [Docker](https://www.docker.com/) +* [Git](https://git-scm.com/) +* [Helm](https://helm.sh/docs/intro/install/) * [kind](https://kind.sigs.k8s.io/docs/user/quick-start/) ## Clone and deploy the example @@ -51,7 +51,7 @@ Follow these steps to clone the scenarios repository and deploy the monitoring e cd alloy-scenarios/k8s-logs ``` - 1. Create a local Kubernetes cluster using kind. + 1. Create a local Kubernetes cluster using kind. The `kind.yml` file provides the cluster configuration: ```shell @@ -71,19 +71,19 @@ Follow these steps to clone the scenarios repository and deploy the monitoring e kubectl create namespace prod ``` -1. Deploy Loki in the `meta` namespace. - Loki stores the collected logs. +1. Deploy Loki in the `meta` namespace. + Loki stores the collected logs. The `loki-values.yml` file contains the Loki Helm chart configuration: ```shell helm install --values loki-values.yml loki grafana/loki -n meta ``` - This Helm chart installs Loki in monolithic mode. + This Helm chart installs Loki in monolithic mode. For more details, refer to the [Loki documentation](https://grafana.com/docs/loki/latest/get-started/deployment-modes/). -1. Deploy Grafana in the `meta` namespace. - You can use Grafana to visualize the logs stored in Loki. +1. Deploy Grafana in the `meta` namespace. + You can use Grafana to visualize the logs stored in Loki. The `grafana-values.yml` file contains the Grafana Helm chart configuration: ```shell @@ -92,7 +92,7 @@ Follow these steps to clone the scenarios repository and deploy the monitoring e This Helm chart installs Grafana and sets the `datasources.datasources.yaml` field to the Loki data source configuration. -1. Deploy {{< param "PRODUCT_NAME" >}} in the `meta` namespace. +1. Deploy {{< param "PRODUCT_NAME" >}} in the `meta` namespace. The `k8s-monitoring-values.yml` file contains the Kubernetes monitoring Helm chart configuration: ```shell @@ -129,7 +129,7 @@ Follow these steps to clone the scenarios repository and deploy the monitoring e kubectl --namespace meta port-forward $POD_NAME 12345 ``` -1. Deploy Grafana Tempo to the `prod` namespace. +1. Deploy Grafana Tempo to the `prod` namespace. Tempo generates logs for this example: ```shell @@ -154,12 +154,12 @@ To create a [dashboard](https://grafana.com/docs/grafana/latest/getting-started/ ## Understand the Kubernetes Monitoring Helm chart -The Kubernetes Monitoring Helm chart, `k8s-monitoring-helm`, collects, scrapes, and forwards Kubernetes telemetry data to a Grafana stack. +The Kubernetes Monitoring Helm chart, `k8s-monitoring-helm`, collects, scrapes, and forwards Kubernetes telemetry data to a Grafana stack. This includes metrics, logs, traces, and continuous profiling data. ### `cluster` -Define the cluster name as `meta-monitoring-tutorial`. +Define the cluster name as `meta-monitoring-tutorial`. This is a static label attached to all logs collected by the Kubernetes Monitoring Helm chart. ```yaml @@ -169,7 +169,7 @@ cluster: ### `destinations` -Define a destination named `loki` to forward logs to Loki. +Define a destination named `loki` to forward logs to Loki. The `url` attribute specifies the URL of the Loki gateway. ```yaml @@ -183,7 +183,7 @@ destinations: Enable the collection of cluster events. -* `collector`: Use the `alloy-logs` collector to collect logs. +* `collector`: Use the `alloy-logs` collector to collect logs. * `namespaces`: Specify the `meta` and `prod` namespaces to collect logs from. ```yaml @@ -197,7 +197,7 @@ clusterEvents: ### `nodeLogs` -Disable the collection of node logs. +Disable the collection of node logs. Collecting node logs requires mounting `/var/log/journal`, which is out of scope for this example. ```yaml @@ -209,9 +209,9 @@ nodeLogs: Enable the collection of Pod logs. -* `labelsToKeep`: Specify labels to keep when collecting logs. - This configuration removes `pod` from the labels to keep. -* `structuredMetadata`: Specify structured metadata to collect. +* `labelsToKeep`: Specify labels to keep when collecting logs. + This configuration removes `pod` from the labels to keep. +* `structuredMetadata`: Specify structured metadata to collect. This configuration sets the structured metadata `pod` to keep the Pod name for querying. ```yaml @@ -229,8 +229,8 @@ podLogs: ### Define the {{% param "PRODUCT_NAME" %}} role -The Kubernetes Monitoring Helm chart deploys only what you need. -In this case, the configuration deploys {{< param "PRODUCT_NAME" >}} with the capability to collect logs. +The Kubernetes Monitoring Helm chart deploys only what you need. +In this case, the configuration deploys {{< param "PRODUCT_NAME" >}} with the capability to collect logs. Metrics, traces, and continuous profiling are disabled. ```yaml diff --git a/docs/sources/monitor/monitor-logs-over-tcp.md b/docs/sources/monitor/monitor-logs-over-tcp.md index 44854456cc..310e57f3e5 100644 --- a/docs/sources/monitor/monitor-logs-over-tcp.md +++ b/docs/sources/monitor/monitor-logs-over-tcp.md @@ -141,9 +141,9 @@ In this example, the component requires the following arguments: ```alloy loki.process "labels" { stage.json { - expressions = { "extracted_service" = "service_name", - "extracted_code_line" = "code_line", - "extracted_server" = "server_id", + expressions = { "extracted_service" = "service_name", + "extracted_code_line" = "code_line", + "extracted_server" = "server_id", } } diff --git a/docs/sources/monitor/monitor-structured-logs.md b/docs/sources/monitor/monitor-structured-logs.md index b7b3fb0c33..c8a06a6785 100644 --- a/docs/sources/monitor/monitor-structured-logs.md +++ b/docs/sources/monitor/monitor-structured-logs.md @@ -144,11 +144,11 @@ In this example, the component requires the following arguments: ```alloy loki.process "labels" { stage.json { - expressions = { + expressions = { "timestamp" = "", - "state" = "", - "package_size" = "", - "package_status" = "", + "state" = "", + "package_size" = "", + "package_status" = "", "package_id" = "", } } diff --git a/docs/sources/reference/components/beyla/beyla.ebpf.md b/docs/sources/reference/components/beyla/beyla.ebpf.md index 87e043deb6..ddbb2da61a 100644 --- a/docs/sources/reference/components/beyla/beyla.ebpf.md +++ b/docs/sources/reference/components/beyla/beyla.ebpf.md @@ -384,7 +384,7 @@ The `sampler` block configures trace sampling settings. This block can be used i 1. **Per-service sampling** - as a sub-block of `discovery` > `services` to configure sampling for individual discovered services 1. **Global sampling** - as a sub-block of `traces` to configure sampling for all traces collected by the component -The following arguments are supported: +The following arguments are supported: | Name | Type | Description | Default | Required | |--------|----------|-------------------------------------------|---------|----------| @@ -451,17 +451,17 @@ The `ebpf` block configures eBPF-specific settings. #### `context_propagation` -`context_propagation` allows Beyla to propagate any incoming context to downstream services. +`context_propagation` allows Beyla to propagate any incoming context to downstream services. This context propagation support works for any programming language. -For TLS encrypted HTTP requests (HTTPS), the Traceparent header value is encoded at TCP/IP packet level, +For TLS encrypted HTTP requests (HTTPS), the Traceparent header value is encoded at TCP/IP packet level, and requires that Beyla is present on both sides of the communication. -The TCP/IP packet level encoding uses Linux Traffic Control (TC). -eBPF programs that also use TC need to chain correctly with Beyla. +The TCP/IP packet level encoding uses Linux Traffic Control (TC). +eBPF programs that also use TC need to chain correctly with Beyla. For more information about chaining programs, refer to the [Cilium compatibility][cilium] documentation. -You can disable the TCP/IP level encoding and TC programs by setting `context_propagation` to `"headers"`. +You can disable the TCP/IP level encoding and TC programs by setting `context_propagation` to `"headers"`. This context propagation support is fully compatible with any OpenTelemetry distributed tracing library. `context_propagation` can be set to either one of the following values: @@ -561,18 +561,18 @@ The `metrics` block configures which metrics Beyla collects. * `redis` enables the collection of Redis client/server database metrics. * `sql` enables the collection of SQL database client call metrics. -`extra_resource_labels` is a list of OTEL resource labels, supplied through the `OTEL_RESOURCE_ATTRIBUTES` environment variable +`extra_resource_labels` is a list of OTEL resource labels, supplied through the `OTEL_RESOURCE_ATTRIBUTES` environment variable on the service, that you want to include on the `target_info` metric. -`extra_span_resource_labels` is a list of OTEL resource labels, supplied through the `OTEL_RESOURCE_ATTRIBUTES` environment variable +`extra_span_resource_labels` is a list of OTEL resource labels, supplied through the `OTEL_RESOURCE_ATTRIBUTES` environment variable on the service, that you want to include on the span metrics. The default list includes: * `k8s.cluster.name` -* `k8s.namespace.name` +* `k8s.namespace.name` * `service.version` * `deployment.environment` -The default list of `extra_span_resource_labels` is set to match the defaults chosen by Application Observability plugin in +The default list of `extra_span_resource_labels` is set to match the defaults chosen by Application Observability plugin in Grafana Cloud. #### `network` metrics @@ -715,7 +715,7 @@ beyla.ebpf "default" { metrics { features = [ - "application", + "application", ] } } @@ -754,7 +754,7 @@ beyla.ebpf "default" { } metrics { features = [ - "application", + "application", ] } } diff --git a/docs/sources/reference/components/discovery/discovery.kubernetes.md b/docs/sources/reference/components/discovery/discovery.kubernetes.md index 109d497524..40836fab54 100644 --- a/docs/sources/reference/components/discovery/discovery.kubernetes.md +++ b/docs/sources/reference/components/discovery/discovery.kubernetes.md @@ -26,7 +26,7 @@ In DaemonSet deployments, this means every {{< param "PRODUCT_NAME" >}} Pod watc For better performance and reduced API load: - Use the [`namespaces`](#namespaces) block to limit discovery to specific namespaces. -- Use [`selectors`](#selectors) to filter resources by labels or fields. +- Use [`selectors`](#selectors) to filter resources by labels or fields. - Consider the node-local example in [Limit to only Pods on the same node](#limit-to-only-pods-on-the-same-node). - Use clustering mode for larger deployments to distribute the discovery load. - Monitor API server metrics like request rate, throttling, and memory usage, especially on managed clusters. diff --git a/docs/sources/reference/components/discovery/discovery.relabel.md b/docs/sources/reference/components/discovery/discovery.relabel.md index 72825174bd..2323a4a2cd 100644 --- a/docs/sources/reference/components/discovery/discovery.relabel.md +++ b/docs/sources/reference/components/discovery/discovery.relabel.md @@ -91,7 +91,7 @@ In those cases, exported fields retain their last healthy values. ## Example -The following example shows how the `discovery.relabel` component applies relabel rules to the incoming targets. In practice, the +The following example shows how the `discovery.relabel` component applies relabel rules to the incoming targets. In practice, the `targets` slice will come from another `discovery.*` component, but they are enumerated here to help clarify the example. ```alloy diff --git a/docs/sources/reference/components/faro/faro.receiver.md b/docs/sources/reference/components/faro/faro.receiver.md index 0a5462cf1f..78f1d6bf10 100644 --- a/docs/sources/reference/components/faro/faro.receiver.md +++ b/docs/sources/reference/components/faro/faro.receiver.md @@ -129,7 +129,7 @@ The following `strategy` strings are valid: Rate limiting functions as a [token bucket algorithm][token-bucket], where a bucket has a maximum capacity for up to `burst_size` requests and refills at a rate of `rate` per second. -Each HTTP request drains the capacity of the bucket by one. +Each HTTP request drains the capacity of the bucket by one. After the bucket is empty, HTTP requests are rejected with an `HTTP 429 Too Many Requests` status code until the bucket has more available capacity. diff --git a/docs/sources/reference/components/local/local.file_match.md b/docs/sources/reference/components/local/local.file_match.md index 26f78fb034..0b9df1ab08 100644 --- a/docs/sources/reference/components/local/local.file_match.md +++ b/docs/sources/reference/components/local/local.file_match.md @@ -144,7 +144,7 @@ local.file_match "labeled_logs" { { "__path__" = "/var/log/apache2/*.log", "__address__" = "localhost", - "instance" = "web-server-01", + "instance" = "web-server-01", "job" = "apache", "service" = "web", }, @@ -153,7 +153,7 @@ local.file_match "labeled_logs" { "__path_exclude__" = "/var/log/nginx/*.gz", "__address__" = "localhost", "instance" = "web-server-01", - "job" = "nginx", + "job" = "nginx", "service" = "web", }, ] diff --git a/docs/sources/reference/components/loki/loki.enrich.md b/docs/sources/reference/components/loki/loki.enrich.md index 8d74924c31..05df3c4e06 100644 --- a/docs/sources/reference/components/loki/loki.enrich.md +++ b/docs/sources/reference/components/loki/loki.enrich.md @@ -23,16 +23,16 @@ It matches a label from incoming logs against a label from discovered targets, a loki.enrich "