---
title: 'Ağ Telemetrisi'
source: 'https://academia.sh/tr/kurslar/ag-isletimi/ag-telemetrisi'
course: 'Ağ İşletimi ve Otomasyon'
language: tr
updated: '2026-08-17T18:07:15+00:00'
license: 'CC BY-SA 4.0'
---

# Ağ Telemetrisi

Örnekleme oranı tek bir kaldıraçtır ve kırk özneye birden uygulanır: birde birden birde yirmiye inildiğinde kayıt 400'den 20'ye, görülen ağır olay 22'den 2'ye düşer, 20 ağır olay kaçar ve kırk öznenin 26'sı raporda hiç görünmez.

Önceki ders hizmet kalitesini kurdu. Sınıflandırma, önceliklendirme ve şekillendirme tek bir
kaldıraçtı; bir sınıfın kazandığı gecikme başka bir sınıfın kuyruğuydu ve iki sayı birlikte
yazıldı.

Bu ders o iki sayının nereden geldiğini sorar. Kaldıraç trafiği yönetiyordu — peki kaldıracın
ne yaptığını **nereden biliyoruz**? Operatörün elinde ağın kendisi yoktur; ağın kendisi
hakkında ürettiği kayıtlar vardır. **Telemetri (telemetry)** bu kayıtların toplanmasıdır.
Dersin sorusu telemetrinin ne söylediği değil, **ne söylemediğidir** — çünkü toplamayı
yöneten ayar da bir kaldıraçtır ve onun da bir kuyruğu vardır.

## Telemetri Neyi Toplar

Ağ aygıtının ürettiği veri iki ayrı sınıfa ayrılır ve ikisi ayrı soruları yanıtlar.

**Akış kaydı (flow record)** bir özettir. Aygıt, aynı adres–bağlantı noktası–protokol
beşlisini paylaşan paketleri tek bir mantıksal akış sayar ve akış bittiğinde ya da bir süre
dolduğunda tek satır yazar: kim kiminle konuştu, ne kadar sürdü, kaç paket ve kaç bayt geçti.
Akış kaydı **özneyi adlandırır**.

**Sayaç (counter)** bir birikimdir. Aygıt her arayüzde giren bayt, çıkan bayt ve düşen paket
gibi değerleri artırarak tutar; okuyucu iki okuma arasındaki farkı alır. Sayaç
adlandırmaz — geçen trafiğin ne kadar olduğunu söyler, kimin olduğunu söylemez. Anlık bir
değeri taşıyan **ölçer (gauge)** ve dağılımı taşıyan **histogram** aynı sınıftadır.

Ölçüt türlerinin ayrımı **Gözlemlenebilirlik ve Güvenilirlik** kursunda, zaman serisi sorgusu
ve toplulaştırma **Gözlemlenebilirlik ve İşletim** kursunda kuruldu; ikisi de burada
tekrarlanmaz. Bu derste özne bir hizmet değil **ağ aygıtıdır** ve ölçülen şey toplulaştırmanın
sonucu değil, **toplulaştırmaya hiç girmemiş özne sayısıdır.**

Aradaki asıl gerilim şudur: sayaç ucuzdur ve hiçbir olayı kaçırmaz, ama hiçbir olayı da
adlandırmaz. Akış kaydı adlandırır, ama pahalıdır — her akış için aygıtın işlemcisi, belleği
ve raporlama bağlantısı çalışır. Pahalı olduğu için **azaltılır**, ve azaltmanın adı
örneklemedir.

## Akış Kaydının Biçimi

Aşağıdaki döküm bir akış kaydının ve bir arayüz sayacının taşıdığı alanları gösterir. Biçim
örneğidir; ölçüm değildir ve çalıştırılmamıştır.

```text
# ogretilen dokum , calistirilmamistir

akış kaydı
  gözlem aygıtı     aygit-07
  kaynak            istasyon.ornek
  hedef             ornek.test
  protokol          TCP
  paket / bayt      143 / 20416
  başlangıç         00:00:12.400
  süre              840 ms
  örnekleme oranı   birde 10

arayüz sayacı (birikimli)
  giren bayt        918233100
  çıkan bayt        640112940
  düşen paket       1204
```

