Métrica
Coletas customizadas

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 pré requisitos 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 especificações do deployment o deployment usa a especificação yaml do kubernetes para configurar e implantar o coletor de flows no namespace kube system yaml para deployment apiversion apps/v1 kind deployment metadata name cilium flow collector namespace kube system labels app cilium flow collector spec replicas 1 selector matchlabels app cilium flow collector template metadata labels app cilium flow collector spec containers \ name cilium flow collector image simonops/cilium flow collector\ latest resources limits memory "200m" imagepullpolicy ifnotpresent env \ name collect frequency value "5m" \ name hubble relay address value "hubble relay kube system svc cluster local 80" \ name receiver address value "https //\<seu dominio simon>/sphere sync/api/sync/collector" \ name receiver api key value \<generated api key> \ name accumulator memory size value "100m" 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) a chave de acesso pode ser criada na interface de chaves de acesso do simon 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 instruções de implantação 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 kubectl apply f cilium flow collector deployment yaml verificar o status verifique o status do deployment para garantir que o coletor de flows foi implantado corretamente kubectl get deployments n kube system kubectl get pods n kube system l app=cilium flow collector 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 cilium flows{}\[5m] 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