İçeriğe geç
ivralo

Nasıl çalışır

ivralo bir dedektif gibi çalışır.

Bir şey bozulduğunda önüne konan ipuçlarını okur, sıraya dizer, tahminini kontrol eder ve ne bulduğunu kanıtıyla anlatır. Son kararı hep siz verirsiniz. Altı adımda, en sade haliyle:

  1. 1Alarm çalar
  2. 2İpuçlarını okur
  3. 3Sıraya dizer
  4. 4Kontrol eder
  5. 5Rapor yazar
  6. 6Kararı size bırakır
Adım 1

Bir şey bozulur, alarm çalar.

Şöyle düşününEvde duman dedektörü öttüğünde biri kalkıp neler olduğuna bakar. ivralo, o kalkıp bakan kişidir.

Sitenizde bir şey ters gittiğinde, sistemlerinizi izleyen araç bir alarm gönderir. ivralo alarmı duyar duymaz incelemeye başlar. Aynı alarm tekrar çalarsa yeni bir inceleme açmaz, var olana ekler.

FIRING 14:02:11

checkout-api 5xx hatası veriyor

Alertmanager'dan geldi. Ödeme sayfası hata döndürüyor.

ivralo uyandı: inceleme 3fa2c91b başladı
Adım 2

Önüne konan ipuçlarını okur.

Şöyle düşününDedektif parmak izi toplamaya kendisi çıkmaz. Olay yerinden toplanan deliller ona getirilir, o da onları inceler.

Sistemin tuttuğu günlükler (log), işlerin nasıl gittiğini ateş ölçer gibi gösteren sayılar (metrik) ve en son yapılan değişiklikler (deploy) bir klasöre konur. Bunu ekibiniz ya da kurduğunuz otomatik bir adım yapar. ivralo dışarıdan bir şey çekmez; önüne konanı okur.

incident/ kanıt paketi, pipeline'ınız ya da ekibiniz koyar
alert.mdlogs/checkout-api.logmetrics/http_5xx.csvdeploys.log
Log'lar paketten
14:01:58 ERROR pool exhausted14:02:03 ERROR pool exhausted14:02:09 WARN timeout 30s
Metrikler paketten
hata oranı, 13:50 - 14:05
Deploy'lar paketten
13:12 b77d01 checkout-api14:00 a41c9e checkout-api
Adım 3

İpuçlarını sıraya dizer.

Şöyle düşününKurabiye kavanozu boşalmış. Saat üçte doluydu, dörtte biri mutfağa girdi, beşte boştu. Sırayla dizince cevap ortaya çıkar.

ivralo bulduğu her şeyi bir zaman çizelgesine koyar. Hangi olayın hangisinden önce geldiğini görünce, sorunun nerede başladığı belli olur.

13:58her şey normal
14:00deploy a41c9e
14:01ilk hata
14:02alarm

Neden: 14:00'teki deploy bağlantı havuzunu küçülttü.

Adım 4

Tahminini kodla karşılaştırır.

Şöyle düşününİyi bir dedektif "galiba o yaptı" demekle yetinmez, kavanozdaki parmak izine bakar.

ivralo son değişikliğin kodda neyi değiştirdiğini bulur ve bulduğu nedeni onun yanına koyar. Kanıt yetmediğinde "yetersiz kanıt" der; tahmini kesin bilgi gibi sunmaz.

a41c9e src/db/pool.py
87pool = create_pool(
88- max_size=50,
88+ max_size=10,
DIAGNOSED: neden kodda, dosya repo'da
Adım 5

Ne bulduğunu kanıtıyla yazar.

Şöyle düşününÖdevin sonuna kaynakça eklemek gibi: her cümlenin nereden geldiği yazılıdır, isteyen gidip bakar.

ivralo kısa bir rapor yazar. Gözlediği her şey kaynağıyla birlikte yazılır, bundan çıkardığı sonuç ayrı yazılır. Sayıları kod hesaplar, alıntıladığı satırları da kod çeker.

report.md DIAGNOSED
  • Observed3× pool exhausted, 14:01:58 - 14:02:09logs/checkout-api.log:4127
  • ObservedDeploy a41c9e 14:00'te, pool.py'yi değiştirdideploys.log:12 a41c9e
  • Observed5xx oranı %0,4'ten %31'emetrics/http_5xx.csv
  • Inferreda41c9e havuzu 50'den 10'a düşürdü; trafik havuzu doldurdu.şüpheli dosya: src/db/pool.py
Adım 6

Kararı size bırakır.

Şöyle düşününDedektif suçluyu bulur, ama kararı hakim verir.

ivralo kodu kendi başına değiştirmez, canlıya hiçbir şey çıkarmaz. Yakında bulduğu nedene göre bir düzeltme taslağı da hazırlayacak; o taslağı ekibinizden biri inceleyip kabul edecek ya da etmeyecek.

taslak pull requestyakında

Bağlantı havuzunu yeniden 50'ye çıkar

ivralo/fix-checkout-pool, 1 dosya
ivralo hazırlarSiz karar verirsiniz

Hepsi sizin evinizin içinde olur.

ivralo eve gelen bir misafir değil, evde yaşayan biri. Kapıyı kimin açacağına siz karar verirsiniz.

Sizin ağınız
ivralo
Seçtiğiniz model
Kodunuz ve repo'nuz
Raporlar ve kayıtlar
Dışarısı

İnternet. ivralo dışarı çıkmak isterse önce kapıda durur: izin verdiyseniz geçer, vermediyseniz geçemez.

Kapıdaki kural: egress politikası, yani dışarı çıkış kuralı

Zor kelimeler, kolay anlamları

Bu sayfada geçen kelimelerin tek cümlelik karşılıkları.

Alarm
"Bir şey bozuldu" diyen otomatik uyarı.
Incident
Production'da yaşanan bir sorun; ivralo her biri için bir inceleme açar.
Kanıt paketi
ivralo'nun okuduğu log, metrik ve deploy kayıtlarının bulunduğu klasör.
Log
Sistemin saat saat tuttuğu günlük.
Metrik
İşlerin ne kadar iyi gittiğini söyleyen sayılar.
Deploy
Kodun yeni halini canlıya çıkarmak.
Pull request
"Kodda şunu değiştirelim mi?" diye sorulan, bir insanın onayladığı öneri.
Model
ivralo'nun düşünmek için kullandığı yapay zekâ; hangisi olacağını siz seçersiniz.
Egress politikası
Ağınızdan dışarı neyin çıkabileceğini belirleyen kural.

Güvendiğiniz makinede çalıştırın.

ivralo açık kaynak değil. Geliştirme sürerken erişim davetle veriliyor ve ivralo sizin ağınıza kuruluyor.