Wie zu kratzen pod level info mit prometheus kubernetes?
Ich versuche, mich zu kratzen pod level info mit prometheus kubernetes. Hier ist die config die ich benutze:
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- api_servers:
- 'https://kubernetes.default'
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_pod_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
Aber ich sehe keine info auf grafana. Muss ich änderungen in meiner apps?
snapshot
Dieser Artikel Weben.Werke/blog/... war für mich sehr nützlich.
InformationsquelleAutor nocturnal | 2017-01-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit dieser Konfiguration die erste Aktion, die fordert, dass der pod mit Anmerkungen versehen, mit
prometheus.io/scrape=true
. Haben Sie festgelegt, dass Anmerkungen auf den Hülsen in Frage?Von der pod - (app -) Perspektive, abgesehen von der Einstellung Anmerkungen, muss ich veröffentlichen keine Daten oder Metriken?
Ihre Anwendungen bereitstellen müssen Daten in der Prometheus-format über HTTP (in der Regel über eine client-Bibliothek). Prometheus kann nicht extrahieren von Daten aus dem nichts.
InformationsquelleAutor brian-brazil
Bewusst sein,
es ist ein Konfigurations-Fehler hier:
__meta_kubernetes_pod_namespace nicht vorhanden und sollte __meta_kubernetes_namespace
Beste Grüße,
Bart
InformationsquelleAutor Boeboe
sollten Sie sicherstellen, dass die Daten, die Ihr Grafana Graphen verwenden, ist tatsächlich in Prometheus.
Ich nehme an, du bist mit dieser default Grafana Dashboards.
Ihre Grafana-Abfrage könnte wie folgt Aussehen:
Also würden Sie haben, um sicherzustellen, dass die
container_memory_working_set_bytes
Metrik erfasst werden und es hat ein Feldpod_name
.Falls die Metrik ist nicht erfasst, Sie würde tun müssen, einige Graben in die Protokolle des prometheus, um zu überprüfen, ob es in der Lage ist, kriechen die API.
Im Falle der Metrik ist es aber die Etiketten falsch sind, können Sie entweder anpassen der Abfrage im Grafana oder fügen Sie einen anderen
relabel_config
im Prometheus. Sehen offizielle Dokumentation.Überprüfen Sie die Protokolle Ihrer prometheus-pod dann und versuchen Sie zu beheben mögliche Fehler. Für mich war es schlimm die Anmeldedaten, wie hier beschrieben: github.com/kubernetes/dashboard/issues/374
Hast du dafür eine Lösung?
Ab jetzt bin ich mit cadvisor zu bekommen pod-level-Informationen wie Speicherverbrauch und cpu-Auslastung. Auch umgesetzt haben, die app zu entlarven einige der Metriken, die prometheus Kratzer.
haben Sie Anmerkungen anstelle von Etiketten?
InformationsquelleAutor pagid