---
title: 'Olay Günlükleri'
source: 'https://academia.sh/tr/kurslar/uc-nokta-guvenligi/olay-gunlukleri'
course: 'Uç Nokta ve Sistem Sertleştirme'
language: tr
updated: '2026-08-17T18:08:35+00:00'
license: 'CC BY-SA 4.0'
---

# Olay Günlükleri

Kurgu bir uç filosunda on iki tutunma noktası türü yedi günlük kaynağına karşı ölçülür: varsayılan yapılandırmada 3.078 (makine, tür) çiftinin 932'si adıyla görünüyor, 1.092'si hiçbir kaynakta yok; bütün kaynaklar açıldığında adıyla görünen 2.356'ya çıkıyor, 250 çift kör kalıyor ve bedeli günde 10,2 milyon ek kayıt ile rol profili başına 5 yapılandırma kalemi.

Bir önceki ders kalıcılık mekanizmalarını tür tür saydı ve koruma katmanlarının her birinin
kaçırdığını yazdı. Kaçırılan bir şeyin kaçırıldığını gösterebilecek tek şey bir kayıttır: koruma
durduramadıysa, geriye yalnız gördüğü kalır. Bu konu o kayıtları ölçer ve ilk soru en yalın
olanıdır — uçtaki bir tutunma noktası kurulduğunda, bunu hangi kaynak yazar.

Bu konunun ölçüsü **görünürlüktür** ve iki sütunu birbirine karıştırmamak gerekir. Bir kayıt ya
kalemi **adıyla** yazar (hangi zamanlanmış görev, hangi servis tanımı, hangi oturum betiği) ya da
yalnız bir şeyin olduğunu gösterir: oturum açıldı, bir süreç başladı, bir yapılandırma değişti.
İkincisi soruşturmayı başlatır, yanıtlamaz. Aşağıdaki ölçüm bir **modeldir** ve bölgesel ölçüm ağı
**kurgudur**; ürün adı değil, kaynak türü kullanılır.

- **SG1.** Uç filosu kurgudur: 84 saha dizüstü, 46 şube ucu, 120 sayaç toplayıcı makinesi, 18
  merkezî işleme sunucusu. Platform aileleri Bilgi Teknolojileri ve Sistem Temelleri kursundaki
  gibi güvenlik modeliyle anılır: ayrık kullanıcı ve grup izni taşıyan aile, erişim denetim listesi
  taşıyan aile, imzalı uygulama deposuna dayanan aile.
- **SG2.** Tutunma noktası türü on ikidir ve her tür her ailede bulunmaz; erişim denetim listesi
  taşıyan ailede üç tür karşılıksızdır.
- **SG3.** Bir kaynak bir türü **tam** görür (kalemi adıyla yazar), **dolaylı** görür (olay kayda
  düşer, kalem adsız kalır) ya da hiç görmez.
- **SG4.** İki kaynak varsayılan olarak kapalıdır: süreç oluşturma kaydı ve zamanlayıcı kaydı.
  Açılmaları yapılandırma kalemi ister ve hacim getirir. Günlük hacimler makine başına ortalamadır
  ve kurgudur.
- **SG5.** Uygulama denetim kaydı yalnız uygulama çalıştıran makinelerde, yönetim düzlemi denetim
  günlüğü yalnız merkezden yönetilen makinelerde vardır. İkisi de önceki kurslarda ölçülmüştür;
  burada yalnız birer kaynaktır.

## Kaynakların Gördüğü

