Como configurar o systemd journal-remote?

17

Como configurar o systemd journal-remote para escutar em uma porta específica?

Tudo o que posso encontrar são exemplos de linha de comando. E, com base na página de manual, não parece haver nenhuma opção no journal-remote.conf.

John Siu
fonte

Respostas:

31

Vendo que não há nem um único comentário, decidi continuar minha pesquisa e finalmente reuni a configuração.

SO: Ubuntu 16.04

systemd: 229-1ubuntu2

systemd-journal-remote: 229-1ubuntu2

Carregar configuração do servidor

Este é realmente simples, o exemplo online está correto e só precisa tocar em um arquivo de configuração.

Use o seguinte comando para instalar systemd-journal-remote

sudo apt-get install systemd-journal-remote

Edit /etc/systemd/journal-upload.conf.

/etc/systemd/journal-upload.conf

[Upload]
URL=http://10.0.0.1:19532
# ServerKeyFile=/etc/ssl/private/journal-upload.pem
# ServerCertificateFile=/etc/ssl/certs/journal-upload.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem

Para garantir que o carregamento automático do diário seja iniciado na inicialização

sudo systemctl enable systemd-journal-upload.service

Reinicie o upload do diário após a configuração.

sudo systemctl restart systemd-journal-upload.service

Se você estiver usando http, pode fazer o que foi mencionado acima e deixar as 3 linhas inferiores comentadas. Para o modo ativo https, remova o comentário e crie esses arquivos de certificação.

O URL realmente determina o protocolo de transferência (http / https) e a porta de destino a ser usada.

Além disso, se você deseja evitar a substituição acidental por atualização futura do pacote, você pode criar um diretório /etc/systemd/journal-upload.conf.d e colocar seu arquivo de configuração, contanto que o arquivo termine com uma extensão .conf.

Como uma observação lateral, estou fazendo isso em um contêiner LXC e parece que o serviço não usará o / etc / hosts para a resolução de DNS, acabo usando o endereço IP aqui. Portanto, se você usar o nome do host e vir a mensagem de erro de que o upload do diário não pode atingir o destino, tente com o endereço IP.

Recebendo configuração do servidor

O servidor receptor me fornece a maior parte do problema ao procurar informações de configuração. E, diferentemente do servidor de upload, a configuração está espalhada nesse lado.

Utilize o seguinte comando para instalar systemd-journal-remote e ativar a porta de atendimento

sudo apt-get install systemd-journal-remote
sudo systemctl enable systemd-journal-remote.socket

Há duas maneiras, ativa e passiva, de configurar o controle remoto do diário. Estou usando o modo passivo aqui.

Número da porta

O arquivo de configuração para a porta de atendimento do diário é /etc/systemd/system/sockets.target.wants/systemd-journal-remote.socketo seguinte. ListenStream é o número da porta.

Diferente do lado do upload, essa configuração não tem nada a ver com o protocolo (http / https) a ser usado. Ele especifica apenas o número da porta de atendimento.

[Unit]
Description=Journal Remote Sink Socket

[Socket]
ListenStream=19532

[Install]
WantedBy=sockets.target

Protocolo (http / https) e localização do diário / log

Para alterar o protocolo de transferência diário e o local de gravação, copiar /lib/systemd/system/systemd-journal-remote.servicepara /etc/systemd/system/, editar, em seguida /etc/systemd/system/systemd-journal-remote.service.

[Unit]
Description=Journal Remote Sink Service
Documentation=man:systemd-journal-remote(8) man:journal-remote.conf(5)
Requires=systemd-journal-remote.socket

[Service]
ExecStart=/etc/systemd/systemd-journal-remote \
          --listen-http=-3 \
          --output=/var/log/journal/remote/
User=systemd-journal-remote
Group=systemd-journal-remote
PrivateTmp=yes
PrivateDevices=yes
PrivateNetwork=yes
WatchdogSec=3min

[Install]
Also=systemd-journal-remote.socket

O --listen-http=-3especifique o diário recebido está usando http. Se você deseja usar https, altere-o para --listen-https=-3.

--output=/var/log/journal/remote/especifique o coletor (diretório de salvamento) do diário recebido. Se não existir, crie-o e mude seu proprietário para systemd-journal-remote.

sudo mkdir /var/log/journal/remote
sudo chown systemd-journal-remote /var/log/journal/remote

Reinicie journal-remote.socket após a configuração.

sudo systemctl daemon-reload

E o mais óbvio /etc/systemd/journal-remote.conf?

[Remote]
# Seal=false
# SplitMode=host
# ServerKeyFile=/etc/ssl/private/journal-remote.pem
# ServerCertificateFile=/etc/ssl/certs/journal-remote.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem

Como não estou usando https, não precisa alterar nada.

John Siu
fonte
> Seeing that there is not even a single comment, Isso não surpreende, yoiu fez sua pergunta às 22: 12UTC de uma sexta-feira, para a maioria das pessoas que realmente responde a perguntas aqui no final de semana.
user9517 suportadoGoFundMonica
@Iain lol, eu não percebi isso. Eu estava olhando para o Jornal de remote.conf para 3 noites antes de eu postar a pergunta, para que possa disse que eu estava desesperado: p
John Siu
Você precisa limpar / girar os arquivos gerados com esta instalação?
28516 Matt W
2
@MattW Não há necessidade do servidor de upload. Para o servidor receptor, a configuração do diário pode cuidar da rotação.
John Siu 28/07
1
Você não deve editar os arquivos em / lib / systemd / system. O systemd fornece a você / etc / systemd / system / unidades personalizadas. Apenas copie e cole o arquivo em / lib / systemd / system nesse / etc / systemd / system e ele substituirá o da lib.
Nhooyr