---
title: 'Çıkarılan Dersler'
source: 'https://academia.sh/tr/kurslar/guvenlik-operasyonlari/cikarilan-dersler'
course: 'Güvenlik Operasyonları ve Olay Müdahalesi'
language: tr
updated: '2026-08-17T18:08:42+00:00'
license: 'CC BY-SA 4.0'
---

# Çıkarılan Dersler

İncelemenin kanıt ve kapsam ekseninde ölçülmesi: on altı sorudan on birinin dokuz kayıt kaynağıyla yanıtlanması, beş sorunun üç ayrı nedenle yanıtsız kalması, on iki iyileştirme kaleminin beşinin doğrudan bir eksik kayda dayanması, yalnız kayıt iyileştirmelerinin 136 kişi-saatle yanıtlı soruyu 16'ya çıkarıp zincirden 22 dakika düşürmesi, hazırlık ve süreç iyileştirmelerinin 103 kişi-saatle 55 dakika kazandırıp hiçbir soru açmaması.

Önceki ders hizmeti geri getirdi ve üretime geçen tutunma noktası beklentisini 0,10'a indirdi. Olay
kapandı. Geriye olayın kendisinin yeniden kurulması kaldı: ne oldu, ne zaman başladı, hangi karar
hangi dakikada verildi ve hangi kalem farklı olsaydı süre kısalırdı.

Bu dersin ölçüsü incelemenin çıktısı değil, incelemenin **kanıt tabanıdır**. Eylem maddesinin
açılması, kapanması ve izlenmesi DevOps ve Gözlemlenebilirlik kursunda ölçüldü; burada ondan önceki
adım sayılır. Bir soru kümesi kurulur, her sorunun yanıtlanması için gereken kayıt kaynakları
yazılır ve şu üç sayı çıkarılır: kaç soru yanıtlanıyor, kaç soru **kayıt olmadığı için** yanıtsız
kalıyor ve açılan iyileştirme kalemlerinin kaçı doğrudan bir eksik kayda dayanıyor.

## Soru Kümesi ve Kayıt Kaynakları

**OM34:** İnceleme olaydan on iki gün sonra yapılır; ilk tutunma dokuz gün öncedir. **OM35:** On
altı soru vardır; her soru bir ya da iki kayıt kaynağı ister ve kaçıncı güne bakması gerektiği
bellidir. **OM36:** Dokuz kayıt kaynağının her birinin üç özelliği vardır — var mı, saklama süresi
kaç gün ve sınırlama ile kurtarmadan sonra duruyor mu. **OM37:** Bir soru, gerektirdiği kaynakların
hepsi kullanılabilir olduğunda yanıtlanır; kaynak yoksa, saklama süresi sorunun baktığı günü
kapsamıyorsa ya da kaynak sınırlamada silinmişse soru yanıtsız kalır. **OM38:** On iki iyileştirme
kalemi vardır; her biri ya doğrudan bir eksik kayda dayanır, ya bir hazırlık kalemini tazeler, ya da
bir süreç adımını bağlar. **OM39:** Her kalemin yıllık kişi-saat bedeli ve karar zincirinden
düşürdüğü dakika bir veridir; dakika değerleri zincirin yeniden koşturulmasından gelir. **OM40:**
Karar zincirinin başlangıç değeri birinci dersteki tam hazırlık değeridir: 182 dakika.

