Data Streaming

Edite no GitHub

Data Streaming é um produto de Edge Analytics que permite que você alimente suas plataformas de SIEM, big data e stream processing com dados de acesso ao seu conteúdo e aplicações, em tempo real, adicionando ainda mais inteligência ao seu negócio.

Essa integração permite que você analise o comportamento de seus usuários e da performance dos seus conteúdos, aplicações e troubleshooting, de forma simples e ágil.

  1. Acessar o Data Streaming
  2. Selecionar o Data Source
  3. Utilizar um Template
  4. Associar Domains
  5. Definir o Endpoint
  6. Ativar suas Configurações

1. Acessar o Data Streaming

Acesse o Real-Time Manager. Clique em Data Streaming em Edge Analytics ou através do menu superior esquerdo. Configure seu Data Streaming conforme as possibilidades a seguir.

Os campos marcados com asterisco são obrigatórios.


2. Selecionar o Data Source

A primeira etapa é a escolha do Data Source, que representa a aplicação na Azion que gerou os registros de eventos. Para isso, você deve selecionar de onde seus dados serão coletados, com as seguintes opções:

Edge Applications

Apresenta os dados de requisições realizadas às suas edge applications na Azion.

Variável Descrição
$bytes_sent Bytes enviados para o usuário, incluindo cabeçalho e corpo.
$client Identificador único de cliente Azion.
$configuration Identificador único de configuração Azion.
$country Nome do país do cliente remoto, por exemplo “Russian Federation”, “United States”. Detecção por geolocalização de endereço IP.
$host Informação de Host enviada na linha de requisição; ou campo Host do cabeçalho HTTP.
$http_referrer Informação da última página a qual o usuário estava, antes de realizar a requisição.
$http_user_agent A identificação da aplicação que realizou a requisição, por exemplo: Mozilla/50 (Windows NT 100; Win64; x64)
$proxy_status HTTP Status Code da origem (”-” em caso de cache).
$remote_addr Endereço IP da requisição.
$remote_port Porta remota da requisição.
$request_length Tamanho da requisição, incluindo a linha de request, cabeçalhos e corpo.
$request_method Método da requisição; usualmente “GET” ou “POST”.
$request_time Tempo de processamento da requisição com resolução de milisegundos.
$request_uri URI da requisição realizada pelo usuário, sem a informação do Host e Protocolo.
$requestPath A URI da requisição sem a informação da Query String, Host e Protocol.
$requestQuery Somente os parâmetros da URI da requisição.
$scheme Esquema da requisição: “http” ou “https”.
$sent_http_content_type Cabeçalho “Content-Type” enviado na resposta da origem.
$sent_http_x_original_image_size Cabeçalho “X-Original-Image-Size” enviado na resposta da origem (utilizado pela IMS para informar tamanho da imagem original).
$server_protocol O protocolo da conexão estabelecida, usualmente “HTTP/1.1” ou “HTTP/2.0”.
$ssl_cipher String de cifra utilizada para estabelecimento de conexão SSL.
$ssl_protocol O protocolo de uma conexão SSL estabelecida, por exemplo “TLS v1.2”.
$state Nome do estado do cliente remoto, por exemplo “RS”, “SP”.
Detecção por geolocalização de endereço IP.
$status O código do status da requisição, por exemplo: 200
$tcpinfo_rtt Tempo em microsegundos do RTT medido pela Edge para o usuário.
$time Data e hora da requisição.
$upstream_bytes_received Quantidade de bytes recebidos pela Edge da origem, caso o conteúdo não esteja em cache.
$upstream_cache_status Status de cache da Edge Pode assumir os valores “MISS”, “BYPASS”, “EXPIRED”, “STALE”, “UPDATING”, “REVALIDATED” ou “HIT”.
$upstream_connect_time Tempo em milisegundos para a Edge estabelecer uma conexão com a origem (“0” em caso de KeepAlive e “-“ em caso de cache).
$upstream_header_time Tempo em milissegundos para que o Edge receba os cabeçalhos de resposta da origem (“-“ no caso de cache).
$upstream_response_time Tempo em milisegundos para a Edge receber toda a resposta da origem, incluindo cabeçalhos e corpo (“-“ em caso de cache).
$upstream_status HTTP Status Code da origem (“-“ em caso de cache).
$waf_attack_action Informa a ação do WAF perante a ação ($BLOCK, $PASS, $LEARNING_BLOCK, $LEARNING_PASS).
$waf_attack_family Informa a classificação da infração de WAF detectada na requisição (SQL, XSS, TRAVERSAL, entre outros)

WAF

Caso tenha contratado o produto Web Application Firewall, o data source WAF Events apresentará as requisições analisadas pelo WAF para permitir que você mapeie o score atribuído à requisição, às regras de WAF que deram match, ao motivo do bloqueio e muito mais.

