diff options
| author | 2024-03-31 22:41:11 +0100 | |
|---|---|---|
| committer | 2024-04-01 14:43:18 +0200 | |
| commit | b48bf5b45a8339b1b326d9d34a60ef00a430459d (patch) | |
| tree | 327342eb5faf9ffc0608f2847a2b2956fc6135c9 /kubernetes/namespaces/monitoring | |
| parent | Temporarily ignore the off topic channels for duckpond (#200) (diff) | |
Support port pretty names as well as integer ports for SD
Diffstat (limited to 'kubernetes/namespaces/monitoring')
| -rw-r--r-- | kubernetes/namespaces/monitoring/prometheus/prometheus-config.yaml | 42 | 
1 files changed, 41 insertions, 1 deletions
| diff --git a/kubernetes/namespaces/monitoring/prometheus/prometheus-config.yaml b/kubernetes/namespaces/monitoring/prometheus/prometheus-config.yaml index 7ad047c..1db9234 100644 --- a/kubernetes/namespaces/monitoring/prometheus/prometheus-config.yaml +++ b/kubernetes/namespaces/monitoring/prometheus/prometheus-config.yaml @@ -233,7 +233,7 @@ data:      # * `prometheus.io/path`: If the metrics path is not `/metrics` override this.      # * `prometheus.io/port`: Scrape the pod on the indicated port instead of the      # pod's declared ports (default is a port-free target if none are declared). -    - job_name: 'kubernetes-pods' +    - job_name: 'kubernetes-pods-port-integers'        kubernetes_sd_configs:        - role: pod @@ -259,6 +259,46 @@ data:        - source_labels: [__meta_kubernetes_pod_name]          action: replace          target_label: kubernetes_pod_name +      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port] +        action: keep +        regex: '^\d+$' +      metric_relabel_configs: +      - source_labels: +          - namespace +        action: replace +        regex: (.+) +        target_label: kubernetes_namespace + +    # Example scrape config for pods +    - job_name: 'kubernetes-pods-port-names' +      kubernetes_sd_configs: +      - role: pod + +      relabel_configs: +      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape] +        action: keep +        regex: true +      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path] +        action: replace +        target_label: __metrics_path__ +        regex: (.+) +      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] +        action: replace +        regex: ([^:]+)(?::\d+)?;(\d+) +        replacement: $1:$2 +        target_label: __address__ +      - action: labelmap +        regex: __meta_kubernetes_pod_label_(.+) +      - source_labels: [__meta_kubernetes_namespace] +        action: replace +        target_label: kubernetes_namespace +      - source_labels: [__meta_kubernetes_pod_name] +        action: replace +        target_label: kubernetes_pod_name +      # if we have a text port name (NOT an integer one), drop if it's not the current port +      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_port] +        action: keepequal +        target_label: __meta_kubernetes_pod_container_port_name        metric_relabel_configs:        - source_labels:            - namespace | 