Kayıttaki `örnekleme oranı` alanı önemlidir: kaydın kendisi, kendisinin bir örnek olduğunu
bildirir. Okuyucu bu alanı görmezse kaydı tam sayım sanır. Sayaç tarafında böyle bir alan
yoktur ve gerek de yoktur — sayaç örneklenmez.

## Kaydın Yolculuğu

Kaydın üretilmesi ile okunması arasında iki mesafe vardır ve ikisi de ölçüyü etkiler.

Birincisi **zamandır**. Akış kaydı akış bittiğinde yazılır; dakikalarca süren bir aktarım,
bittiği ana kadar hiçbir satır üretmez. Aygıtlar bunu bir etkinlik zaman aşımıyla gevşetir:
belirli bir süre dolduğunda akış hâlâ sürüyor olsa bile ara kayıt yazılır ve akış aynı
tanımla devam eder. Ara kayıt üretilmiyorsa uzun akış, tam da sorun çıkardığı sırada
görünmez; üretiliyorsa aynı akış raporda birden çok satırla temsil edilir ve akış sayan bir
gösterge onu birden çok akış sanır.

İkincisi **yoldur**. Kayıt, aygıttan toplayıcıya ağ üzerinden taşınır — yani telemetri, kendi
ölçtüğü ağı kullanır. Bunun iki sonucu vardır. Ağ bozulduğunda kayıt kaybı, ölçülmek istenen
olayla **aynı anda** olur; en çok bilgiye ihtiyaç duyulan dakikada en az kayıt gelir. İkinci
sonuç daha sessizdir: taşıma güvenilir değilse düşen kayıt hiçbir iz bırakmaz, çünkü
toplayıcı kaç kayıt beklediğini bilmez. Sayaç bu noktada yine ayrılır: sayaç birikimlidir ve
iki okuma arasında kaç okuma kaçarsa kaçsın fark doğru kalır.

## Örnekleme Bir Kaldıraçtır

Örnekleme oranı tek bir sayıdır. Operatör onu bir kez ayarlar ve ayar **kırk özneye birden**
uygulanır. Kaldıracın kuyruğu — yanlış hizmet ettiği azınlık — burada iki ayrı biçimde
görünür. Birincisi **kaçan ağır olay**: kaydedilmediği için hiç bilinmeyen sorun. İkincisi
daha sinsidir: **hiç görünmeyen özne**. Bir aygıt raporun tek bir satırında bile yoksa,
gösterge tablosunda o aygıt için ne yüksek bir değer vardır ne düşük bir değer; hiçbir değer
yoktur, ve boşluk sağlıkla aynı renkte görünür.

Ölçümün varsayımları:

- **GB1** — Kırk özne kursun sabit topluluğudur ve bu derste değiştirilmez; özneler
  kapasite, gecikme ve sınıf bakımından birbirinden ayrıdır.
- **GB2** — Gözlem penceresinde dört yüz olay geçer. Her olay bir özneye aittir ve olayların
  bir bölümü **ağır** olarak imlenir; ağırlık kurgunun kendisinden gelir.
- **GB3** — Kâhin kurgudur: hangi olayın ağır olduğunu ve hangi özneye ait olduğunu biz
  yazdığımız için biliriz. Ölçüm bu bilgiyi kullanmaz, yalnız sonucu onunla karşılaştırır.
- **GB4** — Örnekleme deterministiktir: sıra numarası `birde` değerine bölünen olay
  kaydedilir. Rastgele örnekleme farklı bir kayıt kümesi verir, ama kayıt sayısını ve
  aşağıdaki eğilimi değiştirmez.
- **GB5** — Her akış kaydı sabit **64 bayttır**. Bayt sütunu kayıt hacminin göreli
  büyüklüğünü gösterir; bir ağ ölçümü değil, kayıt sayımının çarpımıdır.
- **GB6** — Kestirim şu kuralla yapılır: görülen ağır olay sayısı örnekleme oranıyla
  çarpılır. Örnekten toplama gidilirken kullanılan olağan yol budur.

## Ölçüm

