„Bezserwerowy” oznacza po prostu, że masz stosunkowo proste mikrousługi, zazwyczaj tylko małą aplikację internetową lub pojedynczą funkcję, która jest automatycznie połączona z interfejsem REST. Obowiązują te same koncepcje, jak w przypadku bardziej tradycyjnych usług internetowych: zwykle niektóre kombinacje zdalnych programów zapisujących syslog i ElasticSearch.
Sieciowy lub zdalny syslog istnieje już od dłuższego czasu i ma dość solidny zestaw narzędzi. Będziesz musiał uruchomić centralny serwer (serwery) syslog, ale protokół jest bardzo prosty i istnieją biblioteki czystych klientów w każdym języku, którego można używać do wysyłania dzienników. Jednym z powszechnych problemów ze zdalnym syslogiem jest to, że tradycyjnie opierał się on na UDP. Oznacza to, że pod dużym obciążeniem niektóre komunikaty dziennika mogą zostać utracone. Może to być dobra rzecz, pomagająca uniknąć przeciążenia kaskadowego, ale należy o tym pamiętać. Niektóre nowsze demony syslog obsługują również protokół oparty na TCP, ale obsługa klienta jest mniej ujednolicona, więc po prostu przeprowadź badania.
Nowszym, ale bardzo popularnym jest logowanie do ElasticSearch. Jest to szczególnie przydatne ze względu na pulpit nawigacyjny Kibana i podświetlenie Logstash (często nazywane ELK, ElasticSearch + Logstash + Kibana). Amazon oferuje nawet hostowaną opcję ElasticSearch, co nieco ułatwia rozpoczęcie pracy. ES używa stosunkowo prostego interfejsu API REST, więc każdy język z klientem HTTP (czytaj: wszystkie z nich) powinien być w porządku z logowaniem do ES, ale upewnij się, że jesteś ostrożny w blokowaniu operacji sieciowych w przypadku częściowych awarii systemu (tj. Upewnij się, że twój aplikacja nie utknie w wywołaniu logowania, które nigdy się nie powiedzie i przestanie obsługiwać żądania użytkowników).
Bardziej złożone topologie rejestrowania są ograniczone tylko twoją wyobraźnią, choć w dzisiejszych czasach będziesz dużo korzystać z bazy danych / kolejki Kafka / cokolwiek chcesz zadzwonić jako punktu połączenia w bardzo złożonych systemach dystrybucji logów .
Po stronie „bezserwerowej” zazwyczaj chcesz zintegrować się z tymi systemami bezpośrednio na poziomie sieci, więc wysyłaj dane dziennika bezpośrednio do syslog lub ES z usługi / funkcji, zamiast pisać do plików lokalnych (choć może echo tych plików również do lokalnego debugowania i programowania).