"Sem servidor" significa apenas que você tem microsserviços relativamente simples, geralmente apenas um pequeno aplicativo da web ou uma única função que é automaticamente conectada a um front-end REST. Os mesmos conceitos se aplicam aos serviços da Web mais tradicionais: geralmente alguma mistura de syslog remoto e gravadores ElasticSearch.
O syslog em rede ou remoto existe há muito tempo e possui um conjunto de ferramentas bastante robusto. Você precisaria executar o servidor syslog central, mas o protocolo é muito simples e existem bibliotecas de clientes puras em todos os idiomas que você pode usar para enviar logs. Um problema comum com o syslog remoto é que ele tradicionalmente se baseia no UDP. Isso significa que, sob carga pesada, algumas mensagens de log podem ser perdidas. Isso pode ser uma coisa boa, ajudando a evitar uma sobrecarga em cascata, mas é algo para estar ciente. Alguns daemons syslog mais recentes também suportam um protocolo baseado em TCP, mas o suporte ao cliente é menos unificado, assim como sua pesquisa.
Mais recente, mas muito popular, é o logon no ElasticSearch. Isso é útil principalmente devido ao painel do Kibana e ao Logstash com iluminação (geralmente chamado ELK, ElasticSearch + Logstash + Kibana). A Amazon ainda oferece uma opção hospedada do ElasticSearch, tornando um pouco mais fácil começar. O ES usa uma API REST relativamente simples; portanto, qualquer idioma com um cliente HTTP (leia-se: todos eles) deve estar bem com o log no ES, mas certifique-se de ter cuidado ao bloquear as operações de rede em casos de interrupções parciais do sistema (por exemplo, verifique se o o aplicativo não ficará preso em uma chamada de log que nunca será bem-sucedida e deixará de atender às solicitações do usuário).
Topologias de log mais complexas são limitadas apenas pela sua imaginação, embora atualmente você veja muito o banco de dados / fila Kafka / o que você quiser chamá-lo como um ponto de conexão em sistemas de distribuição de logs muito complexos .
No lado "sem servidor", geralmente você deseja integrar-se a esses sistemas diretamente no nível da rede, enviando dados de log diretamente para o syslog ou ES a partir do seu serviço / função, em vez de gravar em arquivos locais (embora talvez ecoe para aqueles também para depuração e desenvolvimento local).