```js
// kaynak.mjs — gunluk kaynaklari ile tutunma noktasi turleri arasindaki kapsam. MODELDIR.
// Bolgesel olcum agi KURGUDUR; gercek kurum, gercek makine ve urun adi yazilmaz.

// Tutunma noktasi turu -> hangi platform ailelerinde var.
// a: ayrik kullanici ve grup izni tasiyan aile, e: erisim denetim listesi tasiyan aile,
// i: imzali uygulama deposuna dayanan aile.
export const NOKTA = {
  "acilis girisi": "aei", "sistem servis tanimi": "aei", "kullanici servis tanimi": "ai",
  "zamanlanmis gorev": "aei", "oturum betigi": "aei", "masaustu acilis girdisi": "aei",
  "paket kurulum kancasi": "ai", "cekirdek modulu": "aei", "yukleyici onyukleme ayari": "ai",
  "yonetim ajani eklentisi": "aei", "uygulama ici zamanlanmis is": "aei",
  "bellenim acilis girdisi": "aei",
};

// Kaynak: varsayilan acik mi, gunluk kayit/makine (kurgu), acmanin yapilandirma kalemi,
// gordugu tur -> "tam" (kalemi adiyla yazar) ya da "dolayli" (olay gorunur, kalem adsiz).
export const KAYNAK = {
  "sistem olay gunlugu": { acik: true, hacim: 4200, kalem: 0, gorur: {
    "sistem servis tanimi": "tam", "cekirdek modulu": "tam",
    "acilis girisi": "dolayli", "yonetim ajani eklentisi": "dolayli" } },
  "kimlik dogrulama gunlugu": { acik: true, hacim: 1900, kalem: 0, gorur: {
    "oturum betigi": "dolayli", "masaustu acilis girdisi": "dolayli" } },
  "surec olusturma kaydi": { acik: false, hacim: 38000, kalem: 3, gorur: {
    "acilis girisi": "tam", "sistem servis tanimi": "tam", "kullanici servis tanimi": "tam",
    "zamanlanmis gorev": "tam", "oturum betigi": "tam", "masaustu acilis girdisi": "tam",
    "paket kurulum kancasi": "tam", "uygulama ici zamanlanmis is": "tam",
    "yukleyici onyukleme ayari": "dolayli", "cekirdek modulu": "dolayli",
    "yonetim ajani eklentisi": "dolayli" } },
  "paket ve yukleme kaydi": { acik: true, hacim: 40, kalem: 0, gorur: {
    "paket kurulum kancasi": "tam", "cekirdek modulu": "dolayli" } },
  "zamanlayici kaydi": { acik: false, hacim: 320, kalem: 2, gorur: {
    "zamanlanmis gorev": "tam" } },
  "uygulama denetim kaydi": { acik: true, hacim: 2400, kalem: 0, gorur: {
    "uygulama ici zamanlanmis is": "tam" } },
  "yonetim duzlemi denetim gunlugu": { acik: true, hacim: 60, kalem: 0, gorur: {
    "yonetim ajani eklentisi": "tam", "bellenim acilis girdisi": "tam" } },
};

// Makine grubu: aile, makine sayisi, uzerinde bulunan kaynaklar (kurgu envanter).
export const GRUP = [
  ["saha dizustu", "i", 84, ["sistem olay gunlugu", "kimlik dogrulama gunlugu",
    "surec olusturma kaydi", "paket ve yukleme kaydi", "zamanlayici kaydi"]],
  ["sube ucu", "e", 46, ["sistem olay gunlugu", "kimlik dogrulama gunlugu",
    "surec olusturma kaydi", "paket ve yukleme kaydi", "zamanlayici kaydi"]],
  ["sayac toplayici", "a", 120, ["sistem olay gunlugu", "kimlik dogrulama gunlugu",
    "surec olusturma kaydi", "paket ve yukleme kaydi", "zamanlayici kaydi",
    "uygulama denetim kaydi"]],
  ["merkezi isleme", "a", 18, Object.keys(KAYNAK)],
];

// Bir grupta bir tur: acik kaynaklarin en iyisi "tam", "dolayli" ya da "yok".
export const gorunum = (tur, kaynaklar, hepsiAcik) => {
  let en = "yok";
  for (const k of kaynaklar) {
    if (!hepsiAcik && !KAYNAK[k].acik) continue;
    const g = KAYNAK[k].gorur[tur];
    if (g === "tam") return "tam";
    if (g === "dolayli") en = "dolayli";
  }
  return en;
};
export const turler = (aile) => Object.keys(NOKTA).filter((t) => NOKTA[t].includes(aile));

const gen = (B) => (h) => h.map((v, j) => (j ? String(v).padStart(B[j])
  : String(v).padEnd(B[0]))).join("");
const yz = gen([33, 12, 8, 11, 9, 16]);

if (import.meta.url === `file://${process.argv[1]}`) {
  console.log(`model: ${Object.keys(NOKTA).length} tutunma noktasi turu, ` +
    `${Object.keys(KAYNAK).length} gunluk kaynagi, ${GRUP.length} makine grubu (kurgu)`);
  console.log(yz(["gunluk kaynagi", "varsayilan", "tam", "dolayli", "gormez",
    "kayit/gun/mak."]));
  for (const [ad, k] of Object.entries(KAYNAK)) {
    const d = Object.values(k.gorur);
    console.log(yz([ad, k.acik ? "acik" : "kapali", d.filter((x) => x === "tam").length,
      d.filter((x) => x === "dolayli").length,
      Object.keys(NOKTA).length - d.length, k.hacim]));
  }
  const varsayilan = Object.keys(NOKTA).filter((t) =>
    gorunum(t, Object.keys(KAYNAK), false) === "yok");
  const hepsi = Object.keys(NOKTA).filter((t) =>
    gorunum(t, Object.keys(KAYNAK), true) !== "tam");
  console.log(`\nbutun kaynaklar acikken hicbir kaynagin adiyla yazmadigi tur: ` +
    `${hepsi.length} (${hepsi.join(", ")})`);
  console.log(`varsayilan acik kaynaklarla hicbir kayit birakmayan tur: ` +
    `${varsayilan.length} (${varsayilan.join(", ")})`);
}
```

```
model: 12 tutunma noktasi turu, 7 gunluk kaynagi, 4 makine grubu (kurgu)
gunluk kaynagi                     varsayilan     tam    dolayli   gormez  kayit/gun/mak.
sistem olay gunlugu                      acik       2          2        8            4200
kimlik dogrulama gunlugu                 acik       0          2       10            1900
surec olusturma kaydi                  kapali       8          3        1           38000
paket ve yukleme kaydi                   acik       1          1       10              40
zamanlayici kaydi                      kapali       1          0       11             320
uygulama denetim kaydi                   acik       1          0       11            2400
yonetim duzlemi denetim gunlugu          acik       2          0       10              60

