SpitfireYük Testi ve Gözlemlenebilirlikv1.4.9 · Yenilikler

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.

Not

Kaynaklar Beta'dır. Tüm erişimler salt okunurdur; Spitfire veri okumaz, yazmaz.

ZooKeeper

Hızlı kurulum

  1. Komutu her üyede çalıştırın, soruları yanıtlayın.
bash
curl -fsSL "https://<spitfire>/api/v1/setup/ds/zookeeper.sh?t=<token>" -o /tmp/sf-zookeeper.sh && bash /tmp/sf-zookeeper.sh
  1. OK: ... satırını görünce bitti.

Elle kurulum

  1. zoo.cfg'yi yedekleyin.
bash
sudo cp -n /opt/zookeeper/conf/zoo.cfg /opt/zookeeper/conf/zoo.cfg.spitfire.bak
  1. Prometheus metrics provider'ı açın.
bash
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
  1. Üyeyi yeniden başlatın, leader'ı en son.
bash
sudo /opt/zookeeper/bin/zkServer.sh restart
  1. Metrikleri kontrol edin.
bash
curl -fsS http://localhost:7000/metrics | grep -q '^znode_count' && echo 'OK: ZooKeeper metrikleri hazır'
  1. Spitfire → Altyapı izleme → ZooKeeper; adres: zk1:7000,zk2:7000,zk3:7000.
Dikkat

Üyeleri tek tek yeniden başlatın; aynı anda ikisi düşerse quorum kaybolur.

etcd

Hızlı kurulum

  1. Komutu her control-plane node'unda çalıştırın.
bash
curl -fsSL "https://<spitfire>/api/v1/setup/ds/etcd.sh?t=<token>" -o /tmp/sf-etcd.sh && bash /tmp/sf-etcd.sh
  1. OK: ... satırını görünce bitti.

Elle kurulum (kubeadm)

  1. Manifest'i dizin dışına yedekleyin.
bash
sudo cp -n /etc/kubernetes/manifests/etcd.yaml /etc/kubernetes/etcd.yaml.spitfire.bak
  1. Metrik dinleyicisini node IP'sine açın.
bash
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
  1. Metrikleri kontrol edin (~30 sn sonra).
bash
curl -fsS http://<node-ip>:2381/metrics | grep -q '^etcd_server_has_leader' && echo 'OK: etcd metrikleri hazır'
  1. Spitfire → Altyapı izleme → etcd; adres: <node1-ip>:2381,<node2-ip>:2381,<node3-ip>:2381.
Not

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.

Dikkat

etcd auth kapalıyken CA imzalı istemci sertifikası KV'ye tam erişim verir. Bu yüzden 2381 önerilir.

Consul

Hızlı kurulum

  1. Komutu her agent'ta çalıştırın, management token'ı girin.
bash
curl -fsSL "https://<spitfire>/api/v1/setup/ds/consul.sh?t=<token>" -o /tmp/sf-consul.sh && bash /tmp/sf-consul.sh
  1. OK: ... satırını görünce bitti.

Elle kurulum

  1. Telemetri ayarını yazın.
bash
printf '%s\n' 'telemetry {' '  prometheus_retention_time = "120s"' '  disable_hostname = true' '}' | sudo tee /etc/consul.d/spitfire-telemetry.hcl
  1. Agent'ı yeniden başlatın.
bash
sudo systemctl restart consul
  1. Salt okunur policy dosyasını yazın.
bash
printf '%s\n' 'agent_prefix "" { policy = "read" }' 'node_prefix "" { policy = "read" }' 'service_prefix "" { policy = "read" }' 'operator = "read"' > /tmp/spitfire-metrics.hcl
  1. Policy'yi oluşturun.
bash
CONSUL_HTTP_TOKEN='<management-token>' consul acl policy create -name spitfire-metrics -rules @/tmp/spitfire-metrics.hcl
  1. Token'ı oluşturun, SecretID'yi kopyalayın.
bash
CONSUL_HTTP_TOKEN='<management-token>' consul acl token create -description spitfire -policy-name spitfire-metrics
  1. Metrikleri kontrol edin.
bash
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'
  1. Spitfire → Altyapı izleme → Consul; adres ve ACL token (SecretID).
Not

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.