```js
// dersler/model.mjs — cikarilan dersler modeli: gercek bir olay kaydi ya da inceleme yok.
// Soru kumesi, kayit kaynaklari ve iyilestirme kalemleri veri yapisidir.

export const OLAY_YAS = 12, ILK_TUTUNMA = 9;   // inceleme gunu; ilk tutunma kac gun once

// kayit kaynagi: ad -> { var mi, saklama gunu, sinirlama ve kurtarmadan sonra duruyor mu }
export const KAYNAK = {
  surec: { ad: "surec olusturma kaydi", var: true, saklama: 14, kalici: true },
  kimlik: { ad: "kimlik dogrulama gunlugu", var: true, saklama: 90, kalici: true },
  ag: { ad: "ag akis verisi", var: true, saklama: 30, kalici: true },
  uygulama: { ad: "uygulama denetim kaydi", var: true, saklama: 7, kalici: true },
  tespit: { ad: "tespit hatti kaydi", var: true, saklama: 30, kalici: true },
  mudahale: { ad: "mudahale kutugu", var: true, saklama: 365, kalici: true },
  dosya: { ad: "dosya butunlugu izleme", var: false, saklama: 0, kalici: false },
  veri: { ad: "veri erisim kaydi", var: false, saklama: 0, kalici: false },
  bellek: { ad: "bellek dokumu", var: true, saklama: 365, kalici: false },
};

// soru: metin, gerekli kaynaklar, sorunun bakmasi gereken gun (kac gun once)
export const SORU = [
  ["ilk calistirma hangi varlikta ve ne zaman", ["surec"], 9],
  ["ilk erisim hangi kimlikle saglandi", ["kimlik"], 9],
  ["hizmet hesabi hangi varliklarda kullanildi", ["kimlik", "ag"], 9],
  ["toplayici-07 ve -11 gercekten etkilendi mi", ["surec"], 0],
  ["disari hangi hacimde veri aktarildi", ["ag"], 0],
  ["fatura arsivini hangi hesap okudu", ["uygulama"], 9],
  ["son gunun uygulama erisimleri neydi", ["uygulama"], 3],
  ["kalicilik noktalari ne zaman kuruldu", ["dosya"], 9],
  ["yapilandirma kancalari hangi anda eklendi", ["bellek", "dosya"], 9],
  ["uyari neden 186. dakikada dustu", ["tespit"], 0],
  ["daha erken dusebilecek bir kural var miydi", ["tespit", "surec"], 0],
  ["kapsam karari hangi veriye dayandi", ["mudahale"], 0],
  ["sinirlama hangi dakikada uygulandi", ["mudahale"], 0],
  ["kesilen mesru is ne kadar surdu", ["mudahale", "uygulama"], 0],
  ["kacirilan noktalar ne zaman kuruldu", ["bellek", "dosya"], 9],
  ["hangi abone kayitlari okundu", ["veri"], 9],
];

// bir kaynagin soruyu yanitlayamama nedeni
export function neden(k, gun) {
  const s = KAYNAK[k];
  if (!s.var) return "kaynak yok";
  if (!s.kalici) return "sinirlamada silindi";
  if (gun > s.saklama) return "saklama yetmedi";
  return null;
}
export function yanit(soru, eklenen = []) {
  const [, gerekli, gun] = soru;
  const eksik = gerekli.filter((k) => !eklenen.includes(k) && neden(k, gun));
  return { yanitli: eksik.length === 0,
    nedenler: eksik.map((k) => `${k}: ${neden(k, gun)}`) };
}
export const yanitli = (eklenen = []) => SORU.filter((s) => yanit(s, eklenen).yanitli).length;

// iyilestirme kalemi: ad, dayandigi eksik (kaynak anahtari ya da hazirlik kalemi),
// tur, yillik kisi-saat, karar zincirinden dusurdugu dakika
export const IYILESTIRME = [
  ["dosya butunlugu izlemeyi acma", "dosya", "kayit", 34, 0],
  ["veri erisim kaydini acma", "veri", "kayit", 46, 0],
  ["uygulama saklamasini 30 gune cikarma", "uygulama", "kayit", 12, 0],
  ["sinirlamadan once bellek alma", "bellek", "kayit", 18, 0],
  ["toplayici-07..12'ye surec kaydi", "surec", "kayit", 26, 22],
  ["varlik envanterini guncel tutma", "-", "hazirlik", 24, 10],
  ["iletisim agacini tazeleme", "-", "hazirlik", 6, 6],
  ["yetki matrisini tazeleme", "-", "hazirlik", 8, 8],
  ["kayit kaynagi haritasini cikarma", "-", "hazirlik", 12, 7],
  ["ceyrekte bir masa basi tatbikati", "-", "hazirlik", 30, 9],
  ["sinirlama eylemlerini yordama baglama", "-", "surec", 14, 8],
  ["kapsam olcutunu gostergeye cevirme", "-", "surec", 9, 7],
];
export const ZINCIR_TABAN = 182, UYARI = 186;  // birinci dersteki tam hazirlik zinciri
// erisim egrisi: [dakika, varlik] (onceki derslerle ayni veri)
export const ERISIM = [[0, "toplayici-03"], [26, "toplayici-03"], [58, "dogrulayici-01"],
  [95, "toplayici-07"], [134, "toplayici-11"], [171, "dogrulayici-02"], [214, "faturalama-01"],
  [263, "portal-01"], [318, "isemri-01"], [372, "uc-01"], [441, "depo-01"],
  [505, "faturalama-01"], [588, "toplayici-09"], [676, "konsol-01"], [762, "portal-02"],
  [845, "depo-01"], [951, "faturalama-02"], [1088, "konsol-01"]];
export const kalem = (dk) => ERISIM.filter(([t]) => t <= dk).length;

// secilen iyilestirme kumesi: yanitli soru, zincir dakikasi, sinirlama ani, erisilen kalem
export function uygula(secili) {
  const k = IYILESTIRME.filter(([ad]) => secili.includes(ad));
  const eklenen = k.filter((x) => x[2] === "kayit").map((x) => x[1]);
  const zincir = ZINCIR_TABAN - k.reduce((s, x) => s + x[4], 0);
  return { kalem: k.length, yanit: yanitli(eklenen), zincir, sinirlama: UYARI + zincir,
    erisilen: kalem(UYARI + zincir), saat: k.reduce((s, x) => s + x[3], 0) };
}
```

