---
title: Coletor de Flows do Cilium
slug: aiops-documentacao-tecnica/coletor-de-flows-do-cilium
docTags: 
createdAt: 2024-07-24T14:43:57.202Z
---

# 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

[https://docs.simonops.com/coletor-de-flows-do-cilium#rCaid](https://docs.simonops.com/coletor-de-flows-do-cilium#rCaid)

Certifique-se de que o [Cilium](https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/#cilium-quick-installation) já esteja habilitado em seu ambiente Kubernetes.&#x20;

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](https://docs.cilium.io/en/stable/internals/hubble/#hubble-relay).

## Especificações do Deployment

[https://docs.simonops.com/coletor-de-flows-do-cilium#jGku9](https://docs.simonops.com/coletor-de-flows-do-cilium#jGku9)

O deployment usa a especificação YAML do Kubernetes para configurar e implantar o coletor de flows no namespace **kube-system**.

### YAML para Deployment

:::CodeblockTabs
YAML

```javascript
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&#x20;**(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:&#x20;**&#x68;ubble-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).&#x20;**
      - Caso o domínio responda pela porta 80 ou 443, adicionar o prefixo **(/sphere-sync)&#x20;**(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**)
      - **\*&#x20;**&#x45;ssa opção **requer** o preenchimento da variável de ambient&#x65;**&#x20;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)**.&#x20;
  - A chave de acesso pode ser criada na interface de [Chaves de Acesso](https://docs.simonops.com/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:&#x20;**&#x31;00M
  - **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.

## 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.

```javascript
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.

```javascript
kubectl get deployments -n kube-system
kubectl get pods -n kube-system -l app=cilium-flow-collector
```

**Valide as métricas:&#x20;**&#x41;pós checar a saúde do pod, você pode acompanhar a chegada das métricas através do [Grafana do Simon](https://docs.simonops.com/validando-coletas-customizadas), utilizando a seguinte Query:

```javascript
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.
