Kütükte günlük taşıma ve toplama


14

UNIX / Linux makinelerindeki günlük dosyalarını nasıl analiz ediyorsunuz? Doğrudan veya syslog üzerinden kendi günlük dosyalarını oluşturan yüzlerce sunucu çalıştırıyoruz. Bunları toplamak ve önemli olayları seçmek için iyi bir çözüm arıyorum. Bu sorun 3 bileşene ayrılıyor:

1) Mesaj taşıma

Klasik yol, iletileri uzaktaki bir ana bilgisayara kaydetmek için syslog'u kullanmaktır. Bu, syslog'da oturum açan uygulamalar için iyi çalışır, ancak yerel bir dosyaya yazılan uygulamalar için daha az yararlıdır. Bunun çözümleri, syslog kullanarak iletiyi göndermek veya yerel dosyaları grep ve merkezi syslog ana bilgisayarına çıktı göndermek için bir program yazarak bir programa bağlı bir FIFO'ya oturum açmak olabilir. Bununla birlikte, iletileri syslog'a almak için araç yazma sorununa gidersek, her şeyi Facebook Scribe gibi bir şeyle değiştirsek daha iyi olur daha fazla esneklik ve güvenilirlik sunan mu?

2) Mesaj toplama

Günlük girişleri iki türden birine düşüyor gibi görünüyor: ana makine ve hizmet başına. Ana makine başına iletiler bir makinede gerçekleşen iletilerdir; disk hatalarını veya şüpheli girişleri düşünün. Hizmet başına iletiler, bir hizmeti çalıştıran ana bilgisayarların çoğunda veya tamamında oluşur. Örneğin, Apache'nin ne zaman bir SSI hatası bulduğunu bilmek istiyoruz, ancak 100 makineden aynı hatayı istemiyoruz. Her durumda, yalnızca her mesaj türünden birini görmek istiyoruz: aynı diskin arızalı olduğunu söyleyen 10 mesaj istemiyoruz ve kırık bir SSI her vurulduğunda bir mesaj istemiyoruz.

Bunu çözmenin bir yolu, aynı türden birden fazla mesajı her ana bilgisayarda bire toplamak, iletileri merkezi bir sunucuya göndermek ve daha sonra aynı türden mesajları tek bir genel etkinliğe toplamaktır. SER bunu yapabilir, ancak kullanımı gariptir. Birkaç gün süren bir uğraştan sonra bile, sadece ilkel toplamalar çalışıyordum ve SER olaylarını ilişkilendirmek için kullandığı mantığı sürekli aramak zorunda kaldım. Güçlü ama zor şeyler: Meslektaşlarımın mümkün olan en kısa sürede alabileceği ve kullanabileceği bir şeye ihtiyacım var. SER kuralları bu şartı karşılamıyor.

3) Uyarı oluşturma

İlginç bir şey olduğunda yöneticilerimize nasıl söyleyebiliriz? Grup gelen kutusuna posta gönderilsin mi? Nagios'a enjekte edilsin mi?

Peki, bu sorunu nasıl çözüyorsun? Bir plaka üzerinde cevap beklemiyorum; Ayrıntıları kendim çözebilirim, ancak kesinlikle ortak bir sorunun ne olduğu konusunda üst düzey bir tartışma harika olurdu. Şu anda cron işleri, syslog ve olayları bulmak için başka neler bilen bir karışıklık kullanıyoruz. Bu genişletilebilir, bakımı kolay veya esnek değildir ve bu nedenle yapmamamız gereken birçok şeyi kaçırırız.

Güncellenmiş: tespit edilen ana bilgisayarlar / test hizmetleri / vb için harika olan ancak günlük dosyalarını kazıma için daha az yararlı olan izleme için Nagios'u zaten kullanıyoruz. Nagios için günlük eklentileri olduğunu biliyorum, ancak ana bilgisayar başına uyarılardan daha ölçeklenebilir ve hiyerarşik bir şeyle ilgileniyorum.


Yanıtlar:


5

Günlükleri merkezileştirmek için üç farklı sistem kullandım:

  1. Bir ana bilgisayara sistem günlüğü / sistem günlüğü yönlendirme
  2. Olayları toplamak ve uyarmak için Zenoss
  3. Günlük toplama ve arama için splunk

# 3 için, her ana bilgisayardaki mesajları doğrudan splunk'a iletmek için genellikle syslog-ng kullanıyorum. Ayrıca günlük dosyalarını doğrudan ayrıştırabilir, ancak bu biraz acı verebilir.

Splunk, günlüklerinizi aramak ve kategorilere ayırmak için oldukça harika. Günlük uyarısı için splunk kullanmadım, ancak bunun mümkün olduğunu düşünüyorum.


Splunk için +1. Belirli olaylar algılandığında Splunk harici komut dosyalarını tetikleyebilirsiniz; posta gönderme veya SNMP tuzağı.
Murali Suriar

2

Tam bir açık kaynaklı HIDS olan OSSEC'e bakabilir, günlük analizi yapabilir ve eylemleri tetikleyebilir veya uyarılara posta gönderebilirsiniz. Uyarılar bir dizi basit XML tabanlı kural tarafından tetiklenir, çeşitli günlük biçimleri için önceden tanımlanmış birçok kural dahil edilir ve kendi kurallarınızı ekleyebilirsiniz

http://www.ossec.net/


1

Octopussy'e bir bakın . Tamamen özelleştirilebilir ve tüm ihtiyaçlarınızı karşılar gibi görünüyor ...

Not: Bu çözümün geliştiricisiyim.


1
Ben adında "kedi" olan bir ürün dağıtma, hatta tavsiye risk almak istemem. Muhtemelen çoğu şirkette, özellikle de BT içinde çalışan kadınlar varsa (bu günlerde oldukça yaygın), iyi gitmeyecekti.
Denizyıldızı

0

Bir izleme sistemine bakmanız gerekir, örneğin Zenoss Core . Diğer şeylerin yanı sıra, giriş sayfasında diyor:

Zenoss Olay İzleme ve Yönetimi, kullanılabilirlik izleme, performans izleme, sistem günlüğü kaynakları , SNMP tuzak kaynakları, Windows Olay günlüğü de dahil olmak üzere çeşitli kaynaklardan günlük ve olay bilgilerini toplama olanağı sağlar .

Sunucularınızı izlemek için ne kullandığınızı görün .


Zenoss'un günlük toplama özellikleri olduğunu fark etmedim. Bir göz atacağım - teşekkürler.
markdrayton
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.