131 lines
6.8 KiB
YAML
131 lines
6.8 KiB
YAML
#jinja2: trim_blocks: True, lstrip_blocks: True
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: kube-prometheus-stack-values
|
|
data:
|
|
values.yaml: |
|
|
crds:
|
|
enabled: true
|
|
cleanPrometheusOperatorObjectNames: true
|
|
alertmanager:
|
|
enabled: false
|
|
kube-state-metrics:
|
|
metricLabelsAllowlist:
|
|
- "deployments=[*]"
|
|
- "persistentvolumeclaims=[*]"
|
|
- "pods=[*]"
|
|
prometheus:
|
|
monitor:
|
|
enabled: true
|
|
relabelings:
|
|
- action: replace
|
|
sourceLabels: ["__meta_kubernetes_pod_node_name"]
|
|
regex: ^(.*)$
|
|
replacement: $1
|
|
targetLabel: kubernetes_node
|
|
kubelet:
|
|
enabled: true
|
|
serviceMonitor:
|
|
metricRelabelings:
|
|
# Remove duplicate labels provided by k3s
|
|
- action: keep
|
|
sourceLabels: ["__name__"]
|
|
regex: (apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authentication_token|cadvisor_version|container_blkio|container_cpu|container_fs|container_last|container_memory|container_network|container_oom|container_processes|container|csi_operations|disabled_metric|get_token|go|hidden_metric|kubelet_certificate|kubelet_cgroup|kubelet_container|kubelet_containers|kubelet_cpu|kubelet_device|kubelet_graceful|kubelet_http|kubelet_lifecycle|kubelet_managed|kubelet_node|kubelet_pleg|kubelet_pod|kubelet_run|kubelet_running|kubelet_runtime|kubelet_server|kubelet_started|kubelet_volume|kubernetes_build|kubernetes_feature|machine_cpu|machine_memory|machine_nvm|machine_scrape|node_namespace|plugin_manager|prober_probe|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scrape_duration|scrape_samples|scrape_series|storage_operation|volume_manager|volume_operation|workqueue)_(.+)
|
|
- action: replace
|
|
sourceLabels: ["node"]
|
|
targetLabel: instance
|
|
# Drop high cardinality labels
|
|
- action: labeldrop
|
|
regex: (uid)
|
|
- action: labeldrop
|
|
regex: (id|name)
|
|
- action: drop
|
|
sourceLabels: ["__name__"]
|
|
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
|
|
kubeApiServer:
|
|
enabled: true
|
|
serviceMonitor:
|
|
metricRelabelings:
|
|
# Remove duplicate labels provided by k3s
|
|
- action: keep
|
|
sourceLabels: ["__name__"]
|
|
regex: (aggregator_openapi|aggregator_unavailable|apiextensions_openapi|apiserver_admission|apiserver_audit|apiserver_cache|apiserver_cel|apiserver_client|apiserver_crd|apiserver_current|apiserver_envelope|apiserver_flowcontrol|apiserver_init|apiserver_kube|apiserver_longrunning|apiserver_request|apiserver_requested|apiserver_response|apiserver_selfrequest|apiserver_storage|apiserver_terminated|apiserver_tls|apiserver_watch|apiserver_webhooks|authenticated_user|authentication|disabled_metric|etcd_bookmark|etcd_lease|etcd_request|field_validation|get_token|go|grpc_client|hidden_metric|kube_apiserver|kubernetes_build|kubernetes_feature|node_authorizer|pod_security|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scrape_duration|scrape_samples|scrape_series|serviceaccount_legacy|serviceaccount_stale|serviceaccount_valid|watch_cache|workqueue)_(.+)
|
|
# Drop high cardinality labels
|
|
- action: drop
|
|
sourceLabels: ["__name__"]
|
|
regex: (apiserver|etcd|rest_client)_request(|_sli|_slo)_duration_seconds_bucket
|
|
- action: drop
|
|
sourceLabels: ["__name__"]
|
|
regex: (apiserver_response_sizes_bucket|apiserver_watch_events_sizes_bucket)
|
|
kubeControllerManager:
|
|
enabled: true
|
|
endpoints:
|
|
{% for item in bootstrap_nodes.master %}
|
|
- {{ item.address }}
|
|
{% endfor %}
|
|
serviceMonitor:
|
|
metricRelabelings:
|
|
# Remove duplicate labels provided by k3s
|
|
- action: keep
|
|
sourceLabels: ["__name__"]
|
|
regex: "(apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|attachdetach_controller|authenticated_user|authentication|cronjob_controller|disabled_metric|endpoint_slice|ephemeral_volume|garbagecollector_controller|get_token|go|hidden_metric|job_controller|kubernetes_build|kubernetes_feature|leader_election|node_collector|node_ipam|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|pv_collector|registered_metric|replicaset_controller|rest_client|retroactive_storageclass|root_ca|running_managed|scrape_duration|scrape_samples|scrape_series|service_controller|storage_count|storage_operation|ttl_after|volume_operation|workqueue)_(.+)"
|
|
kubeEtcd:
|
|
enabled: true
|
|
endpoints:
|
|
{% for item in bootstrap_nodes.master %}
|
|
- {{ item.address }}
|
|
{% endfor %}
|
|
kubeScheduler:
|
|
enabled: true
|
|
endpoints:
|
|
{% for item in bootstrap_nodes.master %}
|
|
- {{ item.address }}
|
|
{% endfor %}
|
|
serviceMonitor:
|
|
metricRelabelings:
|
|
# Remove duplicate labels provided by k3s
|
|
- action: keep
|
|
sourceLabels: ["__name__"]
|
|
regex: "(apiserver_audit|apiserver_client|apiserver_delegated|apiserver_envelope|apiserver_storage|apiserver_webhooks|authenticated_user|authentication|disabled_metric|go|hidden_metric|kubernetes_build|kubernetes_feature|leader_election|process_cpu|process_max|process_open|process_resident|process_start|process_virtual|registered_metric|rest_client|scheduler|scrape_duration|scrape_samples|scrape_series|workqueue)_(.+)"
|
|
kubeProxy:
|
|
enabled: false # Disabled due to eBPF
|
|
prometheus:
|
|
ingress:
|
|
enabled: true
|
|
ingressClassName: internal
|
|
annotations:
|
|
hajimari.io/appName: Prometheus
|
|
hajimari.io/icon: simple-icons:prometheus
|
|
pathType: Prefix
|
|
hosts:
|
|
- "prometheus.${SECRET_DOMAIN}"
|
|
tls:
|
|
- hosts:
|
|
- "prometheus.${SECRET_DOMAIN}"
|
|
prometheusSpec:
|
|
ruleSelectorNilUsesHelmValues: false
|
|
serviceMonitorSelectorNilUsesHelmValues: false
|
|
podMonitorSelectorNilUsesHelmValues: false
|
|
probeSelectorNilUsesHelmValues: false
|
|
scrapeConfigSelectorNilUsesHelmValues: false
|
|
enableAdminAPI: true
|
|
walCompression: true
|
|
retentionSize: 8GB
|
|
storageSpec:
|
|
volumeClaimTemplate:
|
|
spec:
|
|
storageClassName: local-path
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
grafana:
|
|
enabled: false
|
|
forceDeployDashboards: true
|
|
sidecar:
|
|
dashboards:
|
|
multicluster:
|
|
etcd:
|
|
enabled: true
|