Coletor de Flows do Cilium
Este documento fornece detalhes sobre o Deployment do coletor que traz os dados de flows gerados pelo Cilium através do Hubble Relay para o Simon.
Certifique-se de que o Cilium já esteja habilitado em seu ambiente Kubernetes.
Uma vez que o Cilium esteja em funcionamento, siga os passos abaixo para habilitar o Deployment responsável pela coleta do tráfego de rede detectado pelo Hubble Relay.
O deployment usa a especificação YAML do Kubernetes para configurar e implantar o coletor de flows no namespace kube-system.
Os campos presentes em env são variáveis de ambiente que podem ser ajustadas para atender às necessidades específicas do seu ambiente:
- COLLECT_FREQUENCY
- Descrição: Define a frequência com que os dados de flow são coletados.
- Valor Padrão: 5m (5 minutos)
- Formato: O valor deve ser especificado em uma combinação de unidades de tempo, como segundos (s), minutos (m), ou horas (h).
- Exemplos: 10s (10 segundos), 5m (5 minutos), 1h (1 hora).
- HUBBLE_RELAY_ADDRESS
- Descrição: Endereço do Hubble Relay usado para coletar os dados de flows.
- Valor Padrão: hubble-relay.kube-system.svc.cluster.local:80
- RECEIVER_ADDRESS
- Descrição: Endereço da instância que receberá as métricas, onde os dados coletados serão armazenados. Esse campo pode se preenchido de duas formas:
- IP e Porta do InfluxDB localizado na instância DB Worker de seu ambiente Simon (Exemplo: 127.0.0.1:8086).
- URL contendo o caminho da API de coleta do Simon (/api/sync/collector).
- Caso o domínio responda pela porta 80 ou 443, adicionar o prefixo (/sphere-sync) (Exemplo: https://seu-dominio-simon.com/sphere-sync/api/sync/collector)
- Caso opte pelo envio diretamente pelo IP, utilizar a porta 18001 (Exemplo: http://127.0.0.1:18001/api/sync/collector)
- * Essa opção requer o preenchimento da variável de ambiente RECEIVER_API_KEY.
- RECEIVER_API_KEY
- Descrição: Esse campo deve ser preenchido apenas caso opte por seguir com o envio através da API de coleta do Simon (/api/sync/collector).
- ACCUMULATOR_MEMORY_SIZE
- Descrição: Define o tamanho da memória do acumulador de dados usado pelo coletor de flows para a realização do envio em batch.
- Valor Padrão: 100M
- Formato: O valor deve ser especificado em uma combinação de unidades de memória, como megabytes (M), mebibytes (Mi), gigabytes (G), gibibytes (Gi), etc.
- Exemplos: 100M (100 megabytes), 100Mi (100 mebibytes), 1G (1 gigabyte), 1Gi (1 gibibyte).
- Exemplo de Alteração:
- Em um ambiente com mais recursos de memória, o valor pode ser aumentado.
- Em um ambiente com restrições de memória, pode ser necessário reduzir o valor.
- LOG_LEVEL
- Descrição: Define o nível de log desejado.
- Valor Padrão: INFO
- Valores aceitos:
- INFO: Apenas logs informativos
- WARNING: Logs informativos e aviso
- ERROR: Logs informativos, aviso e erro
Salvar o arquivo YAML: Copie o conteúdo YAML acima e salve em um arquivo chamado cilium-flow-collector-deployment.yaml.
Aplicar o deployment: Use o comando kubectl para aplicar o deployment no seu cluster Kubernetes.
Verificar o status: Verifique o status do deployment para garantir que o coletor de flows foi implantado corretamente.
Valide as métricas: Após checar a saúde do pod, você pode acompanhar a chegada das métricas através do Grafana do Simon, utilizando a seguinte Query:
* O primeiro envio das métricas para o Simon pode levar o tempo especificado pelas variáveis COLLECT_FREQUENCY, pois as mesmas são responsáveis por acumular os dados e envia-las em batch periodicamente.