GH GambleHub

Altyapı izleme

Altyapı İzleme

1) Hedefler ve çerçeve

Altyapı izleme, bir platformun sağlığı, performansı ve kullanılabilirliği hakkında bir sinyal sistemidir. Yapması gerekenler:
  • Kullanıcı çökmeden önce uyar (erken algılama).
  • Kök nedenin teşhisini verin (semptomdan nedene).
  • Sürümlerin ve otomatik geri dönüşlerin SLO geçişini destekleyin.
  • Olay sonrası analizi besleyin (veri olarak kanıt).

Destekleyici ilkeler: Tasarımla gözlemlenebilir, daha az gürültü - daha fazla sinyal, reaksiyonların otomasyonu, tek bir gerçek paneli.

2) Gözlemlenebilirlik üçlüsü

Zaman çizelgeleri - Oran/Talep/Hata/Doygunluk (KULLANIM/KIRMIZI)

Günlükler: bağlamı olan olay detayı; Hiçbir sır/PII içermez.
İzler: nedensel ilişkileri olan dağıtılmış vakalar.

Artı:
  • Profilleme (CPU/heap/lock/io), sistem seviyesi için eBPF.
  • Olaylar/denetim (K8s Olaylar, yapılandırmalardaki/sırlardaki değişiklikler).

3) SLI/SLO/SLA - kaliteli dil

SLI: 'availability', 'error _ rate', 'p95 _ latency', 'queue _ lag'.

SLO (hedef): "Başarılı istekler ≥ 99. 30 günde yüzde 9"

Hata Bütçesi: tolerans; Otomatik durdurma sürümleri için kullanılır.

SLO Örneği (YAML):
yaml service: "api-gateway"
slis:
- name: success_rate query_good: sum(rate(http_requests_total{status!~"5.."}[5m]))
query_total: sum(rate(http_requests_total[5m]))
slo: 99. 9 window: 30d

4) Katmanları izleme haritası

1. Ana bilgisayarlar/VM/düğümler: CPU/Load/Steal, RAM/Swap, Disk IOPS/Latency, Dosya sistemi.
2. Ağ/LB/DNS: RTT, paketler/damlalar, backlog, SYN/Timeout, health-probs.
3. Kubernetes/Orchestrator: API sunucusu, etcd, denetleyiciler, zamanlayıcı; bölmeler/düğümler, bekleyen/tahliye edilen, kısma, kube-olayları.
4. Hizmetler/konteynerler: KIRMIZI (Oran/Hatalar/Süre), hazırlık/canlılık.
5. Veritabanları/önbellekler: QPS, kilit bekleme, çoğaltma gecikmesi, arabellek isabeti, yavaş sorgular.
6. Kuyruklar/otobüsler: tüketici gecikmesi, istek/ölü harf, verim.
7. Depolama/bulut: S3/Blob hataları ve gecikme, sağlayıcılardan 429/503.
8. Çevre sınırları: WAF/Oran Sınırları, rota ile 4xx/5xx, CDN.
9. Sentetikler: HTTP komut dosyası kontrolleri (deposit/output), TLS/sertifikalar.
10. Ekonomi/kapasite: hizmet başına maliyet, kullanım, boşluk.

5) Whitebox и Blackbox

Whitebox: hizmet içindeki ihracatçılar/SDK'lar (Prometheus, OpenTelemetry).
Blackbox: Farklı bölgelerden harici örnekler (kullanılabilirlik, gecikme, TLS sona ermesi).
Combine: "sign outside" + "diagnosis inside".

'Blackbox _ exporter' örneği:
yaml modules:
https_2xx:
prober: http http:
method: GET preferred_ip_protocol: "ip4"

6) Kubernetes: anahtar sinyaller

Кластер: 'apiserver _ request _ total', 'etcd _ server _ has _ leader', etcd fsync.
Узлы: 'container _ cpu _ cfs _ throttled _ seconds _ total', 'node _ pressure'.
Pedler: Beklemede/CrashLoopBackOff, OOMKilled, yeniden başlatılır.
Planlar/Limitler: İstekler vs Limitler, PodDisruptionBudget, HPA/VPA.
Network: NetworkPolicy düşer, conntrack tükenmesi.

Дашборды: "Küme sağlığı", "İş yükü doygunluğu", "En iyi erroring hizmetleri".

7) DB ve kuyruklar

PostgreSQL/MySQL: çoğaltma gecikmesi, kilitlenmeler, yavaş sorgu %, denetim noktası I/O.
Redis/Memcached: isabet oranı, tahliyeler, reddedilen bağlantılar.
Kafka/RabbitMQ: tüketici gecikmesi, paketlenmemiş, requeue, broker ISR, disk kullanımı.

8) KIRMIZI/KULLANIM metrikleri ve iş korelasyonları

