-
Notifications
You must be signed in to change notification settings - Fork 136
Add Waypoint proxy L7 logging docs #2848
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,20 +1,75 @@ | ||
| --- | ||
| description: Enable the Istio Ambient Mode Waypoint-based L7 collector. | ||
| draft: true | ||
| --- | ||
|
|
||
| # Collect L7 logs using the Waypoint collector | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. now that this page exists, overview.mdx still has three placeholders pointing at it: lines 24, 31, 45 all say "re-add ... when the Waypoint PR lands" (the collector bullet, the comparison-table column, the Next steps link). since this is that PR, could we wire those up here too? otherwise the overview page has no path to this one. |
||
|
|
||
| Enable the Istio Ambient Mode Waypoint-based L7 collector to capture HTTP/1, HTTP/2, and gRPC traffic routed through a Waypoint proxy. For background on what the collector does and how it compares to other options, see [L7 logs overview](overview.mdx). | ||
| Enable the Istio Ambient Mode Waypoint-based L7 collector to capture HTTP traffic. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. tiny: waypoint rides Envoy access logs so it also picks up HTTP/2 and gRPC, not just HTTP/1. the old draft on this line said "HTTP/1, HTTP/2, and gRPC".. worth keeping that (and matching the datatypes bullet)? |
||
|
|
||
| :::note | ||
| ## Prerequisites | ||
|
|
||
| This page is a placeholder. Content for L7 log collection via Istio Ambient Mode Waypoint proxies is pending. | ||
| - A workload running in an [Istio Service Mesh](../../../compliance/istio/deploy-istio-ambient.mdx). | ||
|
|
||
| ::: | ||
| ## Enable the collector | ||
|
|
||
| ## Before you begin | ||
| Once a workload is set up to be in the service mesh, L7 collection is enabled | ||
| by adding a [waypoint proxy](https://istio.io/latest/docs/ambient/usage/waypoint/), | ||
|
Check warning on line 16 in calico-enterprise/observability/elastic/l7/enable-waypoint-collector.mdx
|
||
| and labeling the workload to use it. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. nit: this says label the workload, but the command below labels the namespace.. match the wording? |
||
|
|
||
| ## Enable the collector | ||
| This will create an Istio Waypoint proxy that includes a sidecar container to | ||
| capture the L7 logs. | ||
|
|
||
| ```bash | ||
| cat << EOF | kubectl apply -n <namespace> -f - | ||
| apiVersion: gateway.networking.k8s.io/v1 | ||
| kind: Gateway | ||
| metadata: | ||
| name: <waypoint-name> | ||
| labels: | ||
| istio.io/waypoint-for: all | ||
| spec: | ||
| gatewayClassName: istio-waypoint | ||
| listeners: | ||
| - name: mesh | ||
| port: 15008 | ||
| protocol: HBONE | ||
| EOF | ||
| ``` | ||
|
|
||
| ```bash | ||
| kubectl label namespace <namespace> istio.io/use-waypoint=<waypoint-name> | ||
| ``` | ||
|
|
||
| Replace the following: | ||
|
|
||
| - `<namespace>`: The namespace your workload is in. | ||
| - `<waypoint-name>`: What you want your waypoint proxy gateway to be called. | ||
|
Check warning on line 46 in calico-enterprise/observability/elastic/l7/enable-waypoint-collector.mdx
|
||
|
|
||
| ## Removing the L7 Ambient Mode Collector | ||
|
|
||
| ```bash | ||
| kubectl label namespace <namespace> istio.io/use-waypoint- 2>/dev/null | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. tiny: the |
||
| kubectl delete gateway -n <namespace> <waypoint-name> | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. heads up: |
||
| ``` | ||
|
|
||
| ## Disabling the L7 Ambient Mode Collector | ||
|
|
||
| If you are running waypoint proxies but you don't want the sidecar added, the | ||
|
Check warning on line 57 in calico-enterprise/observability/elastic/l7/enable-waypoint-collector.mdx
|
||
| L7 Ambient Mode Collector sidecar can be disabled: | ||
|
|
||
| ```bash | ||
| kubectl patch istio default --type=merge -p '{"spec":{"waypointLogging":"Disabled"}}' | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. small thing: this patches the |
||
| ``` | ||
|
|
||
| ## View L7 logs | ||
|
|
||
| L7 Ambient Mode logs are viewed in the [UI for L7 | ||
| logs](configure.mdx#view-l7-logs-in-the-web-console) along | ||
| with the other types of L7 logs. | ||
|
|
||
| They will be labeled with the `collector_type`: `envoy-access-log` and the | ||
| `collector_name`: `waypoint`. | ||
|
|
||
| ## Additional information | ||
|
|
||
| * [L7 log data types](datatypes.mdx) | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice.. one follow-on though: the table below still tags
collector_type/collector_nameas eBPF only (ebpf/ebpf-tcp), so someone landing here for theenvoy-access-log/waypointvalues won't find them. could we add waypoint to the Populated-by column?protocol/protocol_versionlook eBPF-only too.