Upload
others
View
13
Download
0
Embed Size (px)
Citation preview
TÜBİTAK
1
Devlet Muhasebe Sistemi'nde PostgreSQL Veritabanlarını İzleme Tecrübesi
24.01.2019
İbrahim Edib Kökdemir Yazılım Teknolojileri Araştırma Enstitüsü
TÜBİTAK
2
Menüdekiler
Neden izlemeliyiz? Neleri izlemeliyiz? Zabbix ve saz arkadaşları Powa Sorgu temelli izleme İzlemenin karanlık tarafı
TÜBİTAK
3
Neden izlemeliyiz?
Makineler bozulur. İnsanlar hata yapar. Sistemler her zaman doğru çalışmaz. İzlemiyorsan yönetmiyorsun.
Önceden öngörmek için Bozulanı tamir etmek zordur. Prestij, iş ve para kaybedersin.
TÜBİTAK
4
İzlemede olması gerekenler
Şimdi, geçmiş ve gelecek
Uyarı, Aksiyon alma
Arayüz (dashboard)
Herşeyi bir arada görebilme
Esnek ve kapsayıcı
Genellikle sorunların nedeni tek noktadan keşfedilemez.
Genellikle sorunların kaynağı veritabanı değildir.
TÜBİTAK
5
Postgreste Neleri izlemeliyiz?
Hizmetin kalitesini etkileyen herşey! Postgres
İşletim sistemi kaynakları (bellek, işlemci, ağ, disk) Servis öznitelikleri
açık/kapalı Bağlantı sayısı ...
Nesnelerin (veritabanı, tablo, index, sorgu) öznitelikleri Kullanım adedi Cevap süresi ...
TÜBİTAK
6
İdeal Kurumsal İzleme
Zabbix
Devlet Muhasebe Sistemi Örneği
Veritabanları
Uygulamalar
PowaSunucu Konteyner
Master Replika
TÜBİTAK
7
Nasıl izlemeliyiz?
Zabbix Mamonsu (*) Libzbxpgsql pg_monz Daha niceleri ...
Sorgu izlemesi Powa(*) Pg_badger(offline log file analiz) pg_hero
TÜBİTAK
8
Tanıyalım: Zabbix
Kurumsal (enterprise) seviyede izleme aracı İstemci/Sunucu mimarisi Sunucunun parçaları
Sunucu (C, yüksek performans) Veritabanı (postgresle çalışır.) Web arayüzü (php)
TÜBİTAK
9
Zabbix: Nasıl izler?
Agent-server Elle / Otomatik keşif
Sunucular / Ağ cihazları
Sanallaştırma ve Konteyner Vmware, openstack, xenserver, docker, kubernetes
Web monitoring (web siteleriniz, performans ve erişilebilirlik)
Java jmx
Yazıcılar, ups, arduino, sensorler
Veri üretebilen herşey ...
TÜBİTAK
13
Host
Zabbix Server Kavramları
Host group
Template
Application Item Trigger Discovery
Graph Problem
ScreenMap
User User Group
API
TÜBİTAK
14
Zabbix Agent Kavramları
Passive Agent
Sunucu ajandan veri ister
Active Agent
Ajandan sunucuya doğru
Ajan Sunucudan liste ister
Düzenli toplamaya başlar
Geri gönderir
Zabbix_trapper
Seyyar ajan
Ajandan gelen veriyi alır ve eşleştirir.
Zabbix_sender
Sunucuya seyyar veri gönderir.
TÜBİTAK
15
Zabbix’le Postgres İzleme: saz arkadaşları
mamonsu Servis olarak
libzbxpgsql Agent modülü olarak
pg_monz Agenta bağlı script grubu
TÜBİTAK
16
Mamonsu
Postgres Professional Python (genişletilebilir) Db sunucuda aktif agent Sistem ve db hakkında bilgiler connections event: conflicts/deadlocks/rollbacks statements: read/write/dirty bytes/s
checkpoint temp: bytes written / created statements: read/write/dirty io time
bgwriter tuples: deleted/inserted/returned/updated
locks (her türlüsünden)
autovacuum streaming replication lag Boyutlar (db, tablo)
transactions wal write speed ve daha birsürü şey
blocks: hit/read count of xlog files
TÜBİTAK
17
Libzbxpgsql
C zabbix agent (modül) Mamonsu + index, pkey istatistikleri pg_stat_all_tables pg_stat_all_indexes Özelleştirilmiş sorgular
TÜBİTAK
18
pg_monz
Sql + bash Geliştirici olmak gerekmez + pg_pool ve streaming replication izleme sender+trapper
TÜBİTAK
19
Powa: Sorgu İzleme
C + Python (web)
Eklenti(extension) olarak
Background servisi
PoWA-archivist
web arayüzü (powa-web)
İstatistik eklentileri
pg_stat_statements (sorgular)
pg_qualstats (where, join bilgileri)
pg_stat_kcache (pg ve os cache)
HypoPG (farazi index)
İzlemesi DB Developerlara teslim edilmelidir.
TÜBİTAK
24
İzlemenin Karanlık Tarafı
True Positive (TP):Durum: Kurt geldi.Çoban: "Kurt geldi!"Sonuç: Çoban kahraman.
False Positive (FP):Durum: Kurt gelmedi.Çoban: "Kurt geldi!"Sonuç: Köylüler çobana çok kızar.
False Negative (FN):Durum: Kurt geldi.Çoban: "..."Sonuç: Kurt sürüyü yedi.
True Negative (TN):Durum: Kurt yok.Çoban: "..."Sonuç: Herkes mutlu.
Kurtla çobanın hikayesi
TÜBİTAK
25
İzlemenin Karanlık Tarafı
İzleme sistemi kurmak zordur
Değiştirmek de zordur.
Zaman, emek ve uzmanlık ister
Asla mükemmel olmaz Akışlar yumağı Varsayılan şablonlardan gitmek gerek. Yanlış alarmlarla doludur. (FP)
TÜBİTAK
26
Yöntem
Zabbix: "alarm, alarm, alarm, ..."Durum: Genellikle bir durum vardır ve zabbix de ondan bahsediyordur. Sonuç: Çok mail var. Mailleri takip et. Sorunu çöz ve kahraman ol. Sonuç2: Sadece bazıları Zabbixin çok geveze olduğundan şikayetçi olur ama Herkes mutludur.
İzleyelim, İzletelim.