Kubernetes logs

Collect your K8 logs enriched with K8 metadata

Eldar Aliiev avatar
Written by Eldar Aliiev
Updated over a week ago

The following manual will help you integrate Coralogix logging into your Kubernetes logs.

Prerequisites

Before beginning you must have:

  • An installed Kubernetes Cluster

  • Enabled RBAC authorization mode

  • Pull the image coralogixrepo/fluentd-coralogix-image:latest

  • Private key - you can find it at Settings --> Send your logs --> upper left corner

Installation

First, you should create a Kubernetes secret:

$ kubectl -n kube-system create secret generic fluentd-coralogix-account-secrets \ --from-literal=PRIVATE_KEY=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX \ --from-literal=APP_NAME=fluentd-coralogix-image \ --from-literal=SUB_SYSTEM=fluentd

You should have something like:

secret "fluentd-coralogix-account-secrets" created 

Then you need to apply our fluentd-coralogix-logger to your Kubernetes cluster:

$ kubectl create -f https://raw.githubusercontent.com/coralogix/fluentd-coralogix-image/master/examples/kubernetes/fluentd-coralogix-rbac.yaml $ kubectl create -f https://raw.githubusercontent.com/coralogix/fluentd-coralogix-image/master/examples/kubernetes/fluentd-coralogix-cm.yaml $ kubectl create -f https://raw.githubusercontent.com/coralogix/fluentd-coralogix-image/master/examples/kubernetes/fluentd-coralogix-ds.yaml $ kubectl create -f https://raw.githubusercontent.com/coralogix/fluentd-coralogix-image/master/examples/kubernetes/fluentd-coralogix-svc.yaml

Output:

serviceaccount "fluentd-coralogix-service-account" created clusterrole "fluentd-coralogix-service-account-role" created clusterrolebinding "fluentd-coralogix-service-account" created configmap "fluentd-coralogix-configs" created daemonset "fluentd-coralogix-daemonset" created service "fluentd-coralogix-service" created

Now, fluentd-coralogix-logger is collecting logs from your Kubernetes cluster.

Usage

You can view some usage examples here.

Update

Once installed, the deployment will not automatically update. In order to update it, you need to delete the deployment's pods and wait for it to be recreated. After recreation, it should use the latest image.

Delete all fluentd-coralogix-logger pods:

$ kubectl -n kube-system delete $(kubectl -n kube-system get pod -o name | grep "fluentd-coralogix-daemonset")

Note that if you would like to send all of the log content with kubernetes metadata like: labels, tags, pod name etc. you should remove log_key_name log from fluentd.conf 

Uninstall

If you want to remove fluentd-coralogix-logger from your cluster, execute this:

$ kubectl -n kube-system delete secret fluentd-coralogix-account-secrets $ kubectl -n kube-system delete svc,ds,cm,clusterrolebindings,clusterroles,sa \ -l k8s-app: fluentd-coralogix-logger
Did this answer your question?