Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 3
#devops #linux #programowanie

Jak macie aplikację jako usługę i musicie zrzucić logi to jak to robicie?

Wiem, że da się czytać te logi przez journalctl, ale ja bym chciał po prostu skopiować cały plik z logami i komuś wysłać.

Nie chodzi mi o odczytanie np. ostatniego dnia. Aplikacja chodzi np. rok bez restartu i ktoś może chcieć przeczytać np. jak aplikacja wystartowała.

Przecież nikt nie będzie tego czytał/szukał na produkcyjnej maszynie...

Jak to się powinno robić?
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mk321: u mnie w HP Server Automation jest zakładka inventory gdzie możesz po zawartości servera chodzić bez wchodzenia na shella. I masz tam opcje zobacz plik albo kopiuj do siebie lokalnie
  • Odpowiedz
@mk321:
generalnie to opcje są różne, popularnym wyjściem jest użycie ELK stack, w dużym skrócie:
- Elasticsearch - przechowuje logi, umożliwia łatwe przeszukiwanie
- Logstash - zbiera logi i zapodaje do elastica
- Kibana - wizualizacja, eksploracja logów z elastica
Ale to jest rozwiązanie stosunkowo skomplikowane, trzeba by mieć najlepiej osobną maszynę pod to, ktoś to
  • Odpowiedz
@mk321: Usługi pisane w pythonie można skonfigurować, aby kierowały logi oprócz sysloga, to np do osobnego pliku. Kilka linijek konfiguracji i gotowe.

  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@rozlalem-jogurt: aplikacja jest zainstalowana jako service w najprostszy możliwy sposób (nie ma żadnej konfiguracji niewymaganej np. miejsca zapisu). Nawet jak znajdę ten plik, to spodziewam się tam plików binarnych. Jak przekopuję to komuś, to jak ma na tym puścić sobie journalctl?

@open-alpha: tak, chodzi mi o sposób. Nie mam takich narzędzi HP. Zwykły czysty system Ubuntu.

@barteb: nie korzystamy z ELK. Nikt nie będzie tego utrzymywał,
  • Odpowiedz
Jakbym miał gotowy plik, to kompresja i przekopiowanie to chwila.


@mk321: niewiele więcej niż wygenerowanie skompresowanego pliku:

journalctl $FLAGS | gzip -c > logs.gz

I masz wszystko co trzeba. A jak chcesz, to możesz sobie skonfigurować wysyłkę logów na zewnętrzną maszynę i tam dać developerowi dostęp po HTTP dzięki czemu nawet nie będzie musiał prosić administratora o kopiowanie tych logów dla niego, tylko sam sobie po wszystko sięgnie.
  • Odpowiedz
@mk321: możesz poszukać pliku *.service (/etc/systemd/system/* /run/systemd/system/* /lib/systemd/system/*) od tego serwisu i tam może być zapisana ścieżka do logów, albo zrzucić zawartość journalctl do pliku txt
  • Odpowiedz
@mk321:
Ja preferuję prostego i starego rsysloga.
Stawiasz se serwerek centralny a reszta do niego pisze.

A wtedy na tym serwerze centralnym możesz se robić co chcesz: postawić ELK, Grayloga czy splunki.

Ale jak ci się Graylog s-------i (jak u nas mniej więcej raz na 3 tygodnie), albo nie chce Ci się nim zarządzać to możesz se po prostu pliki z logami przelecieć catem, tailem czy coś.
  • Odpowiedz