Ölçüm dosyası önce kaynakları ve soruları eşleştirir, sonra iyileştirme kümelerini uygulayıp
yanıtlı soru sayısıyla zincir dakikasını birlikte çıkarır.

```js
// dersler/olc.mjs — hangi soru kayit olmadigi icin yanitsiz kaliyor, yanitsizligin nedeni
// ne ve acilan iyilestirme kalemlerinin kaci dogrudan bir eksik kayda dayaniyor.
import { OLAY_YAS, KAYNAK, SORU, IYILESTIRME, ZINCIR_TABAN, neden, yanit, yanitli,
  uygula } from "./model.mjs";

const yaz = (g, ...s) => console.log(s.map((v, i) =>
  (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join(""));
const t0 = process.hrtime.bigint();

console.log(`inceleme olaydan ${OLAY_YAS} gun sonra yapiliyor; ${SORU.length} soru, ` +
  `${Object.keys(KAYNAK).length} kayit kaynagi`);

console.log("\n1. kayit kaynaklari");
const A = [-26, 7, 10, 9, 10, 12];
yaz(A, "kaynak", "var", "saklama", "kalici", "gerekli", "engelledigi");
for (const [k, s] of Object.entries(KAYNAK)) {
  const gerekli = SORU.filter(([, g]) => g.includes(k));
  const engel = gerekli.filter(([, , gun]) => neden(k, gun));
  yaz(A, s.ad, s.var ? "evet" : "hayir", s.var ? s.saklama + " gun" : "-",
    s.kalici ? "evet" : "hayir", gerekli.length, engel.length);
}

console.log("\n2. yanitsiz sorular ve nedeni");
const B = [-4, -42, -34];
for (const s of SORU) {
  const y = yanit(s);
  if (!y.yanitli) yaz(B, "", s[0], y.nedenler.join("; "));
}
console.log(`  yanitli ${yanitli()}/${SORU.length}`);

console.log("\n3. iyilestirme kalemleri");
const C = [-38, 10, 17, 12, 11];
yaz(C, "kalem", "tur", "dayandigi eksik", "yil s-saat", "zincir dk");
for (const [ad, eksik, tur, saat, dk] of IYILESTIRME)
  yaz(C, ad, tur, eksik === "-" ? "-" : KAYNAK[eksik].ad.split(" ")[0], saat, dk || "-");
const kayitKalem = IYILESTIRME.filter((x) => x[2] === "kayit").length;
console.log(`  dogrudan bir eksik kayda dayanan kalem: ${kayitKalem}/${IYILESTIRME.length}`);

console.log("\n4. iyilestirme kumeleri uygulandiginda");
const D = [-24, 8, 10, 11, 12, 11, 12];
yaz(D, "kume", "kalem", "yanitli", "zincir dk", "sinirlama", "erisilen", "yil s-saat");
const ad = (t) => IYILESTIRME.filter((x) => t.includes(x[2])).map((x) => x[0]);
const KUME = { "hicbiri": [], "yalniz kayit": ad(["kayit"]),
  "hazirlik + surec": ad(["hazirlik", "surec"]), "hepsi": ad(["kayit", "hazirlik", "surec"]) };
for (const [k, secili] of Object.entries(KUME)) {
  const r = uygula(secili);
  yaz(D, k, r.kalem, `${r.yanit}/${SORU.length}`, r.zincir, r.sinirlama,
    `${r.erisilen}/18`, r.saat);
}

console.log("\n5. iki eksenin birbirine cevrilemedigi yer");
const kayitR = uygula(KUME["yalniz kayit"]), hazirR = uygula(KUME["hazirlik + surec"]);
const E = [-20, 12, 14, 15, -22];
yaz(E, "kume", "yil s-saat", "acilan soru", "kazanilan dk", "  birim basina s-saat");
yaz(E, "yalniz kayit", kayitR.saat, kayitR.yanit - yanitli(), ZINCIR_TABAN - kayitR.zincir,
  `  ${(kayitR.saat / (kayitR.yanit - yanitli())).toFixed(1)} / soru`);
yaz(E, "hazirlik + surec", hazirR.saat, hazirR.yanit - yanitli(), ZINCIR_TABAN - hazirR.zincir,
  `  ${(hazirR.saat / (ZINCIR_TABAN - hazirR.zincir)).toFixed(1)} / dakika`);

const ms = Number(process.hrtime.bigint() - t0) / 1e6;   // ham olcum basilmaz, bant denetlenir
console.log(`\ndort kume ve soru taramasi 500 ms bandinda: ${ms < 500 ? "evet" : "hayir"}`);
```

