SORU
21 Temmuz 2009, Salı


Veritabanı yerine günlük dosyaları için günlük

Tüm Raylar uygulama ya da bir günlük dosyasına ek olarak ya da yerine bir veritabanı (MySQL ya da MongoDB için günlük gönderme ilgileniyorum. Günlük dosyası analiz endişe en az bir sebep vardır. Biz zaten Google Analytics kullanın, ama Analitik olarak uygulanabilir değil yapmak istediğimiz bir çok şey vardır.

Ayrıca, "gerçek zamanlı" soruşturma konuları bakarak günlükleri istiyorum. Bir günlük dosyası eleme yapmak sıkıcı bir yoldur, ve daha iyi bir günlük dosyası (kolayca) için izin verdiğinden daha arama ve filtreleme yapmak istiyorum.

Son olarak, sık sık incelemek istediğiniz bir şey yakın site ziyaretçi davranış: izleme yolu ile site için örnek, böylece görebiliyorum ne son sayfada bir kullanıcı bakıyordu önce bir hata oluştu. Birden fazla uygulama sunucuları var verilen, ayrı günlük dosyaları bu gerçek bir ağrı. Eğer tüm verileri bir veritabanında olsaydı, kolayca belirli bir ziyaretçi için sayfaları doğru sırada görebiliyordum. Bu de kullanarak, bu özel şey (günlük dosyası/tek depo) çözmek için bir yol olacağını biliyorum, ama daha iyi bir veritabanı arar ile ilişkilendiren arama yetenekleri ile birleştirmek istiyorum.

Millet bunu çözmek için ne önerirsin merak ediyorum. Musun doğrudan oturum açmak için bir veritabanı veya dökümü günlük dosyalarına bir DB (ama ne yaklaşımınız için o yüzden aslında gerçek zamanlı olarak güncel olarak günlük dosyası kendisi)?

Şu anda baktım başka bir şey tüm istekleri günlük küçük bir Raf filtresi yazma çünkü bu günlüğü istiyorum ne de belirleyen benim. Bu normal Raylar döker atıyor (cache hits ve özlüyor tüm SQL ve çıkış, vb.), bir sürü ekstra çıktı özler ama benim hedefim büyük bir kısmını elde eder ve sistem içinde başka rahatsız edici bir şey değil avantajı var gibi görünüyor.

Her neyse, tek bir doğru cevabı, bir başkası aynı bu ışıkta ne yaptığına dair bir tartışma ve bilgi daha aramıyorum.

CEVAP
19 AĞUSTOS 2009, ÇARŞAMBA


Şirketim düz günlük MySQL veritabanına bazı yapısal trafik bilgisi günlüğü. Bu veritabanını başka bir veritabanı aşağı çoğaltılır. Tüm analytics son veritabanı çoğaltma kaçtı. Sitemizde trafik biraz sürdürmek. Şimdiye kadar, herhangi bir önemli sorun var gibi görünmüyor. Ancak, geçerli kurulum BU bölüm ölçülebilirlik ile ilgili artan kaygılar var ve bizim günlük bilgi boşaltması düşündüren üzerine "uygun" günlük dosyaları. Günlük dosyaları daha sonra aynı aşağı akış veritabanı tabloları içine geri gönderilip geri dönecek. Bu soruyu getiriyor. :)

Burada log dosyaları vs ... konu ile ilgili gördüğüm artılarını ve eksilerini bazı günlük-db () ilişkisel:

  • günlük dosyaları, güvenilir ve ölçülebilir duydum Yahoo! (En azından hızlı onların tıklatın analytics izleme) için log dosyalarını ağır kullanır.
  • kayıtlara sys-admin korumak için kolay.
  • günlük dosyaları için hemen hemen her şeyi yazabilirsiniz çünkü çok esnek olabilir.
  • kayıtlara ağır ayrıştırma ve veri çıkarılması için Kur haritası azaltılmış bir tür potansiyel gerektirir.
  • günlük-db yapıları çok uygulama yakın zamanda etrafında bazı özellik sıra çok daha kısa yapıyoruz. Bu bir lütuf ya da bir lanet olabilir. Muhtemelen büyük olasılıkla son derece birleştiğinde bir uygulama ile bitireceğiz bu yana uzun vadede küfür ve analitik kod tabanı.
  • günlük-db günlük dosyaları yalnızca günlük-db güncelleme yapmak için yeteneği verir ve Ekle ilgili olarak Ekle beri günlüğü sesler ve fazlalıklar azaltabilir (eğer cesaretin varsa normalleştirme).
  • günlük-db veritabanı bölümleme ve/ile gidersen çok hızlı ve ölçülebilir olabilir veya çok-günlük veritabanı (aşağı tekrarlamalı veriler üzerinden yeniden katılmak)

Günlük veritabanı üzerinde bazı stres testleri benim durumda gerekli olduğunu düşünüyorum. En azından bu şekilde ben ne kadar biliyorum.

Son zamanlarda, belge tabanlı veritabanları Redis gibi anahtar-değer / biraz, Tokyo Kabine ve MongoDB araştırıyordum. Hızlı ekleme bu veritabanları Olası kalıcılık, yüksek (yaz) iş ve değişen derecelerde sorgulama yetenekleri sağlar beri tatlı yerinde olabilir. Veri ayıklama işlemi ve harita azaltarak günlük dosyaları konser ile ayrıştırma çok daha basit hale getirebilirler.

Uzun vadede, önemli sağlam analytics, veri deposu var olduğuna inanıyorum. Analitik veri ve Başkan yardımcısını azat uygulama verileri tam tersi büyük bir zafer olabilir.

< / ^ hr .

Son olarak, sadece tartışma genişletmek için StackOverflow üzerinde yakından ilişkili benzer soru burada çok var işaret etmek istiyorum.

< / ^ hr .

Düzenleme:

rsyslog çok ilginç görünüyor. Doğrudan yazma özelliği MySQL veriyor. Eğer Ruby kullanıyorsanız, günlük gem bakmak gerekir. Çoklu hedef günlüğü yetenekleri sağlar. Gerçekten çok hoş.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Hayes

    Damien Hayes

    11 Mart 2008
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008