fiberfw
Sistem loglarını izleyip güvenlik duvarı ve log verilerini PostgreSQL'de yöneten bir Go API'si.
fiberfw, sunucudaki syslog kayıtlarını izleyip güvenlik duvarı ve log verilerini PostgreSQL'de toplayan ve yöneten bir API. Go ile, Fiber web çatısı üzerinde yazdım. API tanımları Huma ile OpenAPI biçiminde üretiliyor.
Amaç
Bir sunucunun güvenlik duvarı ve sistem logları genellikle düz metin dosyalarında birikiyor. Bu kayıtları dosyalar içinde aramak, filtrelemek ve geçmişe dönük incelemek zahmetli bir iş. fiberfw ile bu verileri sorgulanabilir bir veritabanına taşımak ve onlara bir API üzerinden erişmek istedim.
Nasıl çalışır
Uygulama sistemin syslog kayıtlarını izliyor ve güvenlik duvarı ile log verilerini PostgreSQL veritabanına yazıyor. Bu veriler, Fiber ile kurulan HTTP API üzerinden yönetiliyor. Syslog, Linux ve Unix sistemlerde servislerin ve çekirdeğin log mesajlarını toplayan standart kayıt mekanizması.
API'nin uç noktaları Huma ile tanımlanıyor. Huma, Go'da yazılan uç noktalardan otomatik olarak OpenAPI belgesi üreten bir kütüphane. OpenAPI ise bir API'nin hangi adresleri, parametreleri ve yanıtları olduğunu makinenin de okuyabileceği biçimde tarif eden bir standart.
Öne çıkan özellikler
- Syslog kayıtları izlenerek güvenlik duvarı ve log verileri toplanıyor.
- Toplanan veriler PostgreSQL'de saklandığı için SQL ile sorgulanabiliyor.
- Veriler bir HTTP API üzerinden yönetiliyor.
- API, Huma sayesinde OpenAPI biçiminde belgeleniyor ve başka araçlardan kolayca çağrılabiliyor.
Teknik altyapı
Proje Go ile yazıldı. HTTP katmanında Fiber çatısını, API tanımları ve OpenAPI belgesi için Huma'yı, veri saklamak için PostgreSQL'i kullanırım.
Kullanım alanları
- Sunucudaki güvenlik duvarı kayıtlarını merkezi bir veritabanında toplamak için kullanılabilir.
- Log verilerini bir yönetim paneline veya başka bir servise API üzerinden sunmak için uygundur.
- OpenAPI belgesi sayesinde istemci kodu üreten araçlarla birlikte kullanılabilir.
- Kategori
- Ağ, sunucu ve altyapı
- Yıl
- 2025
Teknolojiler
- Go
- Fiber
- OpenAPI
- PostgreSQL
- Security