2017-05-16 13 views
6

docker kutularını izlemek için Prometheus kullanmak istiyorum. Prometheus'u Grafana ile çalıştırabilirim ancak diğer docker kapsayıcılarını izlemek için nasıl talimat verileceğini bilmiyorum. Mümkünse bir örnek görmek istiyorum. Örneğin, ana bilgisayarımın yanı sıra Gentoo kapsayıcısında çalışan Ubuntu kapsayıcım var. Prometheus'a bunları izlemelerini veya belki de içinde çalışan bazı uygulamaları izlemelerini nasıl söyleyebilirim? Benimle zaman ve sabrınız için şimdiden teşekkür ederiz.Prometheus - diğer docker konteynerlerini izleme

cevap

6

Kapsayıcı kullanıcılara çalışan kaplarının kaynak kullanımı ve performans özelliklerini anlamalarını sağlayan cadvisor kullanabilirsiniz.

bu mimariyi kullanan Dockerizlemek için Prometheus'u kadar ayarlama hakkında bir very good article:

cAdvisor with prometheus

Kısaca, fikri cAdvisorkullanarak kapları hakkında bilgi toplamak ve içine koymaktır Prometheus veritabanı. Grafana, Prometheus veritabanını sorgulayacak ve izleme çizelgeleri/değerleri oluşturacaktır. Prometheusbazı veriler varsa

scrape_configs: 
    - job_name: 'cadvisor' 
    scrape_interval: 5s 
    static_configs: 
     - targets: ['cadvisor:8080'] 

, sahip kullanılır? Bir configuration file (prometheus.yml)

Prometheusiçin cAdvisor veri toplamak için, düzenlemek zorunda kalacak Grafana görüntülemek için. Eğer Grafana içine alabiliriz json sorguları izlenmesi A (kısa) örnek şu şekilde olmaktadır:

kullanıcı CPU% alın: RAM

"targets": [ 
    { 
     "expr": "sum(rate(container_cpu_user_seconds_total{image!=\"\"}[1m]))/count(node_cpu{mode=\"system\"}) * 100", 
     "interval": "10s", 
     "intervalFactor": 1, 
     "legendFormat": "", 
     "refId": "A", 
     "step": 10 
    } 
    ] 

alın% kullandı:

"targets": [ 
    { 
     "expr": "(sum(node_memory_MemTotal) - sum(node_memory_MemFree+node_memory_Buffers+node_memory_Cached))/sum(node_memory_MemTotal) * 100", 
     "interval": "10s", 
     "intervalFactor": 2, 
     "legendFormat": "", 
     "refId": "A", 
     "step": 20 
    } 
    ] 

Tam json verileri için (burada gönderilmek için çok uzun süre), bu depoyu klonlayabilirsiniz:

git clone https://github.com/stefanprodan/dockprom 

Ve bu Grafana json'u almayı deneyin.

Şu anda bu mimariyi docker swarm mode kümelenmesini izlemek için kullanıyorum ve burada github deposunda bulabileceğiniz izlemenin çıktısı var.

prometheus with grafana

+0

Teşekkürler !!! Kontrol edeceğim, deneyeceğim ve bilmenizi istiyorum. Basit ama güçlü bir şey arıyorum ve Prometheus'un iyi bir seçenek olduğuna inanıyorum. – ivo

+0

AŞAĞIDAKİ KONUŞMAKTADIR. Dünya çapında 3 üretim sitesinde bu yığını (+ düğüm ihracatçı/uyarı yöneticisi) kullanıyorum, gerçekten sadece "toplayıcılar" kapsayıcılarını (cAdvisor/node exporter) ana makinelerde dağıtmanın basitliğini takdir ediyorum. grafik büyü gibi geliyor! –

+0

Bu cevabı paylaştığınız için teşekkür ederim. Benim kullanım durumumda da bana yardımcı oldu –

İlgili konular