Pre-launch · early access waitlist openLansman öncesi · erken erişim listesi açık

Your server logs,
explained in plain language.
Sunucu loglarınız,
anlaşılır bir dille.

Logs tell you what happened, but rarely why. Logwhy reads your server and network logs, finds the root cause, and tells you how to fix it, in plain words. Claude does the reasoning. Loglar size ne olduğunu söyler ama nadiren neden olduğunu. Logwhy sunucu ve ağ loglarınızı okur, asıl sebebi bulur ve nasıl düzelteceğinizi sade bir dille anlatır. Analizi Claude yapar.

nginxsystemd / journaldTraefiksing-boxXraynftables / iptableskernel / dmesgDocker

How it worksNasıl çalışır

Three steps, no agents to install and no dashboards to learn.Üç adım. Kurulacak bir ajan yok, öğrenilecek bir panel yok.

01

Paste or upload logsLogları yapıştır veya yükle

Drop in output from journalctl, nginx error logs, Traefik, sing-box/Xray, firewall drops or dmesg, as plain text or a file.journalctl çıktısı, nginx hata logları, Traefik, sing-box/Xray, firewall kayıtları veya dmesg: düz metin ya da dosya olarak.

02

Secrets are redacted firstÖnce gizli bilgiler maskelenir

Before anything is sent for analysis, IPs, emails, tokens, keys, UUIDs and passwords are masked. You see exactly what leaves your machine.Analize gönderilmeden önce IP'ler, e-postalar, token'lar, anahtarlar, UUID'ler ve parolalar maskelenir. Neyin gönderildiğini tam olarak görürsünüz.

03

Claude explains the causeClaude sebebi açıklar

Claude correlates events across sources and returns what happened, the likely root cause, and concrete next steps and commands to check.Claude farklı kaynaklardaki olayları ilişkilendirir. Ne olduğunu, muhtemel asıl sebebi, somut adımları ve kontrol komutlarını verir.

What an explanation looks likeBir açıklama nasıl görünür

An illustrative example: the logs are made up for this page, and the explanation shows the format Logwhy is designed to return.Temsili bir örnek: loglar bu sayfa için uydurulmuştur, açıklama ise Logwhy'ın vermesi hedeflenen formatı gösterir.

input.logExampleÖrnek
-- nginx error.log --
2026/10/08 03:12:41 [error] 812#812: *4411 connect() failed
  (111: Connection refused) while connecting to upstream,
  client: [IP_1], server: app.example.com,
  request: "GET /api/orders HTTP/2.0",
  upstream: "http://127.0.0.1:3000/api/orders"

-- journalctl -k --
Oct 08 03:12:39 vps kernel: Out of memory: Killed process 2210 (node)
  total-vm:1843920kB, anon-rss:912344kB, oom_score_adj:0

-- journalctl -u app.service --
Oct 08 03:12:39 vps systemd[1]: app.service: Main process exited,
  code=killed, status=9/KILL
Oct 08 03:12:39 vps systemd[1]: app.service: Failed with result 'oom-kill'.
ExplanationAçıklamaExample outputÖrnek çıktı

What happenedNe oldu

Visitors got 502 Bad Gateway errors from about 03:12 because nginx could not reach your app on port 3000. Nothing was listening there.Ziyaretçiler 03:12 civarından itibaren 502 Bad Gateway hatası aldı, çünkü nginx 3000 portundaki uygulamanıza ulaşamadı. O portu dinleyen bir şey yoktu.

Root causeAsıl sebep

The server ran out of memory. The kernel's OOM killer stopped your Node.js process (~900 MB resident), and systemd marked app.service as failed and did not restart it.Sunucunun belleği bitti. Çekirdeğin OOM killer'ı Node.js sürecinizi (~900 MB) sonlandırdı. systemd app.service'i başarısız olarak işaretledi ve yeniden başlatmadı.

Suggested fixÖnerilen çözüm

  1. Bring it back now:Şimdi ayağa kaldırın: systemctl restart app
  2. Auto-restart next time: addBir dahakine otomatik başlasın: ekleyin Restart=on-failure to the unit.(unit dosyasına).
  3. Check memory headroom:Bellek payını kontrol edin: free -h; consider swap or a MemoryMax= limit.swap veya MemoryMax= limiti düşünün.
  4. If memory keeps growing, look for a leak in the /api/orders path.Bellek sürekli artıyorsa /api/orders yolunda sızıntı arayın.
