The logzio-monitoring Helm Chart ships your Kubernetes telemetry (logs, metrics, traces and security reports) to your Logz.io account.

Please be aware that this project is presently in its beta stage, and as such, it may undergo alterations.

To get the most out of Kubernetes 360, try out dedicated dashboard.

Log in to your Logz.io account and navigate to the current instructions page inside the Logz.io app. Install the pre-built dashboard to enhance the observability of your metrics. To view the metrics on the main dashboard, log in to your Logz.io Metrics account, and open the Logz.io Metrics tab.

Check if you have any taints on your nodes
kubectl get nodes -o json | jq '"\(.items[].metadata.name) \(.items[].spec.taints)"'

If you want to ship logs from any of the nodes that have a taint, make sure that the taint key values are listed in your in your daemonset/deployment configuration as follows:

tolerations:
- key: 
  operator: 
  value: 
  effect: 
Add the Helm Chart
helm repo add logzio-helm https://logzio.github.io/logzio-helm
helm repo update
Deploy the Chart
helm install -n monitoring \
--set logs.enabled=true \
--set logzio-fluentd.secrets.logzioShippingToken="<<LOG-SHIPPING-TOKEN>>" \
--set logzio-fluentd.secrets.logzioListener="<<LISTENER-HOST>>" \
--set logzio-fluentd.env_id="<<ENV-ID>>" \
--set metricsOrTraces.enabled=true \
--set logzio-k8s-telemetry.metrics.enabled=true \
--set logzio-k8s-telemetry.secrets.MetricsToken="<<PROMETHEUS-METRICS-SHIPPING-TOKEN>>" \
--set logzio-k8s-telemetry.secrets.ListenerHost="https://<<LISTENER-HOST>>:8053" \
--set logzio-k8s-telemetry.secrets.p8s_logzio_name="<<ENV-TAG>>" \
--set logzio-k8s-telemetry.traces.enabled=true \
--set logzio-k8s-telemetry.secrets.TracesToken="<<TRACES-SHIPPING-TOKEN>>" \
--set logzio-k8s-telemetry.secrets.LogzioRegion="<<LOGZIO-REGION>>" \
logzio-monitoring logzio-helm/logzio-monitoring
Parameter Description
<<LOG-SHIPPING-TOKEN>> Replace <<LOG-SHIPPING-TOKEN>> with the token of the account you want to ship to.
<<LISTENER-HOST>> Replace <<LISTENER-HOST>> with the host for your region. For example, listener.logz.io if your account is hosted on AWS US East, or listener-nl.logz.io if hosted on Azure West Europe. The required port depends whether HTTP or HTTPS is used: HTTP = 8070, HTTPS = 8071..
<<PROMETHEUS-METRICS-SHIPPING-TOKEN>> Your metrics shipping token.
<<P8S-LOGZIO-NAME>> The name for the environment’s metrics, to easily identify the metrics for each environment.
<<ENV-ID>> The name for your environment’s identifier, to easily identify the telemetry data for each environment.
<<ENV-TAG>> Your custom name for the environment’s metrics, to easily identify the metrics for each environment.
<<TRACES-SHIPPING-TOKEN>> Replace <<TRACING-SHIPPING-TOKEN>> with the token of the account you want to ship to.
<<LOGZIO-REGION>> Name of your Logz.io traces region e.g us or eu. You can find your region code in the Regions and URLs table.
Check Logz.io for your data

Give your data some time to get from your system to ours, and then open Open Search Dashboards.

Log in to your Logz.io account and navigate to the current instructions page inside the Logz.io app. Install the pre-built dashboard to enhance the observability of your metrics.

To view the metrics on the main dashboard, log in to your Logz.io Metrics account, and open the Logz.io Metrics tab.

Collecting span metrics and Trivy reports

To enable the logzio-monitoring Helm Chart collect span metrics and Trivy reports, add the following command to the default deployment:

helm install -n monitoring \
--set logzio-k8s-telemetry.secrets.SpmToken=<<SPM-SHIPPING-TOKEN>> \
--set securityReport.enabled=true \
--set logzio-trivy.env_id="<<ENV-ID>>" \
--set logzio-trivy.secrets.logzioShippingToken="<<LOG-SHIPPING-TOKEN>>" \
--set logzio-trivy.secrets.logzioListener="<<LISTENER-HOST>>" \
logzio-monitoring logzio-helm/logzio-monitoring
Parameter Description
<<SPM-SHIPPING-TOKEN>> Your span metrics shipping token.
<<ENV-ID>> The name for your environment’s identifier, to easily identify the telemetry data for each environment.
<<LOG-SHIPPING-TOKEN>> Replace <<LOG-SHIPPING-TOKEN>> with the token of the account you want to ship to.
<<LISTENER-HOST>> Replace <<LISTENER-HOST>> with the host for your region. For example, listener.logz.io if your account is hosted on AWS US East, or listener-nl.logz.io if hosted on Azure West Europe. The required port depends whether HTTP or HTTPS is used: HTTP = 8070, HTTPS = 8071..