butun kaynaklar acikken hicbir kaynagin adiyla yazmadigi tur: 1 (yukleyici onyukleme ayari)
varsayilan acik kaynaklarla hicbir kayit birakmayan tur: 3 (kullanici servis tanimi, zamanlanmis gorev, yukleyici onyukleme ayari)
```

Tabloda dikkat çeken ilk şey, varsayılan olarak açık olan dört kaynağın hiçbirinin geniş olmamasıdır.
Sistem olay günlüğü on iki türden ikisini adıyla yazar, kimlik doğrulama günlüğü **hiçbirini**
yazmaz — o kaynağın işi kalem izlemek değil, oturum izlemektir ve iki türü yalnız dolaylı görür.
Paket ve yükleme kaydı bir tür yazar. Varsayılan yapılandırmanın kapsamı bu üç satırdır.

Sekiz türü adıyla yazan tek kaynak **kapalı** olandır. Süreç oluşturma kaydı geniştir çünkü
tutunma noktalarının ortak yanı sonunda bir şey **çalıştırmalarıdır**; kalemi kuran işlem de,
kalemin çalıştırdığı iş de bir süreç yaratır. Aynı satır bedeli de taşıyor: makine başına günde
38.000 kayıt, öteki altı kaynağın toplamının dört katından fazla.

Son iki satır iki türü kurtarıyor. Uygulama içi zamanlanmış iş yalnız uygulamanın kendi denetim
kaydında görünür; yönetim ajanı eklentisi ile bellenim açılış girdisi yalnız yönetim düzlemi
denetim günlüğünde. Bunlar uç noktanın **içinden** görülemeyen türlerdir: bellenim işletim
sisteminden önce çalışır, ajan eklentisi ise merkezden itilir ve makinede bir kurulum kaydı
bırakmaz.

Son satır ölçünün sınırını veriyor. Bütün kaynaklar açıkken bile bir tür hiçbir kaynakta adıyla
yazılmıyor: yükleyici önyükleme ayarı yalnız dolaylı görünüyor, yani süreç oluşturma kaydında o
ayarla başlatılmış süreçler var ama ayarın kendisi hiçbir yerde adlandırılmıyor.

## Makine Grubunda Kapsam

```js
// kapsam.mjs — makine grubu basina kapsam: varsayilan yapilandirma ile hepsi acik.
import { NOKTA, KAYNAK, GRUP, gorunum, turler } from "./kaynak.mjs";

const say = (grup, hepsiAcik) => {
  const [, aile, , kaynaklar] = grup;
  const d = { tam: 0, dolayli: 0, yok: 0, korNokta: [] };
  for (const t of turler(aile)) {
    const g = gorunum(t, kaynaklar, hepsiAcik);
    d[g === "yok" ? "yok" : g]++;
    if (g === "yok") d.korNokta.push(t);
  }
  return d;
};
const ek = (grup) => grup[3].filter((k) => !KAYNAK[k].acik)
  .reduce((a, k) => ({ kalem: a.kalem + KAYNAK[k].kalem, hacim: a.hacim + KAYNAK[k].hacim }),
    { kalem: 0, hacim: 0 });

const gen = (B) => (h) => h.map((v, j) => (j ? String(v).padStart(B[j])
  : String(v).padEnd(B[0]))).join("");
const yz = gen([17, 7, 8, 7, 7, 9, 7, 7, 9, 8, 13]);