```
inceleme olaydan 12 gun sonra yapiliyor; 16 soru, 9 kayit kaynagi

1. kayit kaynaklari
kaynak                        var   saklama   kalici   gerekli engelledigi
surec olusturma kaydi        evet    14 gun     evet         3           0
kimlik dogrulama gunlugu     evet    90 gun     evet         2           0
ag akis verisi               evet    30 gun     evet         2           0
uygulama denetim kaydi       evet     7 gun     evet         3           1
tespit hatti kaydi           evet    30 gun     evet         2           0
mudahale kutugu              evet   365 gun     evet         3           0
dosya butunlugu izleme      hayir         -    hayir         3           3
veri erisim kaydi           hayir         -    hayir         1           1
bellek dokumu                evet   365 gun    hayir         2           2

2. yanitsiz sorular ve nedeni
    fatura arsivini hangi hesap okudu         uygulama: saklama yetmedi         
    kalicilik noktalari ne zaman kuruldu      dosya: kaynak yok                 
    yapilandirma kancalari hangi anda eklendi bellek: sinirlamada silindi; dosya: kaynak yok
    kacirilan noktalar ne zaman kuruldu       bellek: sinirlamada silindi; dosya: kaynak yok
    hangi abone kayitlari okundu              veri: kaynak yok                  
  yanitli 11/16

3. iyilestirme kalemleri
kalem                                        tur  dayandigi eksik  yil s-saat  zincir dk
dosya butunlugu izlemeyi acma              kayit            dosya          34          -
veri erisim kaydini acma                   kayit             veri          46          -
uygulama saklamasini 30 gune cikarma       kayit         uygulama          12          -
sinirlamadan once bellek alma              kayit           bellek          18          -
toplayici-07..12'ye surec kaydi            kayit            surec          26         22
varlik envanterini guncel tutma         hazirlik                -          24         10
iletisim agacini tazeleme               hazirlik                -           6          6
yetki matrisini tazeleme                hazirlik                -           8          8
kayit kaynagi haritasini cikarma        hazirlik                -          12          7
ceyrekte bir masa basi tatbikati        hazirlik                -          30          9
sinirlama eylemlerini yordama baglama      surec                -          14          8
kapsam olcutunu gostergeye cevirme         surec                -           9          7
  dogrudan bir eksik kayda dayanan kalem: 5/12

4. iyilestirme kumeleri uygulandiginda
kume                       kalem   yanitli  zincir dk   sinirlama   erisilen  yil s-saat
hicbiri                        0     11/16        182         368       9/18           0
yalniz kayit                   5     16/16        160         346       9/18         136
hazirlik + surec               7     11/16        127         313       8/18         103
hepsi                         12     16/16        105         291       8/18         239

5. iki eksenin birbirine cevrilemedigi yer
kume                  yil s-saat   acilan soru   kazanilan dk  birim basina s-saat 
yalniz kayit                 136             5             22  27.2 / soru         
hazirlik + surec             103             0             55  1.9 / dakika        

dort kume ve soru taramasi 500 ms bandinda: evet
```
Sayılar **ölçüm** sınıfındadır; girdileri yukarıdaki varsayımlardır.