KIRMIZI: 'Oran' (RPS), 'hatalar' (4xx/5xx), 'süre' (p95/p99).
KULLANIM (kaynaklar için): Kullanım, Doygunluk, Hatalar.
Ürünle ilişkilendirin: para yatırma/ödeme başarısı, dolandırıcılık bayrakları, dönüşüm - bunlar kanarya serbest bırakılması için "muhafızlar'dır.

9) Uyarı yapısı

Tier-1 (sayfa): SLO'yu etkileyen olaylar (kullanılabilirlik, 5xx, gecikme, küme kritik bileşen hatası).
Tier-2 (bilet): kapasite düşüşü, SLO'yu etkilemeden hata artışı.
Tier-3 (bilgilendirme): eğilimler, tahmin kapasitesi, süresi dolan sertifikalar.

Eskalasyon kuralları: sessizlik zamanı/yinelenen sıkıştırma, çağrı üzerine dönüşler, güneşi takip etme.

Alertmanager rotaları örneği:
yaml route:
group_by: ["service","severity"]
receiver: "pager"
routes:
- match: { severity: "critical" }
receiver: "pager"
- match: { severity: "warning" }
receiver: "tickets"

10) Prometheus Kuralı Örnekleri

10. 1 5xx SLO eşiği ile hatalar

yaml groups:
- name: api rules:
- alert: HighErrorRate expr:
sum(rate(http_requests_total{status=~"5.."}[5m])) /
sum(rate(http_requests_total[5m])) > 0. 005 for: 10m labels: { severity: "critical", service: "api-gateway" }
annotations:
summary: "5xx > 0. 5% 10m"
runbook: "https://runbooks/api-gateway/5xx"

10. 2 Yazma hatası bütçesi (çoklu pencere yazma)

yaml
- alert: ErrorBudgetBurn expr:
(1 - (
sum(rate(http_requests_total{status!~"5.."}[1m])) /
sum(rate(http_requests_total[1m]))
)) > (1 - 0. 999) 14 for: 5m labels: { severity: "critical", slo: "99. 9" }
annotations: { summary: "Fast burn >14x for 5m" }

10. 3 Sistem Doygunluğu (CPU Azaltma)

yaml
- alert: CPUThrottlingHigh expr: rate(container_cpu_cfs_throttled_seconds_total[5m]) > 0. 1 for: 10m labels: { severity: "warning" }
annotations: { summary: "CPU throttling >10%" }

11) Günlükler: toplama, normalleştirme, tutma

Standardizasyon: JSON günlükleri: 'ts', 'level', 'service', 'trace _ id', 'user/tenant'.
Pipeline: agent (Fluent Bit/Vector) - buffer - index/storage.
Revizyon: PII/kenarında maskeleme sırları.
Saklama: Hızlı depolama sınıfı (7-14 gün), soğuk arşiv (30-180 gün).
Semantik: hata bütçeleri/kullanımdan kaldırılır - ayrı kanallar.

12) Yollar ve OpenTelemetry

Enstrüman giriş noktaları (ağ geçidi), kliyent> servis çağrıları, DB/önbellekler/kuyruklar.
Hızlı gezinme için metrikleri izleme niteliklerine (Örnekler) bağlayın.
Merkezi bir ağ geçidi olarak OTel Collector: filtreleme, örnekleme, seçilen arka uçlara dışa aktarma.

OTel Collector örneği (parça):
yaml receivers: { otlp: { protocols: { http: {}, grpc: {} } } }
processors: { batch: {}, tail_sampling: { policies: [ { name: errors, type: status_code, status_codes: [ERROR] } ] } }
exporters: { prometheus: {}, otlp: { endpoint: "traces. sink:4317" } }
service:
pipelines:
metrics: { receivers: [otlp], processors: [batch], exporters: [prometheus] }
traces: { receivers: [otlp], processors: [tail_sampling,batch], exporters: [otlp] }

13) Sentetik ve dış kontroller

HTTP iş senaryolarını çalıştırır (giriş, para yatırma, para çekme, satın alma).
TLS/Domain: sertifika terimi/CAA/DNS sağlığı.
Bölgesellik: Kilit ülkelerden/sağlayıcılardan örnekler (yönlendirme/blok listeleri).
Sentetikler, kullanıcı için mevcut değilse, yeşil dahili telemetri ile bile uyarılmalıdır.

14) Profilleme ve eBPF

Sürekli profilleme: sıcak fonksiyonların tanımlanması, kilitler.
EBpf: sistem olayları (syscalls, TCP yeniden iletimleri), minimum yük ile ürün üzerinde.
Profil, zorlamadan (biletler) ve serbest bırakıldıktan sonra regresyonlar için - geri alma sinyali olarak uyarır.

15) Gösterge panoları ve "gerçek paneli"

Minimum set:

1. Platforma Genel Bakış: SLI/SLO by key services, error-budget, alerts.

