Laravel com Graylog usando Autenticação via Token
O Graylog é uma ferramenta poderosa para coletar, analisar e visualizar logs em tempo real. Para aumentar a segurança, é possível configurar uma autenticação via token para restringir o acesso aos dados de log. A seguir, mostraremos como integrar uma aplicação Laravel 9 ao Graylog com essa medida adicional de segurança.
Instale o pacote monolog/monolog
:
Antes de começar, você precisará instalar o pacote monolog/monolog
usando o Composer. Abra o terminal e execute o seguinte comando:
composer require monolog/monolog
Configure o canal de log do Laravel:
Em seguida, configure o canal de log do Laravel para enviar os logs para o Graylog. Para isso, você precisará adicionar o seguinte código ao arquivo config/logging.php
:
'graylog' => [
'driver' => 'syslog',
'level' => 'debug',
'handler' => \Monolog\Handler\SyslogUdpHandler::class,
'handler_with' => [
'host' => env('GRAYLOG_HOST', 'localhost'),
'port' => env('GRAYLOG_PORT', 12201),
],
],
Configure as variáveis de ambiente:
Em seguida, você precisará adicionar as seguintes variáveis de ambiente ao arquivo .env
para especificar o endereço e a porta do servidor Graylog:
GRAYLOG_HOST=graylog.example.com
GRAYLOG_PORT=12201
Adicione o token de autenticação ao canal de log:
Por fim, você precisará adicionar o token de autenticação ao canal de log do Laravel para garantir que apenas as solicitações autorizadas possam enviar dados de log para o Graylog. Para isso, basta adicionar o seguinte código ao arquivo config/logging.php
:
'graylog' => [
'driver' => 'syslog',
'level' => 'debug',
'handler' => \Monolog\Handler\SyslogUdpHandler::class,
'handler_with' => [
'host' => env('GRAYLOG_HOST', 'localhost'),
'port' => env('GRAYLOG_PORT', 12201),
'token' => env('GRAYLOG_TOKEN', ''),
],
],
Configure a variável de ambiente para o token:
Por fim, adicione a variável de ambiente para o token de autenticação ao arquivo .env
:
GRAYLOG_TOKEN=seu_token_secreto
Verifique a integração:
Agora que você já configurou a integração entre a aplicação Laravel 9 e o Graylog com autenticação via token, é hora de verificar se tudo está funcionando corretamente. Para fazer isso, você pode adicionar algum código que gere logs na aplicação e verificar se eles aparecem no Graylog.
Por exemplo, você pode adicionar o seguinte código a um controlador na aplicação Laravel:
use Log;
public function testLog()
{
Log::info('Test log message');
return 'Log message sent';
}
Ao acessar a URL correspondente a esta rota, você deverá ver a mensagem de log no Graylog.
Em resumo, a integração da aplicação Laravel 9 com o Graylog com autenticação via token é uma maneira eficiente de garantir que os dados de log estejam seguros e acessíveis para análise e visualização. Com esta configuração, você poderá aproveitar todas as funcionalidades do Graylog para melhorar a qualidade e a segurança da sua aplicação.