```python
"""Ag telemetrisi: ornekleme orani tek kaldirac, olculen sey kuyruk.

Bolum 1 - kirk ozne ve dort yuz olay.
Bolum 2 - bes ornekleme orani: kayit, gorulen agir olay, kacan, hic gorunmeyen ozne.
"""
TOHUM = 20260812
KAYIT_BAYTI = 64


def uretec(tohum):
    d = tohum % 2147483646 + 1

    def r(n):
        nonlocal d
        d = (d * 48271) % 2147483647
        return d % n
    return r


def ozneler(sayi=40, tohum=TOHUM):
    r, liste = uretec(tohum), []
    for i in range(sayi):
        liste.append({"no": i + 1, "kapasite": 20 + r(81), "gecikme": 5 + r(45),
                      "sinif": ("etkilesim", "toplu", "yedek")[r(3)],
                      "ozel": r(9) == 0})
    return liste


def olaylar(oz, sayi=400, tohum=TOHUM + 3):
    r, liste = uretec(tohum), []
    for i in range(sayi):
        o = oz[r(len(oz))]
        liste.append({"no": i + 1, "ozne": o["no"], "agir": r(25) == 0})
    return liste


def ornekle(ol, birde):
    """Her `birde` olaydan biri kaydedilir."""
    return [o for o in ol if o["no"] % birde == 0]


def gorunen(ol, birde):
    """Kayit sayisi, gorulen agir olay, kacan agir olay, gorulen ozne kumesi."""
    k = ornekle(ol, birde)
    agir = sum(1 for o in k if o["agir"])
    return len(k), agir, sum(1 for o in ol if o["agir"]) - agir, {o["ozne"] for o in k}


oz = ozneler()
ol = olaylar(oz)
print(f"özne {len(oz)} | olay {len(ol)} | ağır olay {sum(o['agir'] for o in ol)} | "
      f"olay üreten özne {len({o['ozne'] for o in ol})}")
print()
print(f"{'birde bir':>10s} {'kayıt':>6s} {'bayt':>6s} {'görülen ağır':>13s} "
      f"{'kaçan ağır':>11s} {'kestirilen ağır':>16s} {'hiç görünmeyen özne':>20s}")
for birde in (1, 2, 5, 10, 20):
    k, agir, kacan, gor = gorunen(ol, birde)
    print(f"{birde:10d} {k:6d} {k * KAYIT_BAYTI:6d} {agir:13d} {kacan:11d} "
          f"{agir * birde:16d} {len(oz) - len(gor):20d}")

k10 = {o["ozne"] for o in ornekle(ol, 10)}
sayim = {o["no"]: sum(1 for x in ol if x["ozne"] == o["no"]) for o in oz}
kayip = [n for n in sayim if n not in k10]
print()
print(f"birde 10 | görünmeyen özne {len(kayip)}"
      f" | olay ortalamaları: görünmeyen "
      f"{sum(sayim[n] for n in kayip) / len(kayip):.2f}, "
      f"görünen {sum(sayim[n] for n in sayim if n in k10) / len(k10):.2f}")
print(f"görünmeyen öznenin en çok olayı {max(sayim[n] for n in kayip)}"
      f" | en az olaylı özne {min(sayim.values())} olayla"
      f" | en çok olaylı özne {max(sayim.values())} olayla")
```

```
özne 40 | olay 400 | ağır olay 22 | olay üreten özne 40

 birde bir  kayıt   bayt  görülen ağır  kaçan ağır  kestirilen ağır  hiç görünmeyen özne
         1    400  25600            22           0               22                    0
         2    200  12800             9          13               18                    1
         5     80   5120             7          15               35                    8
        10     40   2560             2          20               20                   17
        20     20   1280             2          20               40                   26

birde 10 | görünmeyen özne 17 | olay ortalamaları: görünmeyen 8.18, görünen 11.35
görünmeyen öznenin en çok olayı 13 | en az olaylı özne 5 olayla | en çok olaylı özne 18 olayla
```

## Sayıların Okunması

İlk satır ölçünün temelini verir. Tam sayımda kayıt **400**, görülen ağır olay **22**, kaçan
**0**, hiç görünmeyen özne **0**. Kırk öznenin kırkı da en az bir olay üretmiştir; yani
görünmezlik topluluğun bir özelliği değil, kaldıracın ürettiği bir sonuçtur.

**Kaçan ağır olay.** Birde ikide kayıt yarıya iner ve görülen ağır olay 22'den **9**'a düşer:
**13** ağır olay kaçar. Buradaki oransızlık dikkat çekicidir — kayıt yarıya inerken ağır
olayın görünürlüğü yarıdan fazla düşmüştür. Nedeni ağır olayların az olmasıdır: yirmi iki
tanenin sabit adımlı bir elemeye nasıl dağıldığı şansa kalır. Birde onda görülen ağır olay
**2**'ye iner ve **20** ağır olay kaçar. Birde yirmide kayıt yarıya daha inmesine karşın
görülen ağır olay yine **2** kalır; azalma düzgün değildir, çünkü sayılan şey artık istatistik
değil, tesadüftür.

**Kestirimin yanılması.** Örnekten toplama gidilen olağan yol, görülen sayıyı örnekleme
oranıyla çarpmaktır. Sütun bu kestirimi veriyor: gerçek değer **22** iken kestirim sırasıyla
**22**, **18**, **35**, **20** ve **40** çıkıyor. Birde beşte kestirim gerçeğin bir buçuk
katı, birde yirmide neredeyse iki katı. Aynı çarpım kayıt sayısı için uygulansaydı her
satırda tam **400** verirdi — çünkü toplam büyük ve düzgün dağılmıştır. Kural şudur:
**örnekleme toplamı korur, azınlığı korumaz.** Ağır olay bir azınlıktır ve ölçünün asıl
aradığı şey odur.

**Hiç görünmeyen özne.** Son sütun bu dersin ana sayısıdır. Birde ikide **1** özne raporun
hiçbir satırında yoktur; birde beşte **8**, birde onda **17**, birde yirmide **26**.
Kırk öznenin yirmi altısı, yani üçte ikiden fazlası, gösterge tablosunda hiç yoktur.

Son iki satır bu kayboluşun kime dokunduğunu söylüyor. Birde onda görünmeyen **17** öznenin
olay ortalaması **8,18**, görünen yirmi üçünkü **11,35**. Kayıp rastgele değildir: az konuşan
özne önce düşer. Ama eleme keskin bir eşik de değildir — görünmeyen öznelerden birinin **13**
olayı vardır, yani topluluğun en az olaylı öznesinin (**5** olay) iki katından fazla trafik
üretmiş bir aygıt da rapordan çıkabilmiştir. Kayıp hem eğilimlidir hem tesadüflüdür, ve
ikisi bir arada olduğu için operatör kimin görünmediğini rapora bakarak kestiremez.

Sonuç, kursun üçüncü iddiasıdır: **kaldıraç kuyruğu görünmez kılar.** Örnekleme oranı bir
başarım ayarı olarak kurulur ve gerçekten de kayıt hacmini 25 600 bayttan 1 280 bayta indirir.
Ama aynı ayar, hangi öznenin raporlanacağına da karar verir ve bu kararı kimse açıkça
almamıştır. Kırk öznede ölçülebilen en küçük fark **1/40 = 0,025**'tir; 26 özne bunun yirmi
altı katıdır ve ölçüm bandının çok içindedir.

## Gösterge Tablosunda Boşluk

Görünmeyen öznenin en tehlikeli yanı, gösterge tablosunun onu **eksik göstermemesidir**.
Aşağıdaki tablo biçimi bunu somutlaştırır; ölçüm değildir ve çalıştırılmamıştır.

```text
# ogretilen gosterge tablosu bicimi , calistirilmamistir

en cok trafik ureten aygitlar    (pencere: son 5 dk, kaynak: akis kaydi)
  sira  aygit       akis   bayt        agir olay
     1  aygit-31      14   1.2 GB              1
     2  aygit-07      12   0.9 GB              0
     3  aygit-22      11   0.8 GB              1
   ...
    23  aygit-16       1   0.1 GB              0

  toplam listelenen aygit : 23
```

Tablo yirmi üç aygıt listeler ve doğrudur — listelenen her satır gerçekten üretilmiş bir
kayda dayanır. Yanlış olan hiçbir şey yoktur. Eksik olan şey, tablonun **kırk aygıtlık bir
topluluktan** üretildiğinin hiçbir yerde yazmamasıdır. `toplam listelenen aygıt` alanı
23 der; `envanterdeki aygıt` diye bir alan yoktur. Sıralama listesi yalnızca **veri üretmiş**
olanı sıralayabilir, çünkü sıralamanın girdisi kayıttır ve kaydı olmayan aygıt sıralamaya
hiç girmez.

