Skip to main content

Easy Connect

Easy Connect is a deployment and configuration tool designed to assist you in effectively instrumenting Kubernetes applications with OpenTelemetry auto-instrumentation and configurable log types.

At the heart of Easy Connect is the logzio-ezkonnect Helm chart, which functions synergistically with the logzio-monitoring Helm chart.

Easy Connect comprises three principal components:

  • Kubernetes Instrumentor - Provides auto-instrumentation and manages log type control for Kubernetes applications.
  • Easy Connect Server - Facilitates communication between the user and the Kubernetes Instrumentor.
  • Easy Connect UI - Offers an intuitive graphical interface for managing and viewing your instrumentation data.

Easy Connect supports several programming languages, including:

  • Java
  • Node.js
  • Python
  • .NET

Before you start you will need:

  • Opentelemetry collector installed on your cluster
    • works out of the box with logzio-monitoring chart installed with traces and logs enabled (version 0.5.8 or higher for log_type)
    • to send the data to a custom collector change the kubernetesInstrumentor.env.monitoringServiceEndpoint value

Install Easy Connect

To install the Easy Connect Helm chart, run the following commands:

helm repo add logzio-helm https://logzio.github.io/logzio-helm
helm repo update
helm install logzio-easy-connect logzio-helm/easy-connect -n monitoring --create-namespace

Afterwards, use kubectl port-forward to access the user interface in your browser:

kubectl port-forward svc/easy-connect-ui -n monitoring 31032:31032

Go to http://localhost:31032

Using Easy Connect UI

The Easy Connect UI shows when you access the deployment at http://localhost:8080.

Logs

UI

Edit a log type of a log

If you need to change a log type of a log collected by Easy Connect:

  1. In the row of the required log, click the Log Type dropdown.
  2. Select the required log type.
  3. Click Deploy.

Add a log type

If you need to add a log type to a log collected by Easy Connect:

  1. In the row of the required log, click the Log Type dropdown.
  2. Type in the required log type definition.
  3. Press Enter.
  4. Click Add log type.

Remove a log type from a log

If you need to change a log type of a log collected by Easy Connect:

  1. In the row of the required log, click the Remove log type.

Traces

UI

Add instrumentation to a pod

To add OpenTelemetry instrumentation to a pod:

  1. Select the required pod. The source code detected on the pod will be shown on the UI. THe instrumentation will be installed for this code.
  2. Click Add instrumentation.
  3. Click Deploy.

Remove instrumentation from a pod

To remove OpenTelemetry instrumentation from a pod:

  1. Select the required pod.
  2. Click Rollback.

Parameters configuration

The Easy Connect chart has several configurable parameters and their default values. Below is a table detailing these parameters:

ParameterDescriptionDefault
kubernetesInstrumentor.serviceAccountService account name of the instrumentor deployment"kubernetes-instrumentor"
kubernetesInstrumentor.image.repositoryRepository of the instrumentor image"logzio/instrumentor"
kubernetesInstrumentor.image.tagTag of the instrumentor image"v1.0.5"
kubernetesInstrumentor.instrumentationDetectorImage.repositoryRepository of the instrumentation detector image"logzio/instrumentation-detector"
kubernetesInstrumentor.instrumentationDetectorImage.tagTag of the instrumentation detector image"v1.0.5"
kubernetesInstrumentor.javaAgentImage.repositoryRepository of the Java agent image"logzio/otel-agent-java"
kubernetesInstrumentor.javaAgentImage.tagTag of the Java agent image"v1.0.5"
kubernetesInstrumentor.dotnetAgentImage.repositoryRepository of the .Net agent image"logzio/otel-agent-dotnet"
kubernetesInstrumentor.dotnetAgentImage.tagTag of the .Net agent image"v1.0.5"
kubernetesInstrumentor.nodejsAgentImage.repositoryRepository of the Node.js agent image"logzio/otel-agent-nodejs"
kubernetesInstrumentor.nodejsAgentImage.tagTag of the Node.js agent image"v1.0.5"
kubernetesInstrumentor.pythonAgentImage.repositoryRepository of the Python agent image"logzio/otel-agent-python"
kubernetesInstrumentor.pythonAgentImage.tagTag of the Python agent image"v1.0.5"
kubernetesInstrumentor.ports.metricsPortMetrics port for the instrumentor8080
kubernetesInstrumentor.ports.healthProbePortHealth probe port for the instrumentor8081
kubernetesInstrumentor.resources.limits.cpuCPU limit for the instrumentor"500m"
kubernetesInstrumentor.resources.limits.memoryMemory limit for the instrumentor"128Mi"
kubernetesInstrumentor.resources.requests.cpuCPU request for the instrumentor"10m"
kubernetesInstrumentor.resources.requests.memoryMemory request for the instrumentor"64Mi"
kubernetesInstrumentor.env.monitoringServiceEndpointEndpoint of the monitoring service"logzio-monitoring-otel-collector.monitoring.svc.cluster.local"
kubernetesInstrumentor.service.nameName of the instrumentor service"kubernetes-instrumentor-service"
kubernetesInstrumentor.service.portService port for the instrumentor8080
kubernetesInstrumentor.service.targetPortTarget port for the instrumentor service8080
easyConnectServer.serviceAccountService account name of the instrumentor deployment"easy-connect-server"
easyConnectServer.image.repositoryRepository of the server image"logzio/easy-connect-server"
easyConnectServer.image.tagTag of the server image"v1.0.7"
easyConnectServer.ports.httpHTTP port for the server8080
easyConnectServer.service.nameName of the server service"easy-connect-server"
easyConnectServer.service.portService port for the server5050
easyConnectServer.service.targetPortTarget port for the server service5050
easyConnectUi.image.repositoryRepository of the UI image"logzio/easy-connect-ui"
easyConnectUi.image.tagTag of the UI image"v1.0.0"
easyConnectUi.ports.httpHTTP port for the UI31032
easyConnectUi.service.nameName of the UI service"easy-connect-ui"
easyConnectUi.service.portService port for the UI31032
easyConnectUi.service.targetPortTarget port for the UI service31032
rbac.clusterRoles...Configure the RBAC cluster rolesRefer to values.yaml
rbac.clusterRoleBindings...Configure the RBAC cluster role bindingsRefer to values.yaml

You can override the default values by creating your own values.yaml file and passing the --values or -f option to the Helm command. For example:

helm install logzio-easy-connect logzio-helm/easy-connect -n easy-connect --create-namespace --values my_values.yaml

Here, my_values.yaml is your custom configuration file.