console.log(yz(["makine grubu", "aile", "makine", "tur", "tam", "dolayli", "yok",
  "tam+", "dolayli+", "yok+", "ek kalem"]));
let cift = 0, tamV = 0, tamH = 0, yokV = 0, yokH = 0, gunlukEk = 0;
for (const g of GRUP) {
  const v = say(g, false), h = say(g, true), e = ek(g), n = g[2];
  cift += n * turler(g[1]).length;
  tamV += n * v.tam; tamH += n * h.tam; yokV += n * v.yok; yokH += n * h.yok;
  gunlukEk += n * e.hacim;
  console.log(yz([g[0], g[1], n, turler(g[1]).length, v.tam, v.dolayli, v.yok,
    h.tam, h.dolayli, h.yok, e.kalem]));
}
const makine = GRUP.reduce((a, g) => a + g[2], 0);
console.log(`\nfilo ${makine} makine, ${cift} (makine, tur) cifti`);
console.log(`varsayilan yapilandirma: ${tamV} cift adiyla gorunuyor, ${yokV} cift hicbir ` +
  `kaynakta yok`);
console.log(`butun kaynaklar acik: ${tamH} cift adiyla gorunuyor, ${yokH} cift hicbir ` +
  `kaynakta yok`);
for (const g of GRUP) {
  const h = say(g, true);
  console.log(`${g[0].padEnd(17)} kor nokta: ${h.korNokta.join(", ") || "-"}`);
}
const gunlukVar = GRUP.reduce((a, g) => a + g[2] * g[3]
  .filter((k) => KAYNAK[k].acik).reduce((s, k) => s + KAYNAK[k].hacim, 0), 0);
console.log(`\ngunluk kayit: varsayilan ${gunlukVar.toLocaleString("tr-TR")}, ` +
  `hepsi acik ${(gunlukVar + gunlukEk).toLocaleString("tr-TR")} ` +
  `(${((gunlukVar + gunlukEk) / gunlukVar).toFixed(1)} kat)`);
console.log(`kazanc: +${tamH - tamV} cift adiyla gorunur oluyor; ` +
  `bedeli ${GRUP.reduce((a, g) => a + ek(g).kalem, 0)} yapilandirma kalemi ` +
  `(rol profili basina ${ek(GRUP[0]).kalem}) ve gunde ` +
  `${gunlukEk.toLocaleString("tr-TR")} ek kayit`);
console.log(`butun kaynaklar acikken bile ${yokH} cift kor kaliyor; hepsi ayni turdur ` +
  `ve ${Object.keys(NOKTA).length} turden birine karsilik gelir`);
```

```
makine grubu        aile  makine    tur    tam  dolayli    yok   tam+ dolayli+    yok+     ek kalem
saha dizustu           i      84     12      3        4      5      9        2       1            5
sube ucu               e      46      9      2        4      3      7        1       1            5
sayac toplayici        a     120     12      4        4      4      9        2       1            5
merkezi isleme         a      18     12      6        3      3     11        1       0            5

filo 268 makine, 3078 (makine, tur) cifti
varsayilan yapilandirma: 932 cift adiyla gorunuyor, 1092 cift hicbir kaynakta yok
butun kaynaklar acik: 2356 cift adiyla gorunuyor, 250 cift hicbir kaynakta yok
saha dizustu      kor nokta: bellenim acilis girdisi
sube ucu          kor nokta: bellenim acilis girdisi
sayac toplayici   kor nokta: bellenim acilis girdisi
merkezi isleme    kor nokta: -

