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