Como centralizar logs com o Journald no Ubuntu 20.04 | DigitalOcean

Como centralizar logs com o Journald no Ubuntu 20.04 | DigitalOcean

Os logs de sistema são um componente extremamente importante no gerenciamento de sistemas Linux. Eles fornecem uma visão valiosa sobre como os sistemas estão funcionando e também como eles estão sendo usados, porque, além de erros, eles registram informações operacionais como eventos de segurança.

O autor selecionou o [Free and Open Source Fund_](https://www.brightfunds.org/funds/foss-nonprofits) para receber uma doação como parte do programa [Write for DOnations_](https://do.co/w4do-cta).

Introdução

Os logs de sistema são um componente extremamente importante no gerenciamento de sistemas Linux. Eles fornecem uma visão valiosa sobre como os sistemas estão funcionando e também como eles estão sendo usados, porque, além de erros, eles registram informações operacionais como eventos de segurança. A configuração padrão para sistemas Linux é para armazenar seus logs localmente no mesmo sistema onde eles ocorreram. Isso funciona para sistemas standalone, mas rapidamente torna-se um problema à medida que o número de sistemas aumenta. A solução para gerenciar todos esses logs é criar um servidor de logs centralizado onde cada host Linux envia seus logs, em tempo real, para um servidor de gerenciamento de logs dedicado.

Uma solução de log centralizada oferece vários benefícios em comparação com o armazenamento de logs em cada host:

  • Reduz a quantidade de espaço em disco necessária em cada host para armazenar arquivos de log.
  • Os logs podem ser retidos por mais tempo, pois o servidor de log dedicado pode ser configurado com mais capacidade de armazenamento.
  • Análise de log avançada pode ser realizada, o que requer logs a partir de vários sistemas e também mais recursos de computação do que podem estar disponíveis nos hosts.
  • Os administradores de sistemas podem acessar os logs para todos os seus sistemas nos quais eles talvez não consigam efetuar login diretamente por questões de segurança.

Neste guia, você irá configurar um componente do conjunto de ferramentas systemd para retransmitir mensagens de log de sistemas cliente a um servidor de coleta de log centralizado. Você irá configurar o servidor e o cliente para usar certificados TLS para criptografar as mensagens de log à medida que elas são transmitidas por redes inseguras, como a internet e também para autenticar um ao outro.

Pré-requisitos

Antes de iniciar este guia, será necessário o seguinte:

  • Dois servidores Ubuntu 20.04.
  • Um usuário não-root com privilégios sudo em ambos os servidores. Siga o guia Initial Server Setup with Ubuntu 20.04 para instruções sobre como fazer isso. Você também deve configurar o firewall UFW em ambos os servidores, conforme explicado no guia.
  • Dois nomes de host que apontam para seus servidores. Um nome de host para o sistema client que gera os logs e outro para o server de coleta de log. Saiba como apontar nomes de host para os Droplets da DigitalOcean consultando a documentação de Domínios e DNS.

Este guia irá usar os seguintes dois nomes de host de exemplo:

  • client.your_domain: O sistema cliente que gera os logs.
  • server.your_domain: O servidor de coleta de log.

Faça login tanto no cliente quanto no servidor em terminais separados via SSH como o usuário sudo não-root para iniciar este tutorial.

Nota : ao longo do tutorial, os blocos de comando são rotulados com o nome do servidor (client  ou server ) em que o comando deve ser executado.

Passo 1 — Instalando o systemd-journal-remote

Neste passo, você irá instalar o pacote systemd-journal-remote no client e no server. Este pacote contém os componentes que o client e o server usam para transmitir as mensagens de log.

Primeiro, tanto no client quanto no server, execute uma atualização de sistema para garantir que o banco de dados de pacotes e o sistema estejam atualizados:

Client and Server

sudo apt update
sudo apt upgrade

Em seguida, instale o pacote systemd-journal-remote:

Client and Server

sudo apt install systemd-journal-remote

No server, habilite e inicie os dois componentes [systemd](https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal) que ele precisa para receber mensagens de log com o seguinte comando:

Server

sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable systemd-journal-remote.service

A opção --now no primeiro comando inicia os serviços imediatamente. Você não o usou no segundo comando, porque este serviço não irá iniciar até que ele tenha certificados TLS, que você irá criar no próximo passo.

No client, habilite o componente que o systemd usa para enviar as mensagens de log para o servidor:

Client

sudo systemctl enable systemd-journal-upload.service

Em seguida, no servidor, abra as portas 19532 e 80 no firewall UFW. Isso permitirá ao servidor receber as mensagens de log do cliente. A porta 80 é a porta que o certbot irá usar para gerar o certificado TLS. Os seguintes comandos irão abrir essas portas:

Server

sudo ufw allow in 19532/tcp
sudo ufw allow in 80/tcp

No cliente, você só precisa abrir a porta 80 com este comando:

Client

sudo ufw allow in 80/tcp

Agora, você instalou os componentes necessários e concluiu a configuração básica do sistema no cliente e no servidor. Antes de configurar esses componentes para começar a retransmitir mensagens de log, você registrará os certificados TLS Let’s Encrypt para o client e o server usando o utilitário [certbot](https://certbot.eff.org/).

ubuntu

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

How to Install Microsoft Teams on Ubuntu 20.04

In this tutorial, we will show you how to install Microsoft Teams on Ubuntu 20.04 machine. we can install teams using Debian installer file or by adding microsoft repository.

2 Ways to Upgrade Ubuntu 18.04/18.10 To Ubuntu 19.04 (GUI & Terminal)

This tutorial is going to you 2 ways to upgrade Ubuntu 18.04 and Ubuntu 18.10 to 19.04. The first method uses the graphical update manger and the second method uses command line. Usually you use the graphical update manager to upgrade Ubuntu desktop and use command line to upgrade Ubuntu server, but the command-line method works for desktops too.

How to Install TeamViewer on Ubuntu 20.04

In this tutorial, we will walk you through how to install TeamViewer on Ubuntu 20.04 Desktop through the command line using the TeamViewer .deb package.Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges.

How to Install PgAdmin 4 on Ubuntu 20.04

How to Install PgAdmin 4 on Ubuntu 20.04 - We are going to show you how to install pgAdmin4 on Ubuntu 20.04 LTS in Server Mode as a web application using apache2 and Wsgi module.

2 Ways to Upgrade Ubuntu 18.04 To Ubuntu 20.04

2 Ways to Upgrade Ubuntu 18.04 To Ubuntu 20.04 : using the graphical update manager and using the command line. Normally you use ...