Confidence: high, since the OOM kill and the first 502 are 2 seconds apart.Güven: yüksek, çünkü OOM kill ile ilk 502 arasında 2 saniye var.

Illustrative only. The product is in development and real output may differ.Yalnızca temsilidir. Ürün geliştirme aşamasındadır, gerçek çıktı farklı olabilir.

Try the redaction stepMaskeleme adımını deneyin

This mini demo runs entirely in your browser. Nothing is sent anywhere. It shows what would be masked before analysis, plus a few quick rule-based hints. The full Claude explanation is not part of this demo.Bu mini demo tamamen tarayıcınızda çalışır, hiçbir yere veri gönderilmez. Analizden önce neyin maskeleneceğini ve birkaç basit kural tabanlı ipucunu gösterir. Claude'un tam açıklaması bu demoya dahil değildir.

Output appears here.Çıktı burada görünür.

Who it's forKimler için

People who run their own servers but don't have an SRE team on call.Kendi sunucusunu yöneten ama nöbetçi bir SRE ekibi olmayanlar için.

Self-hostersSelf-host yapanlar

Home labs and personal clouds: Nextcloud, Docker stacks, reverse proxies.Ev laboratuvarları ve kişisel bulutlar: Nextcloud, Docker yığınları, reverse proxy'ler.

VPS operatorsVPS işletenler

Single-purpose boxes running nginx, Traefik, sing-box or Xray, where a 3 a.m. failure means you are the on-call engineer.nginx, Traefik, sing-box veya Xray çalıştıran tek amaçlı sunucular. Gece 3'teki arızada nöbetçi mühendis sizsiniz.

Small teamsKüçük ekipler

Developers who ship their own infra and want answers, not another observability platform to configure.Altyapısını kendi kuran ve yapılandırılacak yeni bir izleme platformu değil, cevap isteyen geliştiriciler.

Privacy firstÖnce gizlilik

Logs often contain things that should never leave your server. Logwhy is designed so redaction happens before analysis, and you stay in control.Loglar çoğu zaman sunucunuzdan asla çıkmaması gereken bilgiler içerir. Logwhy, maskelemenin analizden önce yapılacağı ve kontrolün sizde kalacağı şekilde tasarlanıyor.

  • Secrets, tokens, keys, emails and IP addresses are masked before sendingGizli bilgiler, token'lar, anahtarlar, e-postalar ve IP adresleri göndermeden önce maskelenir
  • Preview the exact redacted text before you submitGöndermeden önce maskelenmiş metnin tam halini önizleyin
  • Analysis is done by Anthropic's Claude via its APIAnaliz, Anthropic'in Claude modeliyle API üzerinden yapılır
  • No log storage by default; nothing is used to train modelsVarsayılan olarak log saklanmaz, hiçbir veri model eğitiminde kullanılmaz

Planned design for the first release. Details in the privacy notice.İlk sürüm için planlanan tasarım. Ayrıntılar gizlilik bildiriminde.

Get early accessErken erişim

Logwhy is pre-launch. Email me to join the waitlist, or send a log you'd like explained as a test case.Logwhy henüz lansman öncesinde. Listeye katılmak veya açıklanmasını istediğiniz bir logu test vakası olarak göndermek için bana e-posta atın.

demir@demirse.com

AboutHakkında

Logwhy is built by Demir, a solo developer based in Türkiye who runs his own VPS and self-hosted infrastructure: kernels, proxies, reverse proxies and all the logs that come with them.Logwhy, Türkiye'de yaşayan solo geliştirici Demir tarafından geliştiriliyor. Demir kendi VPS ve self-host altyapısını yönetiyor: çekirdekler, proxy'ler, reverse proxy'ler ve bunlarla gelen tüm loglar.

Logwhy started from a simple frustration: spending an hour in journalctl to find a one-line cause. The goal is to make that hour take a minute.Logwhy basit bir dertten doğdu: tek satırlık bir sebebi bulmak için journalctl'da bir saat harcamak. Hedef, o bir saati bir dakikaya indirmek.