Scentralizowane Logowanie Javy
Szukam sposobu na centralizację logowania rozproszonego oprogramowania (napisanego w Javie), co byłoby dość proste, ponieważ dany system ma tylko jeden serwer. Ale pamiętając, że jest bardzo prawdopodobne, że więcej instancji danego serwera będzie działać w przyszłości( i będzie do tego potrzeba więcej aplikacji), musiałby istnieć coś w rodzaju serwera logowania, który dba o przychodzące logi i czyni je dostępnymi dla użytkownika. zespół wsparcia.
obecnie sytuacja jest taka, że kilka aplikacji java korzysta z log4j, który zapisuje dane do plików lokalnych, więc jeśli problemy z expiriences klienta zespół pomocy technicznej musi poprosić o dzienniki, co nie zawsze jest łatwe i zajmuje dużo czasu. W przypadku serwera-błąd diagnoza-problem nie jest tak duży, ponieważ jest zdalny dostęp i tak, ale mimo to, monitorowanie wszystkiego przez Logging-serwer nadal miałoby sens.
While I went poprzez pytania dotyczące "scentralizowanego logowania" znalazłem Inne pytanie (właściwie jedyne z (w tym przypadku) użyteczną odpowiedzią. Problem polega na tym, że wszystkie aplikacje działają w zamkniętym środowisku (w ramach jednej sieci), a wytyczne dotyczące bezpieczeństwa nie pozwalają na wyjście z sieci oprogramowania wewnętrznego.
Znalazłem również wspaniały artykuł o tym, jak można zaimplementować taki Logging-Serwer. Ponieważ artykuł został napisany w 2001, myślałem, że ktoś może już rozwiązać ten konkretny problem. Ale moje wyniki wyszukiwania nie wyszły z niczego.
moje pytanie: czy istnieje logging-framework, który obsługuje logowanie przez sieci z scentralizowanym serwerem, do którego może uzyskać dostęp zespół wsparcia?
Specyfikacja:
- dostępność
- serwer musi być prowadzony przez nas.
- kompatybilność Java 1.5
- zgodność z heterogenicznym sieć. Protokół HTTP wysyła logi (aby uniknąć problemów z zaporą sieciową).]} W najlepszym przypadku: używa log4j lub LogBack lub w zasadzie wszystkiego, co implementuje slf4j]}
nie trzeba, ale miło mieć
- uwierzytelnianie i bezpieczeństwo jest oczywiście problemem, ale może zostać cofnięte na co najmniej chwilę(jeśli jest to otwarte oprogramowanie, rozszerzylibyśmy je na nasze potrzeby OT: zawsze oddajemy projekty ). [[21]} Eksploracja danych i analiza jest czymś, co jest bardzo pomocne, aby ulepszyć oprogramowanie, ale równie dobrze może to być aplikacja zewnętrzna.
Mój najgorszy scenariusz jest taki, że nie ma takiego oprogramowania. W takim przypadku prawdopodobnie sami byśmy to wdrożyli. Ale jeśli istnieje taka aplikacja klient-serwer, byłbym bardzo wdzięczny, gdyby nie konieczność wykonywania tej szczególnie problematycznej pracy.
Z góry dzięki
Update: rozwiązanie musi działać na kilku platformy obsługujące Javę. (Głównie Windows, Linux, niektóre HP Unix)
Update: Po wielu dalszych badaniach znaleźliśmy rozwiązanie, które udało nam się zdobyć. clusterlog.net (offline od co najmniej połowy 2015 roku) świadczy usługi logowania dla rozproszonego oprogramowania i jest kompatybilny z log4j i logback (który jest kompatybilny z slf4j). To pozwala nam analizować każdy pojedynczy użytkownik sposób przez aplikację. Dzięki temu bardzo łatwo odtworzyć zgłoszone błędy (a nawet nie zgłoszone one). Informuje nas również o ważnych wydarzeniach e-mailem i ma system raportów, w których dzienniki tego samego pochodzenia są summorized w łatwo dostępnym formacie. Zainstalowali (co było bez zarzutu) to tutaj zaledwie kilka dni temu i działa świetnie.
Aktualizacja (2016): to pytanie wciąż generuje duży ruch, ale strona, o której mówiłem, już nie istnieje.
4 answers
Możesz używać Log4j z SocketAppender, więc musisz zapisać część serwera jako przetwarzanie LogEvent. zobacz http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SocketAppender.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-19 12:34:02
NXLOG lub LogStash lub Graylogs2
Lub
LogStash + ElasticSearch (+opcjonalnie Kibana)
Przykład:
1) http://logstash.net/docs/1.3.3/tutorials/getting-started-simple
2) http://logstash.net/docs/1.3.3/tutorials/getting-started-centralized
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-12 10:36:11
Spójrz na logFaces, wygląda na to, że Twoje specyfikacje są spełnione. http://www.moonlit-software.com/
- dostępność (sprawdź) Serwer musi być prowadzony przez nas. (check)
- kompatybilność Java 1.5 (sprawdź) [[5]}zgodność z siecią heterogeniczną. (check) W najlepszym przypadku protokół używa protokołu HTTP do wysyłania logów (aby uniknąć problemów z zaporą) (prawie TCP/UDP)
- najlepszy przypadek: używa log4j lub LogBack lub w zasadzie wszystkiego, co implementuje slf4j (check)
- Authentication (check) Eksploracja i analiza danych (możliwe poprzez extension api)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-19 12:50:39
Jest gotowe do użycia rozwiązanie od Facebook- Scribe - to jest używanie Apache Hadoop pod maską. Jednak większość firm, które znam, nadal ma tendencję do tworzenia wewnętrznych systemów do tego celu. Pracowałem w jednej z takich firm i zajmowałem się tam logami jakieś dwa lata temu. Użyliśmy również Hadoop. W naszym przypadku mieliśmy następującą konfigurację:
- mieliśmy mały, dedykowany klaster maszyn do agregacji logów. [7]}pracownicy wydobywali kłody z usług produkcyjnych, a następnie analizuj poszczególne linie.
- Następnie reduktory łączyłyby niezbędne dane i sporządzały raporty.
Mieliśmy małą i stałą liczbę raportów, którymi byliśmy zainteresowani. W rzadkich przypadkach, gdy chcemy przeprowadzić inną analizę, po prostu dodajemy do tego wyspecjalizowany kod reduktora i opcjonalnie uruchamiamy go na starych logach.
Jeśli nie możesz z góry zdecydować, jakie analizy Cię interesują, lepiej będzie przechowywać uporządkowane dane przygotowane przez pracowników w HBase lub innej bazie NoSQL (tutaj, na przykład, ludzie używają Mongo DB ). W ten sposób nie będziesz musiał ponownie agregować danych z nieprzetworzonych dzienników i będziesz mógł odpytywać magazyn danych.
Istnieje wiele dobrych artykułów o takich rozwiązaniach agregacji logowania, na przykład za pomocą Pig do wyszukiwania zagregowanych danych. Pig umożliwia odpytywanie dużych zbiorów danych opartych na Hadoop za pomocą zapytań podobnych do SQL.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-19 13:07:07