## On Birinin Yanıtı Var

Birinci tablo kaynakları sayar. Altı kaynak vardır ve kalıcıdır: süreç oluşturma kaydı, kimlik
doğrulama günlüğü, ağ akış verisi, uygulama denetim kaydı, tespit hattı kaydı ve müdahale kütüğü.
Son sütun her kaynağın kaç soruyu **engellediğini** verir. Dosya bütünlüğü izleme üç soruda gerekli
ve üçünü de engeller, çünkü hiç yoktur. Bellek dökümü iki soruda gerekli ve ikisini de engeller,
çünkü kalıcı değildir. Uygulama denetim kaydı üç soruda gerekli ve yalnız birini engeller — o soru
dokuz gün öncesine bakar, saklama ise yedi gündür.

İkinci tablo yanıtsız beş soruyu nedeniyle yazar ve neden üç ayrı türdedir. **Kaynak yok:**
kalıcılık noktalarının ne zaman kurulduğu ve hangi abone kayıtlarının okunduğu soruları, dosya
bütünlüğü izleme ile veri erişim kaydı hiç açılmadığı için yanıtsızdır. **Saklama yetmedi:** fatura
arşivini hangi hesabın okuduğu, uygulama kaydının yedi günlük penceresi dışında kaldığı için
yanıtsızdır — kaynak vardı, kayıt vardı, ama silinmişti. **Sınırlamada silindi:** yapılandırma
kancalarının ve kaçırılan noktaların ne zaman kurulduğu soruları, bellek dökümü alınmadan varlıklar
ağdan alındığı için yanıtsızdır.

Bu üçüncü neden bu konunun içinden çıkar. Üçüncü derste kısa vadeli sınırlama erişimi 393. dakikada
durdurdu ve beş kalem kazandırdı; dördüncü derste aynı karar bellek incelemesini yedi varlıkta
imkânsız kıldı ve üç yapılandırma kancasını kaçırttı. Burada aynı kararın üçüncü karşılığı görünür:
iki inceleme sorusu bir daha yanıtlanamaz. **Sınırlama kararının bedeli üç ayrı derste, üç ayrı
birimde ödenir.**

## Beşi Kayda Dayanıyor

