Mamy folder dzienników błędów Elmah w formacie XML. Pliki te będą w milionach, a każdy plik może mieć rozmiar do 50 kb. Musimy mieć możliwość wyszukiwania plików (np. Jakie błędy wystąpiły, jaki system zawiódł itp.). Czy mamy system o otwartym kodzie źródłowym, który indeksuje pliki i może nam pomóc w przeszukiwaniu plików za pomocą słów kluczowych? Spojrzałem na Lucene.net, ale wygląda na to, że będę miał kod aplikacji. Proszę doradzić.Wyszukiwanie plików dziennika błędów elmah (być może w 1000)
Odpowiedz
Jeśli potrzebujesz logów w folderze w formacie XML, może być użyteczny elmah-loganalyzer.
Można również użyć Microsoft Log Parser wykonać "sql jak" zapytaniami ponad plików xml:
LogParser -i:XML "SELECT * FROM *.xml WHERE detail like '%something%'"
EDIT:
Można użyć kombinacji nuczy + SOLR lub logstash + Elastic Search jako rozwiązanie indeksujące.
- http://wiki.apache.org/nutch/NutchTutorial
- http://lucene.apache.org/solr/tutorial.html
http://blog.building-blocks.com/building-a-search-engine-with-nutch-and-solr-in-10-minutes
- http://www.elasticsearch.org/tutorials/using-elasticsearch-for-logs/
- http://www.javacodegeeks.com/2013/02/your-logs-are-your-data-logstash-elasticsearch.html
Przetestowałem LogParser za pomocą "Log Parser jaszczurka" tylko 71 plików xml i wydaje się bardzo bardzo powolny. Potrzebowałbym tutaj rozwiązania indeksującego. –
Zobacz inne linki. Myślę, że każda z tych dwóch opcji pasuje do twoich wymagań. – nimeshjm
Jesteśmy kilku programistów wykonujących stronę internetową http://elmah.io. elmah.io indeksuje wszystkie twoje błędy (w ElasticSearch) i pozwala robić fajne wyszukiwania, grupować błędy, ukrywać błędy, błędy filtra czasu i więcej. Jesteśmy obecnie w wersji beta, ale jeśli zarejestrujesz się na http://elmah.io, otrzymasz link do strony w wersji beta.
Niestety, elmah.io nie importuje istniejących dzienników błędów. Otworzymy źródło implementacji typu ErrorLog ELMAH, który indeksuje twoje błędy we własnym ElasticSearch (obejrzyj https://github.com/elmahio dla projektu). Znowu ten dziennik błędów nie będzie indeksował twoich istniejących dzienników błędów, ale możesz zaimplementować analizator składający się z plików XML i zaindeksować wszystko przy użyciu naszego programu rejestrującego błędy Open Source. Możesz także zaimportować błędy bezpośrednio do elmah.io za pośrednictwem naszego API, jeśli nie chcesz zaimplementować nowego interfejsu na górze ElasticSearch.
A projekt jest na żywo: https://github.com/elmahio/Elmah.Io.ElasticSearch – ThomasArdal
Może to być czas na przełączenie się na 'SqlErrorLog'. – jrummell
Jest to decyzja podjęta przez kogoś, kto ma "dużo wyższą" pensję niż ja. –