Graylog: Selecionar o formato de input
Esta documentação faz parte do guia Escolher tipos de input. Consulte o guia completo aqui: Como escolher o tipo de input Graylog adequado.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Graylog cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Servidor de email SMTP ilimitado e dedicado incluído.
- Atualizações sem esforço com apenas um clique.
- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://logs.sua-empresa.com).
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução Graylog cloud hosting da Stackhero!
A primeira decisão é escolher o formato das suas mensagens de log. Existem três opções principais: RAW/Plaintext, Syslog ou GELF.
Formato RAW/Plaintext
Este é o formato mais simples. Funciona com qualquer sistema porque envia uma mensagem em texto simples. É muito fácil de utilizar e perfeito para testes iniciais, como enviar uma mensagem usando a ferramenta netcat.
Para testar, pode criar um input "Raw/Plaintext UDP" e depois enviar um log de teste com um dos seguintes comandos:
- Em macOS:
echo "Hello Graylog from UDP" | nc -u -w1 -c <XXXXXX>.stackhero-network.com 5555 - Em Linux:
echo "Hello Graylog from UDP" | nc -u -w1 <XXXXXX>.stackhero-network.com 5555
É muito simples, não é? No entanto, por ser um formato básico, irá rapidamente encontrar limitações. Por isso, desaconselhamos a sua utilização para além de testes simples.
Formato Syslog
Este é um formato bem conhecido e amplamente utilizado para armazenar e enviar logs em ambientes de servidores. Está presente em Linux, Windows, *BSD, entre outros sistemas operativos.
Se utiliza Syslog, Rsyslog ou outro serviço compatível e pretende enviar logs de um servidor para o Graylog, o input syslog é a opção mais simples.
No entanto, como o GELF é mais poderoso, se conseguir enviar mensagens no formato GELF, recomendamos que o faça, conforme explicado abaixo.
Note que o formato syslog está limitado a 1024 caracteres.
Formato GELF (recomendado)
GELF significa "Graylog Extended Log Format". Este formato foi criado pelo Graylog e tornou-se amplamente adotado por muitos produtos, estabelecendo-se como um standard.
O formato GELF é poderoso porque permite enviar logs de forma estruturada. O registo estruturado possibilita transmitir vários campos e valores, em vez de uma única mensagem de texto não estruturada. Isto facilita a análise e a pesquisa de informação pelo Graylog.
Por exemplo, se quiser enviar um log que contenha um endereço IP e um tipo de pedido, pode enviar uma mensagem com dois campos chamados ip e request_type. No Graylog, poderá pesquisar diretamente nestes campos, como por exemplo todas as requisições com a consulta: request_type: POST.
O GELF baseia-se em JSON e deve incluir pelo menos os campos version, host e short_message. Pode depois adicionar campos adicionais, que devem ser precedidos por um underscore (_).
Por exemplo, uma mensagem simples com um campo adicional chamado device_id será assim:
{
"version": "1.1",
"host": "myIotDevice",
"short_message": "Something is happening",
"_device_id": "abcd"
}
Depois, pode pesquisar todas as mensagens provenientes do dispositivo "abcd" no Graylog usando a consulta: device_id: abcd.
Para mais detalhes sobre o GELF, pode consultar a especificação oficial aqui: https://docs.graylog.org/en/4.0/pages/gelf.html.
Se quiser enviar logs de servidores ou aplicações, pode utilizar uma das muitas bibliotecas disponíveis que criam e enviam automaticamente as suas mensagens. Existem exemplos para Node.js, .NET e Python.