Further configuration

You can modify the default logzio-monitoring Helm Chart by using the --set flag in your helm install command:

Parameter Description Default
logs.enabled Enable to send k8s logs false
metricsOrTraces Enable to send k8s metrics or traces false
Modifying the configuration for logs

You can see a full list of the possible configuration values in the logzio-fluentd Chart folder.

If you would like to modify any of the values found in the logzio-fluentd folder, use the --set flag with the logzio-fluentd prefix.

For instance, if there is a parameter called someField in the logzio-telemetry’s values.yaml file, you can set it by adding the following to the helm install command:

--set logzio-fluentd.someField="my new value"

You can add log_type annotation with a custom value, which will be parsed into a log_type field with the same value.

Modifying the configuration for metrics and traces

You can see a full list of the possible configuration values in the logzio-telemetry Chart folder.

If you would like to modify any of the values found in the logzio-telemetry folder, use the --set flag with the logzio-k8s-telemetry prefix.

For instance, if there is a parameter called someField in the logzio-telemetry’s values.yaml file, you can set it by adding the following to the helm install command:

--set logzio-k8s-telemetry.someField="my new value"

Sending telemetry data from eks on fargate

To ship logs from pods running on Fargate, set the fargateLogRouter.enabled value to true. Doing so will deploy a dedicated aws-observability namespace and a configmap for the Fargate log router. For more information on EKS Fargate logging, please refer to the [official AWS documentation]((https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html).

helm install -n monitoring \
--set logs.enabled=true \
--set logzio-fluentd.fargateLogRouter.enabled=true \
--set logzio-fluentd.secrets.logzioShippingToken="<<LOG-SHIPPING-TOKEN>>" \
--set logzio-fluentd.secrets.logzioListener="<<LISTENER-HOST>>" \
--set metricsOrTraces.enabled=true \
--set logzio-k8s-telemetry.metrics.enabled=true \
--set logzio-k8s-telemetry.secrets.MetricsToken="<<PROMETHEUS-METRICS-SHIPPING-TOKEN>>" \
--set logzio-k8s-telemetry.secrets.ListenerHost="https://<<LISTENER-HOST>>:8053" \
--set logzio-k8s-telemetry.secrets.p8s_logzio_name="<<ENV-TAG>>" \
--set logzio-k8s-telemetry.traces.enabled=true \
--set logzio-k8s-telemetry.secrets.TracesToken="<<TRACES-SHIPPING-TOKEN>>" \
--set logzio-k8s-telemetry.secrets.LogzioRegion="<<LOGZIO-REGION>>" \
logzio-monitoring logzio-helm/logzio-monitoring
Parameter Description
<<LOG-SHIPPING-TOKEN>> Replace <<LOG-SHIPPING-TOKEN>> with the token of the account you want to ship to.
<<LISTENER-HOST>> Replace <<LISTENER-HOST>> with the host for your region. For example, listener.logz.io if your account is hosted on AWS US East, or listener-nl.logz.io if hosted on Azure West Europe. The required port depends whether HTTP or HTTPS is used: HTTP = 8070, HTTPS = 8071..
<<PROMETHEUS-METRICS-SHIPPING-TOKEN>> Your metrics shipping token.
<<P8S-LOGZIO-NAME>> The name for the environment’s metrics, to easily identify the metrics for each environment.
<<ENV-ID>> The name for your environment’s identifier, to easily identify the telemetry data for each environment.
<<ENV-TAG>> Your custom name for the environment’s metrics, to easily identify the metrics for each environment.
<<TRACES-SHIPPING-TOKEN>> Replace <<TRACING-SHIPPING-TOKEN>> with the token of the account you want to ship to.
<<LOGZIO-REGION>> Name of your Logz.io traces region e.g us or eu. You can find your region code in the Regions and URLs table.

Handling image pull rate limit

In certain situations, such as with spot clusters where pods/nodes are frequently replaced, you may encounter the pull rate limit for images fetched from Docker Hub. This could result in the following error: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits.

To address this issue, you can use the --set commands provided below in order to access an alternative image repository:

--set logzio-k8s-telemetry.image.repository=ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib
--set logzio-k8s-telemetry.prometheus-pushgateway.image.repository=public.ecr.aws/logzio/prom-pushgateway
--set logzio-fluentd.image=public.ecr.aws/logzio/logzio-fluentd
--set logzio-trivy.image=public.ecr.aws/logzio/trivy-to-logzio