Sürüm: 1.4.9Bu dokümantasyon Spitfire 1.4.9 içindir.
Altyapı izleme — ZooKeeper, etcd, Consul
Koordinasyon cluster'ları Tower üzerinden okunur. Her cluster tek izlenen sistemdir; tüm üyeleri virgülle aynı kaynağa yazın. Paneller ve bulgular leader, quorum, raft ve disk (WAL fsync) durumunu gösterir.
Kaynaklar Beta'dır. Tüm erişimler salt okunurdur; Spitfire veri okumaz, yazmaz.
ZooKeeper
Hızlı kurulum
- Komutu her üyede çalıştırın, soruları yanıtlayın.
curl -fsSL "https://<spitfire>/api/v1/setup/ds/zookeeper.sh?t=<token>" -o /tmp/sf-zookeeper.sh && bash /tmp/sf-zookeeper.shOK: ...satırını görünce bitti.
Elle kurulum
- zoo.cfg'yi yedekleyin.
sudo cp -n /opt/zookeeper/conf/zoo.cfg /opt/zookeeper/conf/zoo.cfg.spitfire.bak- Prometheus metrics provider'ı açın.
grep -q '^metricsProvider.className=' /opt/zookeeper/conf/zoo.cfg || printf '%s\n' 'metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider' 'metricsProvider.httpHost=0.0.0.0' 'metricsProvider.httpPort=7000' | sudo tee -a /opt/zookeeper/conf/zoo.cfg- Üyeyi yeniden başlatın, leader'ı en son.
sudo /opt/zookeeper/bin/zkServer.sh restart- Metrikleri kontrol edin.
curl -fsS http://localhost:7000/metrics | grep -q '^znode_count' && echo 'OK: ZooKeeper metrikleri hazır'- Spitfire → Altyapı izleme → ZooKeeper; adres:
zk1:7000,zk2:7000,zk3:7000.
Üyeleri tek tek yeniden başlatın; aynı anda ikisi düşerse quorum kaybolur.
etcd
Hızlı kurulum
- Komutu her control-plane node'unda çalıştırın.
curl -fsSL "https://<spitfire>/api/v1/setup/ds/etcd.sh?t=<token>" -o /tmp/sf-etcd.sh && bash /tmp/sf-etcd.shOK: ...satırını görünce bitti.
Elle kurulum (kubeadm)
- Manifest'i dizin dışına yedekleyin.
sudo cp -n /etc/kubernetes/manifests/etcd.yaml /etc/kubernetes/etcd.yaml.spitfire.bak- Metrik dinleyicisini node IP'sine açın.
sudo sed -i 's#--listen-metrics-urls=http://127.0.0.1:2381$#--listen-metrics-urls=http://127.0.0.1:2381,http://<node-ip>:2381#' /etc/kubernetes/manifests/etcd.yaml- Metrikleri kontrol edin (~30 sn sonra).
curl -fsS http://<node-ip>:2381/metrics | grep -q '^etcd_server_has_leader' && echo 'OK: etcd metrikleri hazır'- Spitfire → Altyapı izleme → etcd; adres:
<node1-ip>:2381,<node2-ip>:2381,<node3-ip>:2381.
2381 yalnız /metrics ve /health verir. 2379 kullanacaksanız TLS'i açıp CA, istemci sertifikası ve anahtarı (PEM) girin; kubeadm'de bunlar /etc/kubernetes/pki/etcd altındadır.
etcd auth kapalıyken CA imzalı istemci sertifikası KV'ye tam erişim verir. Bu yüzden 2381 önerilir.
Consul
Hızlı kurulum
- Komutu her agent'ta çalıştırın, management token'ı girin.
curl -fsSL "https://<spitfire>/api/v1/setup/ds/consul.sh?t=<token>" -o /tmp/sf-consul.sh && bash /tmp/sf-consul.shOK: ...satırını görünce bitti.
Elle kurulum
- Telemetri ayarını yazın.
printf '%s\n' 'telemetry {' ' prometheus_retention_time = "120s"' ' disable_hostname = true' '}' | sudo tee /etc/consul.d/spitfire-telemetry.hcl- Agent'ı yeniden başlatın.
sudo systemctl restart consul- Salt okunur policy dosyasını yazın.
printf '%s\n' 'agent_prefix "" { policy = "read" }' 'node_prefix "" { policy = "read" }' 'service_prefix "" { policy = "read" }' 'operator = "read"' > /tmp/spitfire-metrics.hcl- Policy'yi oluşturun.
CONSUL_HTTP_TOKEN='<management-token>' consul acl policy create -name spitfire-metrics -rules @/tmp/spitfire-metrics.hcl- Token'ı oluşturun, SecretID'yi kopyalayın.
CONSUL_HTTP_TOKEN='<management-token>' consul acl token create -description spitfire -policy-name spitfire-metrics- Metrikleri kontrol edin.
curl -fsS -H 'X-Consul-Token: <secret-id>' 'http://localhost:8500/v1/agent/metrics?format=prometheus' | grep -q '^consul_runtime_alloc_bytes' && echo 'OK: Consul metrikleri hazır'- Spitfire → Altyapı izleme → Consul; adres ve ACL token (SecretID).
Management token yalnız 4. ve 5. adımda kullanılır, saklanmaz. Spitfire'a giden token yalnız okur.
Paneller ve bulgular
| Kaynak | Bulgu | Eşik |
|---|---|---|
| ZooKeeper | Üye düştü / leader yok (quorum) | up = 0 / leader_uptime yok |
| ZooKeeper | Bekleyen istek, ortalama gecikme | > 10, > 100 ms |
| ZooKeeper | Senkron olmayan learner | synced / learners < 1 |
| etcd | Üye düştü, leader yok, leader değişti, proposal başarısız | 15 dk |
| etcd | WAL fsync p99, backend commit p99 | > 10 ms, > 25 ms |
| etcd | DB quota doluluğu | > %80 |
| Consul | Agent düştü, autopilot sağlıksız, leader yok, failed üye | — |
| Consul | Leader son temas p99 | > 200 ms |
p99 değerleri histogram bucket'larından 5 dakikalık pencereyle hesaplanır.