Uma das coisas com que de certeza já se depararam é o facto de quando se utilizam dispositivos com firmware Tasmota, ou outros similares que criam logs, e falta a energia (ou o dispositivo faz reset) não se conseguir saber o que aconteceu anteriormente porque o log se perde.
Felizmente, o Tasmota e outros firmwares têm a capacidade de enviar os dados do log para um servidor próprio que guarda esses logs de forma permanente e ao qual podemos ter acesso mesmo que o dispositivo reinicie e se perca o log local. Pesquisei durante algum tempo por um software próprio para o efeito mas não encontrei nada que cumprisse todos os meus requisitos: gratuito, acesso web, leve em termos de recursos e fácil de utilizar.
Lancei então ao @ricain o desafio de criar um container LXC para Proxmox com um sistema de logs que cumprisse os meus requisitos. Passado algum tempo enviou-me um container para eu testar e não podia esperar melhor! Muito rápido, extremamente fácil de usar, ridiculamente leve e com interface web. Era esse mesmo container que utilizava até à semana passada quando ele criou esta versão final que vai ser usada no tutorial. É esta versão que uso agora no meu sistema e sem o mínimo de problemas. Quando digo que este logger é ridiculamente leve, refiro-me a isto:
Este captura de ecran é do meu syslogger a gravar logs de 25 dispositivos (23 a reportar a cada 60 segundos e dois deles a reportar a cada 15 segundos). Como podem ver abaixo, nas ultimas 24 horas o valor máximo do CPU foi de 0.03% e a memória máxima utilizada foi 18.53Mib…
Este container é baseado em CentOS, utiliza o rsyslog como servidor de registo de logs e o tailon como interface de apresentação dos mesmos. A porta usada para enviar os logs é a 514. No final do tutorial têm links para estes programas.
Download e Configuração no Proxmox
- Descarregar o ficheiro
syslogger_lxc.tar.gz
do link abaixo.
- Depois de descarregado o ficheiro deverão abrir o Proxmox e clicar em
local
.
- De seguida clicam em
Upload
.
- Seleccionar
Container template
na opçãoContent:
, clicar emSelect File...
, escolher o ficheiro que descarregaram no passo 1, clicam emupload
e esperam até terminar a transferência.
- Após terminada a transferência, o ficheiro irá aparecer na lista
- No canto superior direito, clicar na opção
Create CT
.
- Preencher o separador
General
conforme a imagem e clicar emNext
.
- Preencher o separador
Template
conforme a imagem e clicar emNext
.
- Preencher o separador
Root Disk
conforme a imagem e clicar emNext
.
- Preencher o separador
CPU
conforme a imagem e clicar emNext
.
- Preencher o separador
Memory
conforme a imagem e clicar emNext
.
- Preencher o separador
Network
conforme a imagem e clicar emNext
.
NOTA: Os campos
IPv4/CIDR
eGateway (IPv4)
devem ser preenchidos em função da vossa rede
- Preencher o separador
DNS
conforme a imagem e clicar emNext
.
- No separador
Confirm
basta seleccionar a opçãoStart after created
e clicar emFinish
.
- Irá então aparecer uma janela com o progresso da criação do container. No final podem fechar a janela no
X
do canto superior direito.
- Antes de acabarmos, falta apenas aceder às opções do vosso container e alterar a opção
Start at boot
paraYes
dando um duplo clique na respectiva linha, seleccionando a opção e clicando no botãoOK
.
- E pronto, o syslogger está preparado para receber os logs dos vossos dispositivos!
Configuração dos Dispositivos Tasmota
- Aceder à interface de um dispositivo e escolher a opção
Configuration
.
- De seguida escolher a opção
Configure Logging
.
- Preencher as opções
Syslog host
eSyslog port
com o endereço IP do vosso Syslogger (que foi definido no passo 12) e porta 514 respectivamente.
- Finalmente clicar em
Save
. E já está!
Acesso aos Logs
Existem dois modos de aceder aos logs e eu aconselho a usar ambos. O primeiro, através do HA e o segundo directamente pelo browser. Este ultimo é muito util caso o HA esteja em baixo ou com algum problema.
Via Home Assistant
- Para aceder aos logs a partir do vosso HA, abram o ficheiro
configuration.yaml
e adicionem as seguintes linhas, não esquecendo de substituir o<ip-do-syslogger>
pelo endereço IP do syslogger (que foi definido no passo 12).
#### SIDEBAR ITEMS
panel_iframe:
menu_syslog:
title: 'Syslog'
url: 'http://<ip-do-syslogger>:8080/'
icon: mdi:database-edit
- Após fazer reboot ao HA terão acesso ao syslogger através do menu do lado esquerdo do HA.
Via Browser
- Para aceder via browser basta escrever o endereço IP do syslogger (que foi definido no passo 12) seguido da porta 8080, assim
http://<ip-do-syslogger>:8080
.
Conclusão
Embora se fale neste tutorial nos dispositivos baseados em Tasmota, existem outros dispositivos que podem ser configurados para enviar os logs para o syslogger. Existem também alguns softwares, como o Unifi Controller por exemplo, que também têm a funcionalidade de enviar logs para um syslogger remoto.
Caso queiram saber mais sobre os programas utilizados neste syslogger, visitem os seguintes links: