2017-06-13 1 views
0

Nous utilisons déjà des nœuds-exportateurs pour extraire/collecter des métriques docker/conteneur dans notre environnement kubernetes. Ensuite, nous aimerions également pouvoir collecter des métriques d'application (fournies par un actuateur à ressort dans notre cas, par exemple http://pod-name:8080/prometheus). Comment cela se fait-il, en gardant à l'esprit que nous ne pouvons pas utiliser les services Kubernetes comme noms DNS fixes (ils sont équilibrés sur les pods derrière le service) et que les pods disparaissent et apparaissent tout le temps, changeant de nom et donc d'adressabilité?Surveillance des métriques d'application des pods Kubernetes

Notre approche naïve initiale était la suivante (mais cela ne sera pas suffisant, car il est l'équilibrage de charge par le service):

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

Des conseils ou des exemples serait vraiment génial.

Merci beaucoup à l'avance,

Bart

Répondre

0

Je trouve un exemple dans l'intervalle ... question fermée.

# 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