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:
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.
checkout-api 5xx hatası veriyor
Alertmanager'dan geldi. Ödeme sayfası hata döndürüyor.
Ö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.
alert.mdlogs/checkout-api.logmetrics/http_5xx.csvdeploys.log14:01:58 ERROR pool exhausted14:02:03 ERROR pool exhausted14:02:09 WARN timeout 30shata oranı, 13:50 - 14:0513:12 b77d01 checkout-api14:00 a41c9e checkout-apiİ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.
Neden: 14:00'teki deploy bağlantı havuzunu küçülttü.
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.
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.
- Observed3× pool exhausted, 14:01:58 - 14:02:09
logs/checkout-api.log:4127 - ObservedDeploy a41c9e 14:00'te, pool.py'yi değiştirdi
deploys.log:12 a41c9e - Observed5xx oranı %0,4'ten %31'e
metrics/http_5xx.csv - Inferreda41c9e havuzu 50'den 10'a düşürdü; trafik havuzu doldurdu.
şüpheli dosya: src/db/pool.py
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.
Bağlantı havuzunu yeniden 50'ye çıkar
ivralo/fix-checkout-pool, 1 dosyaHepsi 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.
İ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.