Armazenar e Analisar Seus Logs Locais no Oracle Cloud Infrastructure
O Oracle Cloud Infrastructure Data Flow é um serviço Apache Spark ™ totalmente gerenciado que é ideal para processar grandes volumes de arquivos de log.
Arquivos de log estão sendo gerados o tempo todo. Tudo, desde hardware, sistemas operacionais, dispositivos de rede, serviços Web e aplicativos, gera logs continuamente. Analisar esses dados de log ajuda na solução de problemas e diagnósticos, reparos preditivos, detecção de intrusões, padrões de acesso à Web e muito mais.
O Fluxo de Dados permite o armazenamento centralizado de dados de log no Oracle Cloud Infrastructure Object Storage. Ele permite a análise dos dados criando um aplicativo Apache Spark uma vez e, em seguida, executando-o em novos arquivos de log à medida que eles chegam ao Object Storage. A saída dessa análise pode ser carregada no Autonomous Data Warehouse para consulta e geração de relatórios. E tudo isso é feito sem sobrecarga, como provisionamento de clusters ou instalações de software.
Arquitetura
Essa arquitetura mostra o Fluxo de Dados conectando-se ao Object Storage, analisando os arquivos de log e salvando os resultados no Autonomous Data Warehouse para geração de relatórios.
O diagrama a seguir ilustra essa arquitetura de referência.

Descrição da ilustração architecture-analyze-logs.png
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e grandes distâncias podem separá-las (entre países ou mesmo continentes).
- Domínios de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínio de disponibilidade interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade na região.
- Domínios com falha
Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Da mesma forma que as redes de data center tradicionais, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes na VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Armazenamento de objetos
O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de banco de dados, dados analíticos e conteúdo rico, como imagens e vídeos. Use o armazenamento padrão para armazenamento "quente" que você precisa acessar de forma rápida, imediata e frequente. Use o armazenamento de arquivos para armazenamento "frio" que você retém por longos períodos de tempo e raramente ou raramente acessa.
- Autonomous Data Warehouse
O Oracle Autonomous Data Warehouse é um serviço de banco de dados autônomo, autosseguro e autorreparável que é otimizado para cargas de trabalho do data warehousing. Você não precisa configurar ou gerenciar nenhum hardware ou instalar nenhum software. O Oracle Cloud Infrastructure trata da criação do banco de dados, bem como do backup, aplicação de patches, upgrade e ajuste do banco de dados.
- Fluxo de Dados
O Oracle Cloud Infrastructure Data Flow é um serviço totalmente gerenciado para executar aplicativos Apache Spark ™. Ele permite que os desenvolvedores se concentrem em seus aplicativos e fornece um ambiente de runtime fácil para executá-los. Ele tem uma interface de usuário fácil e simples com suporte a API para integração com aplicativos e fluxos de trabalho. Você não precisa gastar tempo na infraestrutura subjacente, no provisionamento de cluster ou na instalação de software.
Recomendações
Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.
- VCN
Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.
Depois de criar um VCN, você poderá alterar, adicionar e remover seus blocos CIDR.
Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos em uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.
- Object Storage
Insira todos os arquivos de log no Oracle Cloud Infrastructure Object Storage. Determine o tamanho do lote apropriado com base nos requisitos de negócios e execute os aplicativos do serviço Data Flow para processar os arquivos.
- Fluxo de Dados
Nenhuma configuração especial é necessária. No entanto, formas maiores de VM para o driver e os executores do Spark são recomendadas com base na quantidade de dados de log que estão sendo processados em cada execução do aplicativo.
- Oracle Autonomous Data Warehouse
Verifique se a wallet necessária para acessar o data warehouse está armazenada em um local seguro e só pode ser acessada por usuários autorizados. Uma consideração para a implantação do Autonomous Data Warehouse seria criar isso em um VCN como um Ponto Final Privado.
- Segurança
Use a solução Oracle Cloud Infrastructure Identity and Access Management para aplicar políticas e fornecer acesso aos usuários, grupos e recursos. O aplicativo Spark precisará acessar os buckets para ler os arquivos de log. Use o serviço Vault para armazenar a senha necessária para acessar o Autonomous Data Warehouse.
Considerações
- Frequência
A frequência com que você executa seu aplicativo depende do volume e da frequência dos arquivos de log de entrada. O aplicativo Spark deve ser gravado com uma lógica apropriada para que possa tratar esse lote de dados de entrada. Uma diretriz geral é o tempo gasto para processar cada lote que deve ser alinhado com a frequência de atualização exigida no Autonomous Data Warehouse pelos serviços downstream que consomem a saída processada.
- Desempenho
Vários fatores afetam o desempenho, mas o mais importante é a distribuição de dados e o particionamento de arquivos de log de entrada. O aplicativo Spark pode ser executado em cada partição em paralelo com a OCPU e os recursos de memória, conforme necessário. O Oracle Cloud Infrastructure Data Flow oferece elasticidade total para gerenciar os recursos necessários para cada execução do aplicativo.
- Segurança
Use políticas para restringir quem pode acessar os recursos do Oracle Cloud Infrastructure e até que ponto. Use o Oracle Cloud Infrastructure Identity and Access Management (IAM) para designar privilégios a usuários e grupos de usuários específicos para o Fluxo de Dados e para executar o gerenciamento no Fluxo de Dados.
A criptografia está ativada para o Oracle Cloud Infrastructure Object Storage por padrão e não pode ser desativada.
- Custo
O Oracle Cloud Infrastructure Data Flow é um pagamento por uso; portanto, você só paga quando executa o aplicativo Fluxo de Dados, e não quando o cria. É aconselhável armazenar os logs usando diferentes camadas disponíveis: Object Store (armazenamento "quente") e Archive Store (armazenamento "frio"). Os dados processados podem ser armazenados no Autonomous Data Warehouse.
Implantar
O código Terraform desta arquitetura de referência está disponível no GitHub.
- Vá para o GitHub.
- Clone ou faça download do repositório para o computador local.
- Siga as instruções no documento
README
.
Mais informações
Para saber mais sobre o Oracle Cloud Infrastructure Data Flow, consulte os recursos a seguir.
- Tutorial: Configurar Fluxo de Dados para processar seus logs locais no Oracle Cloud Infrastructure
- Oracle Cloud Infrastructure Data Flow
- Oracle Cloud Infrastructure Data Flow - Nível 100 - Youtube
- Colocando Dados no Object Storage
- Estrutura de práticas recomendadas para o Oracle Cloud Infrastructure