Üçüncü tablo on iki iyileştirme kalemini listeler. Beşi doğrudan bir eksik kayda dayanır: dosya
bütünlüğü izlemeyi açmak, veri erişim kaydını açmak, uygulama saklamasını otuz güne çıkarmak,
sınırlamadan önce bellek almak ve süreç kaydı iletmeyen altı toplayıcıya kayıt eklemek. Beşi
hazırlık kalemlerini tazeler, ikisi bir süreç adımını bağlar. **On iki kalemin beşi bir kayıt
eksikliğinin doğrudan sonucudur.**

Dördüncü tablo kümeleri uygular. Yalnız kayıt iyileştirmeleri beş kalem ve yılda 136 kişi-saat
tutar; yanıtlı soru 11'den **16'ya** çıkar ve zincir 182'den 160 dakikaya iner — tek dakika kazancı
süreç kaydı eklemekten gelir. Hazırlık ve süreç iyileştirmeleri yedi kalem ve 103 kişi-saat tutar;
zincir 127 dakikaya, sınırlama 313. dakikaya iner ve erişilen kalem dokuzdan sekize düşer, ama
yanıtlı soru sayısı **11'de kalır**. Hepsi birlikte 239 kişi-saat, 105 dakikalık zincir ve 16/16
yanıt verir.

## İki Eksen

Beşinci tablo iki kümenin birbirine çevrilemediğini gösterir. Kayıt iyileştirmeleri soru başına
27,2 kişi-saat tutar ve zincirden yalnız 22 dakika düşürür. Hazırlık ve süreç iyileştirmeleri dakika
başına 1,9 kişi-saat tutar ve hiçbir soru açmaz. Aynı bütçe iki farklı şey satın alır: biri **bir
sonraki olayı daha hızlı durdurmayı**, öteki **bu olayı daha iyi anlatmayı**.

İkisi arasında bir sıra kurmak bu modelin işi değildir, ama bir gözlem yapılabilir. Kayıt
iyileştirmelerinden biri — sınırlamadan önce bellek alma — on sekiz kişi-saatle iki soruyu açar ve
zincire hiçbir dakika eklemez; buna karşılık sınırlamayı geciktirir ve o gecikmenin bedeli üçüncü
derste ölçüldü. Bir iyileştirme kalemi, açtığı sorunun ötesinde başka bir eksende bir bedel taşıyorsa,
o bedel de listeye yazılmadıkça kalem eksik ölçülmüştür.

## Özet

- On altı inceleme sorusundan on biri dokuz kayıt kaynağıyla yanıtlanır; beşi yanıtsız kalır.
- Yanıtsızlığın üç nedeni ayrı ayrı sayılır: iki soruda kaynak hiç yoktur, bir soruda saklama
  süresi yetmemiştir, iki soruda kaynak sınırlamada silinmiştir.
- Sınırlama kararının bedeli üçüncü derste beş kalem, dördüncü derste üç kaçırılan tutunma noktası,
  burada iki yanıtsız sorudur.
- On iki iyileştirme kaleminin beşi doğrudan bir eksik kayda dayanır; beşi hazırlık kalemini
  tazeler, ikisi bir süreç adımını bağlar.
- Yalnız kayıt iyileştirmeleri 136 kişi-saatle yanıtlı soruyu 16/16'ya çıkarır ve zincirden 22
  dakika düşürür; hazırlık ve süreç iyileştirmeleri 103 kişi-saatle 55 dakika kazandırır ve hiçbir
  soru açmaz.

## Sonraki Adım

İnceleme yanıtlarını çıkardı, iyileştirme kalemlerini yazdı ve bedellerini saydı. Bütün bunlar
kurumun içinde kaldı. Olayın dışarıya bakan bir yüzü daha vardır: kimin haberdar edilmesi gerektiği,
hangi eşikte, hangi sürede. Sonraki ders bunu süre ve paydaş sayısı olarak ölçer — kaç paydaş var,
hangi eşikte bildirim başlıyor, kapsam kesinleşmeden yapılan bildirim kaç düzeltme üretiyor ve
gecikmenin bedeli kaç saattir.