gunluk kayit: varsayilan 1.977.800, hepsi acik 12.247.560 (6.2 kat)
kazanc: +1424 cift adiyla gorunur oluyor; bedeli 20 yapilandirma kalemi (rol profili basina 5) ve gunde 10.269.760 ek kayit
butun kaynaklar acikken bile 250 cift kor kaliyor; hepsi ayni turdur ve 12 turden birine karsilik gelir
```

Filo ölçeğinde soru şudur: 3.078 (makine, tür) çiftinin kaçı adıyla görünüyor. Varsayılan
yapılandırmada yanıt **932**, yani üçte birden az; 1.092 çift ise hiçbir kaynakta hiç görünmüyor.
Bu ikinci sayı dersin ana bulgusudur, çünkü kapsam eksikliği bir uyarı üretmez: kapalı bir kaynak
sessizdir ve envanterde "günlük toplanıyor" satırı yine de doğrudur.

Grup satırları farkın nereden geldiğini gösteriyor. Merkezî işleme sunucuları varsayılanda on iki
türün altısını adıyla görüyor, saha dizüstüler üçünü. Aradaki fark iki kaynağın **varlığıdır**;
uygulama denetim kaydı ile yönetim düzlemi denetim günlüğü, dizüstü bilgisayarda karşılığı olmayan
kaynaklardır. Uçtaki en zayıf görünürlük, kurumun en dağınık ve fiziksel olarak en korunmasız
makinelerindedir.

Şube uçları satırı bir ayrımı okumayı gerektiriyor. O grupta tür sayısı on iki değil dokuzdur ve
görünmeyen çift sayısı bu yüzden düşüktür — üç tür o ailede **yoktur**, yani kapatılmış değil,
hiç var olmamıştır. Bir kapsam tablosunda yüzde hesabı bu iki durumu ayırmazsa en dar platform en
iyi korunan platform gibi okunur. Sayılan şey oran değil, kalan kör nokta sayısı olmalıdır.

Dolaylı görünürlük sütunu da bir bedel taşır ve bu bedel tabloda görünmez. Bir soruşturma dolaylı
bir kayıttan başladığında yanıtı makineye gidip aramak zorundadır: kayıt bir oturum açıldığını
söyler, o oturumda hangi betiğin çalıştığını söylemez. Adıyla yazan kayıt bir sorguyla, dolaylı
kayıt bir saha ziyaretiyle yanıtlanır.

Kapalı iki kaynağı açmak 1.424 çifti adıyla görünür kılıyor. Bedeli iki kalemdir: rol profili
başına 5 yapılandırma kalemi — filo genelinde 20, çünkü ayar makine başına değil profil başına
yazılır — ve günde 10.269.760 ek kayıt. Toplam hacim 1,98 milyondan 12,25 milyona çıkıyor, yani
**6,2 kat**. Bu satır konunun ilerleyen derslerinin sorusunu da kuruyor: hacim tek başına bir sayı
değil, saklama süresi ve arama maliyeti demektir.

Kalan 250 çift kapatılamıyor. Bunların hepsi aynı türdür — bellenim açılış girdisi — ve yönetim
düzlemi denetim günlüğü taşımayan 250 makinede hiçbir kaynak onu görmüyor. Bu türün görünür
kılınması bir günlük ayarı değil, bir yönetim mimarisi kararıdır: uçların merkezden yönetilen bir
düzleme bağlanması gerekir. Kapatılamayan noktayı **en azından görünür kılmak** bu kursun kuralıdır
ve burada o da yapılamıyor; kalan tek seçenek, o türü periyodik bir bütünlük ölçümüyle dışarıdan
karşılaştırmaktır.

## Özet

- Varsayılan olarak açık dört kaynak on iki tutunma noktası türünün üçünü adıyla yazıyor; sekiz
  türü adıyla yazan tek kaynak varsayılan olarak **kapalı** olan süreç oluşturma kaydıdır.
- Kayıt üç durumda olur: kalemi adıyla yazan **tam** görünürlük, olayı gösterip kalemi adlandırmayan
  **dolaylı** görünürlük ve hiçbir kaydın olmadığı kör nokta. Kimlik doğrulama günlüğü hiçbir türü
  tam görmez, ikisini dolaylı görür.
- Filoda 3.078 (makine, tür) çiftinin varsayılanda 932'si adıyla görünüyor, 1.092'si hiçbir
  kaynakta yok; iki kapalı kaynak açıldığında adıyla görünen 2.356'ya, kör kalan 250'ye iniyor.
- Bedel rol profili başına 5 yapılandırma kalemi ve günde 10,2 milyon ek kayıttır; toplam hacim
  6,2 katına çıkıyor.
- Kalan 250 kör çiftin hepsi bellenim açılış girdisidir ve uç noktanın içinden görülemez; yükleyici
  önyükleme ayarı ise hiçbir kaynakta adlandırılmıyor, yalnız dolaylı iz bırakıyor.

## Sonraki Adım

Bu dersin kapsam tablosunda kimlik doğrulama günlüğü tek bir türü bile adıyla yazmadığı için en
zayıf kaynak gibi görünüyor. Oysa o kaynak başka bir soruya bakar: kalemin kurulmasına değil,
hesabın ele geçirilmesine. Sonraki ders o günlüğü tek başına ele alır ve başarısız giriş
örüntülerini gerçek bir kurgu kayıt kümesinde ayrıştırır: bir eşik seçildiğinde kaç olay
kaçırılıyor, kaç kez gereksiz yere uyarı üretiliyor ve hesap başına sayılan bir eşiğin neden
tamamen sessiz kaldığı bir deneme biçimi var.