Ayrım şudur: sıfır değerli bir satır bir bilgidir, **olmayan bir satır bilgi değildir.**
Birincisi "bu aygıttan trafik geçmedi" der; ikincisi hiçbir şey demez ve okuyan kişi onu
birinciyle karıştırır. Gösterge tablosuna envanterin toplam sayısı yazılmadıkça bu ayrım
görünmez kalır.

## Görünmezliği Daraltmak

Örnekleme kaldıracının kuyruğu kaldırılamaz — kayıt azaltılıyorsa bir şey görünmeyecektir.
Kuyruğun **kimden** oluşacağı ise seçilebilir.

**Birinci daraltma — ağır olayı örneklemenin dışına almak.** Ağır olarak imlenen olay,
örnekleme oranı ne olursa olsun kaydedilir. Bu, kaçan ağır olayı **0**'a indirir ve kayıt
hacmini yalnız ağır olay sayısı kadar artırır; birde yirmide 20 kayıt yerine 42 kayıt olur.
Bedeli, ağırlığın **aygıtta** belirlenmesi zorunluluğudur — aygıt neyin ağır olduğunu bilmek
zorundadır.

**İkinci daraltma — özne başına en az bir kayıt.** Örnekleme oranı korunur, ama her özne için
pencerede en az bir kayıt zorunlu tutulur. Hiç görünmeyen özne **0** olur ve kayıt hacmi en
çok kırk kayıt artar. Bu, görünürlüğü hacimden değil **kapsamdan** satın alır.

**Üçüncü daraltma — sayacı akış kaydının yanında tutmak.** Sayaç örneklenmez. Akış kaydı
bir özneyi hiç göstermese bile, o öznenin arayüz sayacı okunmaya devam eder ve trafiğin
varlığını bildirir. Sayaç kimin konuştuğunu söylemez, ama **birinin konuştuğunu** söyler; iki
kaynak birlikte okunduğunda sessizlik ile görünmezlik ayrılabilir.

Üçünün ortak yanı, kararı örtük olmaktan çıkarmalarıdır. Örnekleme oranı tek başına
bırakıldığında da bir görünürlük politikası uygular; fark, o politikanın yazılmamış olmasıdır.

## Özet

- Telemetri iki kaynaktan gelir: akış kaydı özneyi adlandırır ama pahalı olduğu için
  örneklenir, sayaç örneklenmez ama özneyi adlandırmaz.
- Örnekleme oranı tek bir kaldıraçtır ve kırk özneye birden uygulanır; birde birden birde
  yirmiye inildiğinde kayıt **400**'den **20**'ye, kayıt hacmi 25 600 bayttan 1 280 bayta iner.
- Görülen ağır olay **22**'den **2**'ye düşer ve **20** ağır olay kaçar; azalma düzgün
  değildir, çünkü ağır olay bir azınlıktır ve elemeye dağılışı tesadüfe kalır.
- Örnekten yapılan kestirim toplamı korur, azınlığı korumaz: gerçek 22 iken kestirim
  **22 / 18 / 35 / 20 / 40** çıkar.
- Hiç görünmeyen özne **0**'dan **26**'ya çıkar; kaldıraç bir başarım ayarı olarak kurulur ama
  kimin raporlanacağını da o seçer, ve boşluk gösterge tablosunda sağlıkla aynı renktedir.

## Sonraki Adım

Bu derste kayıtları aygıt üretiyor ve toplayıcı onları alıyordu; kimin ne zaman konuştuğu
sorulmadı. Oysa toplama iki ayrı biçimde kurulabilir: toplayıcı aygıtlara **sorar**, ya da
aygıt kendiliğinden **bildirir**. İki modelin tur maliyeti Uygulama Katmanı Protokolleri
kursunda ölçüldü ve burada tekrarlanmayacak. Sonraki ders aynı ayrımı bu kursun ölçüsüyle
ele alır: sorgu tabanlı izlemede ve olay bildiriminde **kaç özne hiç raporlanmıyor**, ve iki
modelin görmediği özneler aynı özneler mi?
