Skip to content

Commit

Permalink
chore: update k8s instrumentation documentation (#4197)
Browse files Browse the repository at this point in the history
* chore: update documentation

* Update docs/send-data/kubernetes/troubleshoot-collection.md

* Update docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/kubernetes.md

Co-authored-by: Kim (Sumo Logic) <[email protected]>

* Update docs/apm/traces/get-started-transaction-tracing/opentelemetry-instrumentation/kubernetes.md

Co-authored-by: Kim (Sumo Logic) <[email protected]>

---------

Co-authored-by: Kim (Sumo Logic) <[email protected]>
  • Loading branch information
mat-rumian and kimsauce authored Jul 1, 2024
1 parent 15b1d07 commit 12676f6
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Setting up Tracing instrumentation for Java, Python, NodeJS, and .NET applicatio

To enable the OpenTelemetry-Operator for the [Sumo Logic Kubernetes Collection](https://github.com/SumoLogic/sumologic-kubernetes-collection#sumologic-kubernetes-collection), you have to set `opentelemetry-operator.enabled=true`.

The OpenTelemetry Operator needs to know how to instrument containers. For this purpose, the `Instrumentation` resource must be created in the namespace where you want to use auto-instrumentation. Setting `opentelemetry-operator.createDefaultInstrumentation` to `true` and `opentelemetry-operator.instrumentationNamespaces` will help with that.
The OpenTelemetry Operator needs to know how to instrument containers. For this purpose, the `Instrumentation` resource must be created in the namespace where you want to use auto-instrumentation. Setting `instrumentation.createDefaultInstrumentation` to `true` and `instrumentation.instrumentationNamespaces` will help with that.

The value of the flag `opentelemetry-operator.instrumentationNamespaces` is backslash comma-separated namespaces list, for example: `opentelemetry-operator.instrumentationNamespaces="ns1\,ns2\,ns3"`.
The value of the flag `instrumentation.instrumentationNamespaces` is backslash comma-separated namespaces list. For example: `instrumentation.instrumentationNamespaces="ns1\,ns2\,ns3"`.

1. Update dependencies:

Expand All @@ -31,12 +31,16 @@ The value of the flag `opentelemetry-operator.instrumentationNamespaces` is back
--set sumologic.clusterName="<MY_CLUSTER_NAME>" \
--set sumologic.traces.enabled=true \
--set opentelemetry-operator.enabled=true \
--set opentelemetry-operator.createDefaultInstrumentation=true \
--set opentelemetry-operator.instrumentationNamespaces="ns1\,ns2"
--set instrumentation.createDefaultInstrumentation=true \
--set instrumentation.instrumentationNamespaces="ns1\,ns2"
```

During the installation process, **OpenTelemetry Instrumentation** custom resources with all settings are deployed in the provided namespaces.

:::note
Updating the Sumo Logic Kubernetes Collection to a version newer than [4.8.0](https://github.com/SumoLogic/sumologic-kubernetes-collection/releases/tag/v4.8.0) may cause issues with chart installation if there is a customized configuration of the OpenTelemetry Operator. Refer to the required changes in the [parameters](https://github.com/SumoLogic/sumologic-kubernetes-collection/pull/3733/).
:::

## Auto-instrumentation injection

To enable injecting tracing auto-instrumentation, it is required to add an OpenTelemetry-specific annotation to the **Deployment**, **Statefulset** or **Namespace**.
Expand Down
37 changes: 37 additions & 0 deletions docs/send-data/kubernetes/troubleshoot-collection.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,43 @@ Get the logs from that pod:
kubectl logs POD_NAME -f
```

### Error: values don't meet the specifications of the schema(s)

If you see `Error: values don't meet the specifications of the schema(s) in the following chart(s): opentelemetry-operator...` from the logs, it means that your configuration for `opentelemetry-operator` keys in values.yaml file is not correct.

To fix this issue, please see the changes listed below:

#### Moved:
* From `opentelemetry-operator.instrumentationJobImage` to `instrumentation.instrumentationJobImage`
* From `opentelemetry-operator.createDefaultInstrumentation` to `instrumentation.createDefaultInstrumentation`
* From `opentelemetry-operator.instrumentationNamespaces` to `instrumentation.instrumentationNamespaces`
* From `opentelemetry-operator.instrumentation.dotnet.traces` to `instrumentation.dotnet.traces`
* From `opentelemetry-operator.instrumentation.dotnet.metrics` to `instrumentation.dotnet.metrics`
* From `opentelemetry-operator.instrumentation.dotnet.extraEnvVars` to `instrumentation.dotnet.extraEnvVars`
* From `opentelemetry-operator.instrumentation.java.traces` to `instrumentation.java.traces`
* From `opentelemetry-operator.instrumentation.java.metrics` to `instrumentation.java.metrics`
* From `opentelemetry-operator.instrumentation.java.extraEnvVars` to `instrumentation.java.extraEnvVars`
* From `opentelemetry-operator.instrumentation.nodejs` to `instrumentation.nodejs`
* From `opentelemetry-operator.instrumentation.python.traces` to `instrumentation.python.traces`
* From `opentelemetry-operator.instrumentation.python.metrics` to `instrumentation.python.metrics`
* From `opentelemetry-operator.instrumentation.python.extraEnvVars` to `instrumentation.python.extraEnvVars`

#### Changed:
* From `opentelemetry-operator.instrumentation.dotnet.repository` to `opentelemetry-operator.autoInstrumentationImage.dotnet.repository`
* From `opentelemetry-operator.instrumentation.dotnet.tag` to `opentelemetry-operator.autoInstrumentationImage.dotnet.tag`
* From `opentelemetry-operator.instrumentation.java.repository` to `opentelemetry-operator.autoInstrumentationImage.java.repository`
* From `opentelemetry-operator.instrumentation.java.tag` to `opentelemetry-operator.autoInstrumentationImage.java.tag`
* From `opentelemetry-operator.instrumentation.nodejs.repository` to `opentelemetry-operator.autoInstrumentationImage.nodejs.repository`
* From `opentelemetry-operator.instrumentation.nodejs.tag` to `opentelemetry-operator.autoInstrumentationImage.nodejs.tag`
* From `opentelemetry-operator.instrumentation.python.repository` to `opentelemetry-operator.autoInstrumentationImage.python.repository`
* From `opentelemetry-operator.instrumentation.python.tag` to `opentelemetry-operator.autoInstrumentationImage.python.tag`

#### Deleted:
* `opentelemetry-operator.instrumentation.dotnet.image`
* `opentelemetry-operator.instrumentation.java.image`
* `opentelemetry-operator.instrumentation.nodejs.image`
* `opentelemetry-operator.instrumentation.python.image`

## Namespace configuration

The following `kubectl` commands assume you are in the correct namespace `sumologic`. By default, these commands will use the namespace
Expand Down

0 comments on commit 12676f6

Please sign in to comment.