Monitor Kubernetes with sfPod
sfPod overview
sfPod is a collector that is installed on Kubernetes and runs as a DaemonSet on each worker node. It monitors the following elements of a Kubernetes environment:
Kubernetes metrics
- Cluster metrics
- Host metrics
- Pod metrics
- Container metrics
- Events
- Kubernetes services health– Kubelet, Kube-Proxy, API Server, Controller Manager, Core DNS
Kubernetes cluster logs
Poll Prometheus Exporters running on application pods
Pod Application Logs
sfPod installation
Below is short video explaining the sfPOD installation steps
Step 1: Create a Cloud profile
Create a cloud profile in SnappyFlow (or use an existing profile) and copy the profile key to use it while installing the sfPod in your cluster.
Step 2: Add Snappyflow helm chart
Login to any node that has network connectivity to Kubernetes master node and run the following commands
helm repo add snappyflow https://snappyflow.github.io/helm-charts
helm repo list
helm repo update
Step 3: Installing helm chart
kubectl create namespace sfagent
helm install <name> snappyflow/sfagent --set config.project_name=<my-project-name> --set config.app_name=<my-cluster-name> --set config.key=<profile key> --namespace sfagent
<my-cluster-name>
Replace with any name, Cluster is discovered by this name on the Snappyflow.
<profile key>
Replace with key copied from SnappyFlow.
Restricted sfPod Configuration
By default, sfPod is installed in a full configuration mode where it monitors all the elements. For a restricted configuration i.e. monitor only cluster logs or cluster metrics, user can use the flags outlined below:
--set config.cluster_monitoring=true/false
If true monitoring of cluster metrics and cluster logs is enabled. If this field is made false, cluster monitoring is switched off and only Prometheus polling and Centralized Application Log Monitoring are enabled
--set config.node_agent.drop_cluster_logs=true =>
If true, monitoring of Kubernetes cluster logs is disabled.
--set config.<doc_type>= false
sfPod organizes data collected by plugin/documentType. Example of some of the document types that are collected by sfPod include – pod, node, container, cluster_stats etc. User can disable collection of a documentType using this configuration. The detailed list of document types can be reviewed in Browse Data page of a Kubernetes cluster
--set config.app_view
By default sfPod sends pod and container metrics of tagged pods (I,e pods that have projectName and appName tags) to both Cluster Index and Project Index leading to duplication of metric data. This feature is enabled to enhance correlation of Application and Infra data. This feature can be switched-off if the flag= true.