Laravel com Graylog usando Autenticação via Token

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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *