2012-12-11 25 views
5

Tôi đang xây dựng tiện ích xem nhật ký sẽ xử lý tìm kiếm trong thời gian thực trong các bản ghi nhật ký. Tôi đã quyết định để lưu trữ các bản ghi trong Solr và sử dụng nó như là công cụ tìm kiếm.Tôi sẽ sử dụng Django như khuôn khổ trong dự án của tôi. Để sử dụng Solr với Django tôi thấy có haystack. Bây giờ kiến ​​trúc của tôi sẽ như thế này.Django, Haystack, Solr, MongoDB quyết định kiến ​​trúc

   Store Index   Search    Show 
Log Stream ----------------> Solr --------> Haystack ------> Django 

Nhật ký của tôi là nhật ký máy chủ Linux bình thường, như mạng, hoạt động, lỗi, vv Syslog đang gửi nhật ký. Tôi sẽ cho phép lọc dựa trên tất cả các dòng đăng nhập. Tôi sẽ cho phép sắp xếp theo cột, cho ví dụ: cột ip, cột ngày, vv

Ví dụ log:

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 

Tôi muốn hỏi là nó tốt hơn để sử dụng MongoDB như lưu trữ, lọc và tìm kiếm trong nhật ký hoặc Solr sẽ làm tốt hơn. Elasticsearch cũng xuất hiện trong đầu tôi. Điều gì sẽ là sự lựa chọn của bạn trong trường hợp như vậy.

Xin cảm ơn trước.

+0

tại sao bạn cần MongoDB? Solr đang lưu trữ các bản ghi đã dành cho bạn. –

+0

Ví dụ ở đây: http://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data Họ sử dụng hdfs để lưu trữ nhật ký tôi đã thay thế bằng MongoDB. Solr chỉ lập chỉ mục. – denizeren

+0

Có vẻ như tôi sẽ không cần MongoDB như được hiển thị ở đây http://graylog2.org/about chỉ công cụ tìm kiếm sẽ là đủ. – denizeren

Trả lời

3

Tại sao tái phát minh bánh xe? Có Logstash, với giao diện tuyệt vời: Kibana. Bạn có thể cho ăn bằng rsyslog. Tuy nhiên, nếu bạn thực sự muốn/cần phải triển khai lại máy chủ đăng nhập, Logstash sử dụng ElasticSearch. Tôi sẽ đi với nó.

+0

Dự án cao cấp của tôi, vì vậy tôi phải làm điều đó :) – denizeren

Các vấn đề liên quan