Buduję narzędzie do przeglądania dzienników, które będzie obsługiwać wyszukiwanie w czasie rzeczywistym w TB dzienników. Zdecydowałem się przechowywać logi w Solr i używać go jako wyszukiwarki. Będę używać Django jako ramy w moim projekcie. Aby użyć Solr z Django zobaczyłem, że jest stóg siana. Teraz moja architektura będzie taka.Django, Haystack, Solr, decyzja dotycząca architektury MongoDB
Store Index Search Show
Log Stream ----------------> Solr --------> Haystack ------> Django
Moje logi są zwykłymi dziennikami serwera linuksowego, takimi jak sieć, operacyjna, błąd itp. Syslog wysyła dzienniki. Pozwolę na filtrowanie oparte na całej linii dziennika. Pozwolę sortowanie według kolumn, ex: IP, data kolumny kolumny itp
Przykład dziennika:
Dec 11 13:24:03 2012 [firewall] R0 SRC=192.168.9.11 DST=192.168.11.29 LEN=83 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=36904 DPT=161 LEN=63
chcę zapytać czy lepiej używać MongoDB jako pamięci masowej, filtrowania i wyszukiwania w dziennikach lub Solr zrobi to lepiej. Elasticsearch również pojawia się w moim umyśle. Jaki będzie twój wybór w takim przypadku.
Z góry dziękuję.
dlaczego potrzebujesz MongoDB? Solr zapisuje logi już dla ciebie. –
Na przykład tutaj: http://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data Używają hdfs do przechowywania logów, które zamieniłem na MongoDB. Solr indeksuje tylko. – denizeren
Wygląda na to, że nie będę potrzebował MongoDB, jak pokazano tutaj http://graylog2.org/about. Wystarczy tylko wyszukiwarka. – denizeren