jmcgrath207 / k8s-ephemeral-storage-metrics

Prometheus ephemeral storage metrics exporter

Home Page:https://jmcgrath207.github.io/k8s-ephemeral-storage-metrics/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

K8s Ephemeral Storage Metrics

License: MIT Actions Status Artifact Hub

A prometheus ephemeral storage metric exporter for pods, containers, nodes, and volumes.

This project was created to address lack of monitoring in Kubernetes

This project does not monitor CSI backed ephemeral storage ex. Generic ephemeral volumes

main image

Helm Install

helm repo add k8s-ephemeral-storage-metrics https://jmcgrath207.github.io/k8s-ephemeral-storage-metrics/chart
helm repo update
helm upgrade --install my-deployment k8s-ephemeral-storage-metrics/k8s-ephemeral-storage-metrics

Values

Key Type Default Description
affinity object {}
deploy_type string "Deployment" Set as Deployment for single controller to query all nodes or Daemonset
dev object {"enabled":false,"image":{"imagePullPolicy":"IfNotPresent"}} For local development of kind and/or deploy grow and shrink test pods
image.imagePullPolicy string "IfNotPresent"
image.repository string "ghcr.io/jmcgrath207/k8s-ephemeral-storage-metrics"
image.tag string "1.5.0"
interval int 15 Polling node rate for exporter
log_level string "info"
max_node_concurrency int 10 Max number of concurrent query requests to the kubernetes API.
metrics object {"adjusted_polling_rate":false,"ephemeral_storage_container_limit_percentage":true,"ephemeral_storage_container_volume_limit_percentage":true,"ephemeral_storage_node_available":true,"ephemeral_storage_node_capacity":true,"ephemeral_storage_node_percentage":true,"ephemeral_storage_pod_usage":true} Set metrics you want to enable
metrics.adjusted_polling_rate bool false Create the ephemeral_storage_adjusted_polling_rate metrics to report Adjusted Poll Rate in milliseconds. Typically used for testing.
metrics.ephemeral_storage_container_limit_percentage bool true Percentage of ephemeral storage used by a container in a pod
metrics.ephemeral_storage_container_volume_limit_percentage bool true Percentage of ephemeral storage used by a container's volume in a pod
metrics.ephemeral_storage_node_available bool true Available ephemeral storage for a node
metrics.ephemeral_storage_node_capacity bool true Capacity of ephemeral storage for a node
metrics.ephemeral_storage_node_percentage bool true Percentage of ephemeral storage used on a node
metrics.ephemeral_storage_pod_usage bool true Current ephemeral byte usage of pod
nodeSelector object {}
podAnnotations object {}
prometheus.enable bool true
prometheus.release string "kube-prometheus-stack"
tolerations list []

Contribute

Start Kind

make new_kind

Run locally

make deploy_local

Run locally with Delve Debug

make deploy_debug

Then connect to localhost:30002 with delve or your IDE.

Run e2e Test

make deploy_e2e

Debug e2e

make deploy_e2e_debug

Then run a debug against deployment_test.go

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Prometheus ephemeral storage metrics exporter

https://jmcgrath207.github.io/k8s-ephemeral-storage-metrics/

License:MIT License


Languages

Language:Go 65.9%Language:Shell 21.6%Language:Smarty 6.0%Language:Makefile 5.4%Language:Dockerfile 1.1%