2. API RED: Rotaya göre RPS/ERRORS/DURATION.

3. K8s Küme: kontrol düzlemi, узлы, kapasite boşluğu.

4. DB/Cache: lag/locks/slow query %, isabet oranı.

5. Kuyruklar: backlog/lag, fail/retry.

6. Sürüm başına: Önce/sonra metriklerin karşılaştırılması (kanarya pencereleri).

7. FinOps: Ad alanı/hizmet başına maliyet, boşta/büyük boy ресурсы.

16) Olaylar, uyarı gürültüsü ve tırmanma

Veri tekilleştirme - Hizmet/Neden Gruplama, Basamaklı Baskılama

Sessizlik/bakım: sürümler/geçişler her şeyi kırmızıya "boyamamalıdır".
Runbooks: tanılama adımları ve bir geri alma "düğmesi'ile her kritik uyarı.
Postmortem: zaman çizelgesi, öğrendikleri, hangi sinyallerin eklendiği/temizlendiği.

17) İzlemede güvenlik

Kuralları/veri kaynaklarını okumak/düzenlemek için RBAC.
Sırlar: İhracatçı/ajan belirteçleri - Secret Manager aracılığıyla.
İzolasyon: istemci/kiracı metrikleri - ayrı alanlara/sekmelere.
Bütünlük: aracıların/yapıların imzası, GitOps aracılığıyla yapılandırmalar (birleştirme incelemesi).

18) Finans ve Kapasite (FinOps)

Kotalar ve bütçeler; Anormal büyümeye karşı uyarır.
Sağ boyutlandırma: isteklerin/sınırların analizi, CPU/RAM kullanımı, kritik olmayan görevler için spot örnekler.
Performans KPI'ları olarak "talep/kiracı başına maliyet".

19) Anti-desenler

Yalnızca özel SLI'lar olmadan altyapı metrikleri.
100 +'her şey hakkında "uyarır - çağrı üzerine körlük.
Tek kaynak olarak günlükler (metrikler ve izleme olmadan).
Sürüm/inceleme olmadan değiştirilebilir panolar.
Sentetik eksikliği:'her şey yeşil ", ama ön mevcut değildir.
Sürümlerle bir bağlantı yoktur: "X anda ne değişti" sorusuna cevap vermek imkansızdır.

20) Uygulama kontrol listesi (0-60 gün)

0-15 gün

3-5 anahtar hizmet için SLI/SLO tanımlayın.
Temel ihracatçıları/acenteleri etkinleştirin, JSON kayıtlarını standartlaştırın.
Tier-1 uyarılarını yapılandırın (kullanılabilirlik, 5xx, p95).

16-30 gün

Kritik senaryolar için sentetikler ekleyin.
Girdi/kritik hizmetlerde OTel'i etkinleştirin.
Panolar "Serbest bırakma başına've hata bütçesi yakma kuralları.

31-60 gün

Gelişmiş sinyallerle DB/kuyrukları/önbelleği kapatın.
Yüksek CPU hizmetleri için eBPF/profilleme uygulayın.
Kurallar/gösterge panoları/uyarılar için GitOps, düzenli gürültü temizleme.

21) Olgunluk metrikleri

Kilit hizmetlerin SLO kapsamı %95 ≥.
MTTA/MTTR (hedef: dakika/dakika onlarca).
Otomatik işlem veya hızlı geri alma ile kapatılan Tier-1 uyarılarının oranı.
"Kullanışlı "/" gürültülü "uyarıların oranı> 3:1'dir.
Tüm "para" yollarının sentetik kapsamı = %100.

22) Uygulamalar: mini şablonlar

Prometheus - Durum Sınıfına Göre Kullanılabilirlik

yaml
- record: job:http:availability:ratio_rate5m expr: sum(rate(http_requests_total{status!~"5.."}[5m])) / sum(rate(http_requests_total[5m]))

Grafana - kanaryalar için ipucu


expr: histogram_quantile(0. 95, sum(rate(http_request_duration_seconds_bucket{version=~"stable    canary"}[5m])) by (le,version))

Alertmanager - görev ve sessizlik

yaml receivers:
- name: pager slack_configs:
- channel: "#oncall"
send_resolved: true inhibit_rules:
- source_match: { severity: "critical" }
target_match: { severity: "warning" }
equal: ["service"]

23) Sonuç

İzleme bir dizi grafik değil, SRE işletim sistemidir: Kalite sözleşmesi olarak SLI/SLO, doğruluk kaynağı olarak metrikler/yollar/günlükler, kontrollü bir sinyal olarak uyarılar, bir "kullanıcı sesi'olarak sentetikler, bir değişim disiplini olarak GitOps. Ana bilgisayardan API'ye tek bir döngü oluşturun, sürümlere ve geri dönüşlere bağlayın - platform öngörülebilir, hızlı ve ekonomiktir.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.