Variável Descrição
$blocked Informa se o WAF bloqueou ou não a ação; 0 quando não bloqueado e 1 quando bloqueado. Quando em “Learning Mode”, não será bloqueado, independente do retorno.
$client Identificador único de cliente Azion.
$configuration Identificador único de configuração Azion.
$country Nome do país do cliente remoto, por exemplo “Russian Federation”, “United States”. Detecção por geolocalização de endereço IP.
$headers Cabeçalhos da requisição analisados pelo WAF.
$host Informação de Host enviada na linha de requisição; ou campo Host do cabeçalho HTTP.
$remote_addr Endereço IP da requisição.
$requestPath A URI da requisição sem a informação da Query String, Host e Protocol.
$requestQuery Somente os parâmetros da URI da requisição.
$server_protocol O protocolo da conexão estabelecida, usualmente “HTTP/1.1” ou “HTTP/2.0”.
$time Data e hora da requisição.
$version A versão do Azion Log utilizada.
$waf_args Os argumentos da requisição.
$waf_attack_action Informa a ação do WAF perante a ação ($BLOCK, $PASS, $LEARNING_BLOCK, $LEARNING_PASS).
$waf_attack_family Informa a classificação da infração de WAF detectada na requisição (SQL, XSS, TRAVERSAL, entre outros).
$waf_learning Informa se o WAF está em modo learning, usualmente 0 ou 1.
$waf_match Lista de infrações encontradas na request, é formada por elementos chave-valor; a chave é referente ao tipo de infração detectada; o valor apresenta a string que gerou a infração.
$waf_score Informa a pontuação que será incrementada em caso de match.
$waf_server Hostname utilizado na requisição.
$waf_uri URI utilizada na requisição.

3. Utilizar um Template

O template representa uma seleção de variáveis que devem ser coletadas e um formato para transferência. Você pode selecionar templates criados e mantidos pela Azion ou customizar sua própria seleção.

  • Custom Template: Selecione a opção Custom Template para criar seu próprio Data Set personalizado, no formato JSON, e selecionar as variáveis mais adequadas às suas necessidades.

Consulte a lista de Data Sources, onde você encontra uma descrição de todas as variáveis disponíveis. Experimente.

Seus eventos serão agrupados em blocos de até 2.000 registros, separados pelo caractere \n, e enviados no payload para seu endpoint. O Data Streaming enviará seus eventos quando o bloco atingir 2000 registros ou a cada 60 segundos, o que ocorrer antes.


4. Associar Domains

Você pode associar ao Data Streaming um ou mais de seus domínios cadastrados na Azion.

Ao associar um domínio ao Data Streaming, os eventos associados a esse domínio serão coletados e enviados para seu endpoint.

Você também pode definir o percentual de dados que deseja receber do seu Data Streaming através da opção Sampling. Além de filtrar por amostragem, ainda pode reduzir custos para recebimento e análise dos dados.

  • Sampling
  1. Selecione a opção All Domains para habilitar a opção Sampling.
  2. Insira o número relativo ao percentual de dados que deseja receber. Este percentual retornará o total de dados relativo a todos os seus domínios.

Quando a opção Sampling estiver ativada, é permitido incluir apenas um Data Streaming. Caso esse Data Streaming seja desativado, a opção Add Data Streaming será habilitada novamente.


5. Definir o Endpoint

Endpoint é o destino para onde você deseja enviar os dados coletados pela Azion.

O tipo de endpoint representa o método que seu endpoint está configurado para receber os dados do Data Streaming. Conheça a seguir.

Apache Kafka

A utilização deste tipo de endpoint, faz com que o serviço de Data Streaming envie os dados para um endpoint Kafka em sua infraestrutura.

  • Bootstrap Servers: Refere-se aos servidores no cluster Kafka, no formato “host1:port1, host2:port2, …”.

    A lista não precisa conter todos os servidores de seu cluster, apenas alguns servidores que serão utilizados para a conexão inicial.

    Recomendamos que você utilize mais de um server para aumentar a redundância e disponibilidade.

  • Kafka Topic: Você precisa definir um Topic onde deseja que o Data Streaming publique as mensagens em seu cluster.

Simple Storage Service (S3)

A utilização deste tipo de endpoint faz com que o serviço de Data Streaming envie os dados diretamente para qualquer storage que trabalhe com o protocolo S3, como por exemplo o Amazon S3, Cloud Storage, entre outros.

  • Host URL: Refere-se à URL do seu Host S3.

    Você pode conectar com qualquer provedor que trabalhe com o protocolo S3.

  • Bucket Name: Refere-se ao nome do Bucket que o objeto será enviado.

    É importante que o Bucket já esteja criado para que o Data Streaming possa enviar os objetos.

  • Region: Refere-se à região na qual o Bucket está hospedado.

    Por exemplo, “us-east-1”.

  • Access Key: É a chave para acesso ao Bucket.

  • Secret Key: É o segredo da chave para acessar ao Bucket.

  • Object Key Prefix: É um prefixo para os arquivos enviados.

    Por exemplo, “waf_logs”, então todos os objetos enviados serão salvos com “waf_logs_<TIMESTAMP>_<UUID>”.

  • Content Type: É o formato que o objeto será criado no Bucket.

    Conta com as opções plain/text e application/gzip.

Standard HTTP/HTTPS POST

A utilização deste tipo de endpoint faz com que o serviço de Data Streaming envie os dados no payload de um POST HTTP para o processamento em sua plataforma.

  • Endpoint URL: Refere-se à URL configurada em sua plataforma para receber os dados do Data Streaming.

    Utilize o formato scheme://domain/path.

  • Custom Headers: Você pode informar um ou mais cabeçalhos customizados para a sua requisição HTTP/HTTPS.

    Para a configuração dos cabeçalhos, é necessário informar o Nome e o Valor para cada cabeçalho.


6. Ativar suas Configurações

Na parte inferior da tela, você encontra as seguintes opções:

  • Active: Ligue o botão Active para habilitar suas configurações no sistema.
  • Cancel: Com esta opção,você retorna à página inicial do Data Streaming, também descarta qualquer edição.
  • Save: Concluídas as suas seleções, salve suas configurações clicando no botão Save.

Não encontrou o que procurava? Abra um ticket.