2017-06-13 3 views
0

Wir verwenden bereits Knotenexporteure, um docker/container-Metriken innerhalb unserer kubernetes-Umgebung abzurufen/zu sammeln. Als nächstes möchten wir auch in der Lage sein, Anwendungsmetriken zu sammeln (in unserem Fall von Feder-Aktor bereitgestellt, z. B. http://pod-name:8080/prometheus). Wie können wir Kubernetes-Dienste normalerweise nicht als feste DNS-Namen verwenden (sie werden über die Pods hinter dem Dienst verteilt) und die Tatsache, dass Pods verschwinden und ständig erscheinen und ihren Namen und damit ihre Adressierbarkeit ändern?Überwachung der Anwendungsmetrik von Kubernetes-Pods

Unser erster naiver Ansatz war die folgende (aber dies nicht ausreichend sein wird, da es mit Lastenausgleich durch den Service ist):

- job_name: 'example-service' 
    scheme: http 
    metrics_path: '/prometheus' 
    static_configs: 
    - targets: ['example-service:8080'] 

Ratschläge oder Beispiele wären wirklich toll.

Vielen Dank im Voraus,

Bart

Antwort

0

ich ein Beispiel in der Zwischenzeit gefunden ... Frage geschlossen.

# Example scrape config for pods 
# 
# The relabeling allows the actual pod scrape endpoint to be configured via the 
# following annotations: 
# 
# * `prometheus.io/scrape`: Only scrape pods that have a value of `true` 
# * `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 default of `9102`. 
- job_name: 'kubernetes-pods' 

    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