Resumo
- Akvorado é um projeto ativo de código aberto para análise de fluxos, iniciado por Vincent Bernat, apoiado no ambiente operacional da Free e desenvolvido por uma comunidade pública de contribuidores, e não por uma empresa independente.
- Sua arquitetura 2.x separa a recepção UDP, o transporte por Kafka, o enriquecimento e o armazenamento em ClickHouse, permitindo que cada estágio escale de forma independente, enquanto deixa sem solução a perda de pacotes antes da ingestão e a qualidade da origem.
- A plataforma se torna útil quando converte endereços, índices de interface e contadores em contexto de peering, capacidade e incidentes, mas essas conclusões permanecem condicionadas a metadados, classificadores e temporização.
Uma versão de manutenção aponta para um redesenho maior
Em 14 de julho de 2026, os mantenedores do Akvorado lançaram a versão 2.4.1. A versão em si era um marco rotineiro de manutenção ativa. O fato mais consequente estava por trás dela: a geração atual do projeto não pede mais que um único coletor fortemente acoplado receba toda exportação de fluxo, a decodifique, a enriqueça e a envie diretamente ao armazenamento analítico. O Akvorado 2.0 dividiu esse trajeto em unidades operacionais separadas, com um inlet recebendo datagramas, o Apache Kafka transportando uma representação compacta, workers de saída adicionando contexto e o ClickHouse armazenando o resultado para busca e agregação.
Essa arquitetura descreve uma resposta prática a um problema operacional conhecido. Uma rede grande pode produzir muito mais evidência de tráfego do que engenheiros conseguem inspecionar pacote por pacote. Roteadores e switches podem resumir o que veem em registros NetFlow, IP Flow Information Export ou IPFIX, e registros sFlow. Essas exportações preservam informação suficiente para responder a muitas perguntas sobre volume, direção, interfaces e endpoints que se comunicam, sem reter todo o conteúdo dos pacotes.
O Akvorado coleta essa evidência, atribui-lhe significado de rede e torna o histórico resultante disponível por meio de uma interface web e de uma linguagem de filtros.
A aparente simplicidade de um gráfico esconde uma cadeia de decisões. O dispositivo exportador escolhe quais pacotes ou fluxos são representados. A amostragem pode excluir conversas curtas. O UDP pode perder datagramas antes de o coletor registrá-los. Templates podem mudar. Identificadores de interface podem ser reutilizados. Um feed de roteamento pode descrever um caminho que mudou depois que o tráfego passou. Um banco de dados de sistemas autônomos ou geográfico pode classificar um endereço incorretamente. Uma regra escrita por humanos pode rotular tráfego como cliente, par ou trânsito mesmo que esse rótulo nunca tenha existido no pacote.
O Akvorado importa porque expõe grande parte dessa cadeia em código aberto, em vez de apresentar o gráfico como um resultado inexplicável de um equipamento pronto. O projeto dá aos operadores controle sobre coleta, retenção, enriquecimento, consultas e acesso. Também lhes dá a responsabilidade pelas fraquezas de cada componente que escolherem. A questão central é, portanto, prática e não promocional: até onde um sistema de fluxos auto-hospedado pode transformar exportações parciais em memória operacional confiável sem deixar que um painel polido ultrapasse a evidência?
A resposta depende da tarefa. Para planejamento de capacidade, uma tendência amostrada pode ser valiosa mesmo sem ser uma contagem exata de pacotes. Para peering, a direção ampla do tráfego e o contexto de sistemas autônomos podem revelar para onde a demanda está se deslocando. Para um incidente, um fluxo histórico pode restringir o tempo, a interface e a contraparte envolvidos. Nenhum desses usos exige onisciência em nível de pacote. Cada um exige que o operador saiba o que o registro representa, o que omite e como o enriquecimento posterior alterou seu significado.
Registros de fluxo existem porque a captura de pacotes é cara demais para manter
A captura completa de pacotes pode preservar cabeçalhos, ordenação e, às vezes, o conteúdo em um nível que permite reconstrução forense detalhada. Também cria enormes ônus de armazenamento, controle de acesso e privacidade em enlaces movimentados. A telemetria de fluxos aceita uma negociação diferente. O exportador agrupa ou amostra o tráfego e emite registros contendo campos selecionados, como endereços de origem e destino, portas, protocolo, contadores, timestamps e interfaces de entrada ou saída.
O resultado é menor, mais fácil de reter e adequado à agregação de longo alcance, mas não é mais uma reprodução literal dos pacotes que atravessaram a rede.
NetFlow e IPFIX costumam descrever conversas por meio de registros de fluxo criados quando uma entrada de cache expira ou um fluxo termina. O IPFIX formaliza uma arquitetura construída em torno de exportadores, coletores, templates e registros de dados. Um coletor precisa do template para interpretar os valores seguintes; uma posição de campo não tem significado estável por si só. Elementos específicos de fabricantes e políticas de cache diferentes podem fazer dois exportadores descreverem tráfego semelhante de formas distintas.
Os decodificadores do Akvorado ficam, portanto, na fronteira entre uma família de padrões e as realidades das implementações dos dispositivos.
O sFlow costuma abordar o problema por amostragem de pacotes e contadores. Um dispositivo seleciona pacotes a uma taxa configurada, exporta informações de amostra e pode relatar estatísticas de interface. Em volumes suficientemente altos, a amostragem permite observar padrões amplos de tráfego sem exigir que o hardware ou o coletor processe cada pacote como um evento separado. A contrapartida aparece nas bordas: um fluxo curto pode nunca ser selecionado, uma rajada súbita pode ficar sub-representada e uma estimativa precisa de uma taxa e de um denominador de amostragem antes de poder ser lida com responsabilidade.
A distinção importa porque “fluxo” não é um único tipo uniforme de evidência. Um cabeçalho de pacote amostrado, um registro agregado de conversa e um contador de interface respondem a perguntas diferentes. Podem se apoiar mutuamente, mas não devem ser fundidos numa única afirmação de exatidão. O Akvorado pode armazenar e apresentar os campos que recebe; não pode fazer um exportador revelar pacotes que nunca foram selecionados ou campos que nunca foram emitidos.
A retenção longa é o principal atrativo operacional. Um contador de interface pode mostrar que um enlace carregou mais tráfego em determinado momento, mas normalmente não pode identificar as redes ou serviços envolvidos. Uma captura de pacotes pode responder a essa pergunta em detalhes, mas muitos operadores não conseguem retê-la por semanas ou meses em todos os enlaces de alta capacidade. Os registros de fluxo ocupam o meio-termo. Preservam dimensões suficientes para revisitar um evento mais tarde, desde que as políticas de amostragem e exportação permaneceram conhecidas.
Esse meio-termo é o motivo pelo qual a análise de fluxos pertence à pilha de infraestrutura, e não à borda de um painel. O coletor é parte de um sistema de produção de evidência. Sua saída pode orientar compras, mudanças de peering, engenharia de tráfego e investigações. Decisões com essa consequência precisam de um caminho documentado da configuração do dispositivo ao resultado da consulta.
O exportador decide o que o Akvorado jamais poderá saber
A primeira dependência do Akvorado está fora do seu repositório. Roteadores e switches decidem se a exportação de fluxo está habilitada, quais interfaces participam, como os registros são chaveados, com que frequência os caches expiram, qual taxa de amostragem é usada e quais campos aparecem. Caminhos de encaminhamento de hardware podem expor níveis diferentes de detalhe. Um operador pode implantar um coletor impecável e ainda receber uma contabilidade parcial porque os dispositivos de origem foram configurados de forma inconsistente ou não podiam exportar a evidência necessária.
O tratamento de templates é um ponto frágil. O IPFIX e várias versões do NetFlow usam templates para que um exportador possa definir a estrutura dos registros posteriores. Se um coletor perder um template, receber dados antes da definição relevante ou encontrar um campo de empresa alterado, pode ficar incapaz de decodificar corretamente o registro. Em algumas circunstâncias, o coletor pode solicitar ou aguardar um template novo, mas a telemetria perdida durante a lacuna não reaparece automaticamente. A prática segura é tratar o estado dos templates como uma dependência monitorada, e não como encanamento de protocolo invisível.
As informações de sequência podem revelar algumas lacunas. Exportadores podem numerar pacotes ou registros, permitindo que o coletor perceba um reinício ou descontinuidade. Esse sinal é diagnóstico, não restaurativo. Uma sequência ausente mostra que a evidência tem um buraco; não pode reconstruir o tráfego ausente. Reinícios de exportador, perdas de caminho, estouro de socket e agendamento do host podem produzir sintomas semelhantes, de modo que o contador de perdas inicia uma investigação em vez de nomear a causa.
A amostragem acrescenta um tipo diferente de incerteza. Amostrar um pacote em alguns milhares pode estimar tráfego sustentado de alto volume suficientemente bem para algumas tarefas de planejamento, oferecendo pouca confiança sobre conversas raras. O erro não é uma porcentagem fixa aplicável em toda parte. Depende da distribuição dos fluxos, do método de amostragem, da janela de tempo e da pergunta feita. Um gráfico do tráfego agregado de trânsito e uma afirmação sobre uma conexão curta e suspeita exigem padrões diferentes de evidência.
A calibração dá aos operadores um modo de manter a incerteza visível. Os totais de bytes derivados de fluxos podem ser comparados com contadores de interface sobre o mesmo intervalo. Divergência persistente pode apontar suposições de amostragem, cobertura do exportador, datagramas descartados ou erros de classificação. A comparação não tornará os conjuntos idênticos, porque contadores e fluxos medem por mecanismos diferentes. Pode mostrar se um sistema de fluxos se comporta com consistência suficiente para o uso pretendido.
Esse é o primeiro limite da autoridade do Akvorado. O projeto pode decodificar, enriquecer e consultar o que chega. Não controla o instrumento no ponto de observação. Um operador que trate a configuração do exportador como problema de outra pessoa descobrirá que cada estágio posterior está analisando um denominador desconhecido.
Vincent Bernat construiu o Akvorado em torno das perguntas que operadores realmente fazem
O Akvorado surgiu por volta de 2019 a partir de trabalho prático de análise de fluxos associado a Vincent Bernat, um engenheiro de rede cujos escritos públicos e histórico de repositório fazem dele o principal iniciante e mantenedor do projeto. O software também tem raízes operacionais no provedor de internet francês Free, que oferece um importante contexto de produção e relação de suporte. A evidência disponível não estabelece o Akvorado como produto comercial de propriedade da Free, como empresa separada ou como serviço operado centralmente para todo usuário.
Essa distinção explica o caráter do projeto. Seus materiais públicos concentram-se em problemas familiares aos operadores de rede: receber vários formatos de fluxo, traduzir índices de interface, adicionar contexto de sistemas autônomos e rotas, distinguir peering de trânsito, reter grandes conjuntos de dados e deixar engenheiros fazer perguntas direcionadas. A interface é útil porque está sobre um modelo de dados específico do operador, e não porque oferece uma coleção genérica de gráficos coloridos.
A cronologia inicial é menos completa que a arquitetura atual. O histórico do repositório sustenta um projeto ativo ao longo do início dos anos 2020, com coletores, classificadores e exploração web amadurecendo antes do redesenho da versão 2.0. Bernat documentou uma linguagem de filtros tipo SQL e o trabalho com Protocol Buffers dinâmicos em 2023, e lançamentos continuaram por 2024. A primeira implantação exata em produção, a data de início do projeto e o crescimento da base de usuários não são estabelecidos por um censo público. Essas lacunas devem permanecer lacunas em vez de serem preenchidas por uma lenda de fundador.
A relevância da Free é mais forte como ambiente operacional. Um ISP movimentado fornece requisitos que uma demonstração de laboratório pode não expor: rajadas de exportações UDP, muitas interfaces, endereços de alta cardinalidade, rotas em mudança e perguntas que conectam volume de tráfego a relações comerciais. Esse contexto pode moldar prioridades de design. Ele não prova que toda funcionalidade foi implantada da mesma forma dentro da Free, que a Free financia todo contribuidor ou que a empresa controla o futuro do projeto.
O repositório público oferece a operadores externos um tipo diferente de confiança. Podem inspecionar código, issues, notas de versão e orientação de configuração. Podem executar a pilha em seu próprio ambiente, manter metadados sensíveis sob seus próprios controles de acesso e modificar o software sob a GNU Affero General Public License versão 3. A transparência, porém, não substitui o suporte. Uma organização ainda precisa de pessoas que entendam exportadores, Kafka, ClickHouse, dados de roteamento e as consequências de uma atualização.
A origem do Akvorado, portanto, estabelece a tensão central em vez de resolvê-la. Software liderado por operadores pode codificar as perguntas certas com mais fidelidade que um produto genérico de análise. Também pode carregar o risco de concentração de uma pequena comunidade de mantenedores e as suposições operacionais dos ambientes que o moldaram.
A versão 2.0 separou a recepção da interpretação
O apelo original de um coletor único e integrado é óbvio. Um único processo ou pilha fortemente acoplada recebe registros, decodifica-os, enriquece-os e os grava no armazenamento. A implantação é mais fácil de explicar e há menos peças móveis para operar. A fraqueza aparece quando a entrada e a análise param de avançar na mesma velocidade. Uma rajada de datagramas UDP não pode esperar enquanto uma mesclagem de banco de dados trava ou uma consulta externa de metadados demora. Se o caminho de recepção bloquear, a evidência mais antiga e mais insubstituível pode ser perdida na entrada.
O Akvorado 2.0 separou essas preocupações. O inlet concentra-se em receber datagramas de fluxo e publicar uma representação codificada compacta no Kafka. Workers de saída consomem a fila, decodificam registros, adicionam metadados, aplicam classificadores e fazem inserções em lote no ClickHouse. A capacidade de recepção, a capacidade de enriquecimento e o rendimento do banco de dados podem então ser escalados como problemas relacionados, porém distintos.
O desacoplamento muda o comportamento de falha. Uma lentidão temporária do ClickHouse não precisa mais parar imediatamente o listener UDP; o Kafka pode reter um acúmulo dentro dos limites de sua retenção e do armazenamento disponível. Mais workers de saída podem ser adicionados quando o enriquecimento atrasa. Partições podem distribuir o trabalho, enquanto o inlet permanece pequeno o bastante para focar no tratamento de sockets e no estado do exportador.
O design também cria um vocabulário operacional mais claro. Engenheiros podem perguntar se os datagramas chegaram ao inlet, se o inlet os publicou, se os consumidores acompanharam o ritmo, se o enriquecimento teve sucesso e se o ClickHouse aceitou o lote. Um serviço monolítico pode esconder esses estágios atrás de um único indicador de saúde. Componentes separados tornam as passagens observáveis, embora apenas se a implantação coletar e reter as métricas relevantes.
Mais componentes trazem mais modos de falha. Brokers do Kafka exigem capacidade, escolhas de replicação, política de retenção e manutenção. O atraso de consumidores pode crescer silenciosamente. Partições afetam distribuição e ordenação. Workers de saída podem ficar inconsistentes se o esquema ou a configuração de enriquecimento diferir. O ClickHouse pode estar saudável o bastante para responder consultas antigas enquanto inserções recentes ficam na fila em outro lugar. A arquitetura 2.0 melhora o controle ao tornar o pipeline explícito; não torna o pipeline autogerenciável.
A migração é outra fronteira. Um redesenho que muda a representação das mensagens, os papéis dos serviços e o comportamento do armazenamento pode criar trabalho de compatibilidade e operacional para usuários existentes. O histórico público de versões mostra manutenção ativa até a versão 2.4.1, mas não há censo independente de quantos operadores migraram de versões anteriores, quanto tempo essas migrações levaram ou quais modos de falha apareceram nas maiores escalas.
A mudança da 2.0 é melhor compreendida como uma alocação de responsabilidade. O inlet protege o momento da chegada. O Kafka absorve diferenças de temporização após a publicação. O outlet transforma registros brutos no esquema que o Akvorado espera. O ClickHouse preserva o histórico analítico. Cada estágio pode ser melhorado e testado separadamente, e cada estágio deixa um tipo específico de lacuna quando falha.
O Kafka absorve atrasos de processamento depois que os dados chegam
O Kafka é a articulação na arquitetura atual do Akvorado porque converte um caminho de recepção sensível a rajadas em uma fila que workers downstream podem processar em outro ritmo. Mensagens são colocadas em tópicos e partições, retidas por um período configurado e consumidas por workers de saída. Esse buffer pode impedir que um atraso caro de enriquecimento ou armazenamento se propague diretamente de volta ao socket voltado aos exportadores.
A fronteira de temporização é exata. O Kafka só pode proteger dados depois que o inlet os recebeu e publicou. Um datagrama perdido na rede, descartado por um exportador, perdido por um buffer de socket cheio ou rejeitado antes da publicação nunca entra na fila tamponada do Kafka. Chamar o pipeline de “sem perdas” por causa da presença do Kafka apagaria a parte mais vulnerável do caminho.
Após a publicação, a durabilidade ainda depende de escolhas. Replicação de brokers, confirmações, capacidade de disco, retenção e recuperação de falhas determinam quanta proteção a fila oferece. Um período curto de retenção pode transformar uma interrupção prolongada do ClickHouse em perda de dados. Um design de particionamento que concentre exportadores pesados pode criar atraso desigual. Uma falha de broker durante um período sub-replicado pode remover registros que o inlet já havia aceitado.
A ordenação também exige cuidado. O Kafka fornece ordem dentro de uma partição, não entre todas as partições de um cluster. A análise de fluxos costuma se importar mais com timestamps delimitados e janelas agregadas do que com uma ordem total única, mas o estado dos templates, a sequência do exportador e as atualizações de enriquecimento ainda podem depender da relação entre registros. Os operadores precisam saber quais suposições de ordenação o outlet faz e como reinícios ou rebalanceamentos os afetam.
O atraso do consumidor é o sinal operacional mais útil porque traduz arquitetura em tempo. Uma fila de dez milhões de registros significa pouco sem a taxa de chegada e a taxa de processamento. Atraso medido em segundos ou minutos mostra o quanto a visão analítica fica atrás da rede. Quando uma equipe de capacidade ou incidente acredita estar olhando o tráfego atual, esse atraso torna-se parte da evidência e deve aparecer no modelo de saúde do próprio serviço.
O Kafka também muda as habilidades exigidas para operar o Akvorado. Uma pequena equipe de rede que antes gerenciava um coletor e um banco de dados agora opera um sistema distribuído de mensagens. O ônus adicional pode ser justificado pela escala e resiliência. Ainda assim, é um custo suportado pelo operador, não uma propriedade gratuita do software de código aberto.
A afirmação correta é restrita e útil: o Kafka reduz o acoplamento entre recepção e trabalho downstream. Cria espaço para sobreviver a desequilíbrios temporários. Não restaura registros perdidos antes do inlet, não garante a durabilidade de toda implantação nem elimina a necessidade de monitorar a fila como infraestrutura de produção.
O ClickHouse torna o histórico longo de tráfego consultável
A telemetria de fluxos é bem adequada a um banco de dados colunar porque muitas perguntas varrem poucos campos por um número muito grande de linhas. Um engenheiro de peering pode agrupar bytes por sistema autônomo de destino e por tempo. Um planejador de capacidade pode comparar interfaces ou sites por semanas. Um respondente de incidente pode filtrar um conjunto estreito de endereços e portas dentro de um intervalo curto. O armazenamento colunar pode ler as colunas relevantes, comprimir valores repetidos e agregar sem tratar cada consulta como uma reconstrução completa de cada registro.
O Akvorado faz inserções em lote no ClickHouse e organiza os dados para trabalho analítico delimitado no tempo. Campos derivados ou materializados podem facilitar a consulta de dimensões comuns. O banco fornece a persistência que transforma exportações efêmeras em memória: um engenheiro pode voltar a uma mudança de tráfego depois que os contadores dos dispositivos já avançaram e o estado original de roteamento mudou.
Essa memória tem um custo físico. Endereços, portas, metadados de interface e rótulos de alta cardinalidade consomem armazenamento e afetam a compressão. Partições, chaves de ordenação e comportamento de merge influenciam a latência de consulta e a estabilidade de inserção. As decisões de retenção determinam se o sistema guarda dias, meses ou períodos mais longos. Uma implantação que mantém indefinidamente todas as dimensões disponíveis pode esgotar discos ou gastar mais em armazenamento do que as perguntas justificam.
O trabalho em segundo plano do ClickHouse importa porque dados frescos e consultas históricas competem pelo mesmo sistema. Merges, compactação e replicação podem consumir capacidade de entrada/saída enquanto os outlets inserem novos lotes. Um banco de dados pode permanecer tecnicamente online e ainda assim estar operacionalmente atrasado. A pressão de disco pode aparecer primeiro como merges mais lentos, depois inserções atrasadas e, por fim, evidência recente ausente do ponto de vista do usuário.
O design de consultas pode criar uma ilusão semelhante. Um gráfico que retorna rápido pode depender de campos pré-computados ou derivados cuja semântica difere do registro bruto. Uma consulta ampla sobre uma dimensão de alta cardinalidade pode gerar uma varredura custosa. O operador precisa de limites, observabilidade de consultas e uma distinção clara entre dados em resolução plena e qualquer agregação ou política de retenção aplicada na implantação.
A linguagem de filtros tipo SQL do projeto ajuda os usuários a evitar a sintaxe direta do banco, mas não elimina o modelo do banco de dados. Os campos precisam existir, ter significados estáveis e estar indexados ou organizados o bastante para a carga de trabalho. A evolução do esquema pode acrescentar dimensões enquanto cria trabalho de migração e compatibilidade. Os Protocol Buffers dinâmicos podem tornar a representação de transporte mais flexível; o ClickHouse ainda precisa de um esquema analítico coerente do outro lado.
O ClickHouse é, portanto, mais que uma dependência escondida sob a interface web. É parte do contrato operacional do produto. A saúde do armazenamento, o desempenho dos merges, a latência de consulta e a política de retenção determinam se o Akvorado pode responder à pergunta do operador no momento em que ela importa.
O enriquecimento transforma índices de interface num mapa do negócio
Um registro de fluxo bruto pode dizer que o tráfego entrou pela interface 287 e saiu pela 914. Esses números têm significado para o dispositivo exportador, mas não dizem a um engenheiro se o caminho atravessou uma porta de cliente, uma interconexão privada, um provedor de trânsito, um enlace de backbone ou uma interface de manutenção. O Akvorado enriquece os registros para que a consulta possa ser formulada no vocabulário da rede, e não no vocabulário do exportador.
A consulta SNMP (Simple Network Management Protocol) é uma fonte desse contexto. O Akvorado pode armazenar em cache nomes, descrições, velocidades e endereços de interfaces para que índices numéricos se tornem enlaces reconhecíveis. Isso torna um gráfico utilizável durante uma revisão de capacidade ou investigação de incidente. Também cria um problema temporal: índices de interface podem ser reutilizados, descrições podem ser editadas e a consulta pode falhar. Um registro gerado na segunda-feira pode ser exibido com metadados coletados depois, a menos que a implementação preserve a relação com cuidado.
Bancos de dados de endereços e sistemas autônomos acrescentam outra camada. Podem associar um prefixo IP a uma organização, sistema autônomo ou localização, dando às equipes de peering uma forma de agrupar o tráfego por rede e geografia. Esses bancos são material de referência útil, não registros perfeitos de titularidade. A origem dos prefixos muda, organizações se fundem, anycast complica a localização e bancos comerciais usam metodologias que podem divergir. Um rótulo deve carregar proveniência suficiente para que um analista possa contestá-lo.
O contexto do Border Gateway Protocol pode conectar o tráfego ao plano de controle. A arquitetura atual do Akvorado suporta informações de roteamento, incluindo dados obtidos por meio do BGP Monitoring Protocol, ou BMP. Informações de prefixo, par e próximo salto podem ajudar a explicar qual rota estava visível e qual relação pode ter carregado o tráfego. A qualificação mais forte é temporal: uma fotografia de roteamento coletada depois do fluxo pode não descrever a rota selecionada quando os pacotes cruzaram a rede.
O estágio de enriquecimento, portanto, cria tanto valor quanto novos tipos de evidência. Os metadados do dispositivo descrevem interfaces locais. Os dados de roteamento descrevem o estado do plano de controle. Os bancos de IP e ASN descrevem mapeamentos externos. Os dados geográficos estimam localização. Nenhum deve ser tratado como propriedade nativa do pacote. O Akvorado os combina para que o operador possa fazer perguntas melhores, mas o resultado da consulta herda o timestamp e o modelo de erro de cada fonte.
Essa distinção é especialmente importante quando uma organização usa os mesmos dados para trabalho técnico e comercial. Uma descrição de interface desatualizada pode ser um incômodo na solução de problemas. O mesmo erro pode deslocar tráfego para a categoria errada de cliente ou trânsito e influenciar discussões de acerto, investimento ou vendas. O enriquecimento é onde um coletor se torna um sistema operacional, e onde um erro inocente de metadados pode se tornar um fato organizacional.
A classificação é onde registros técnicos se tornam evidência comercial
As redes não emitem um bit de “par”, “cliente” ou “trânsito” em cada pacote. Essas categorias vêm de contratos, relações de roteamento, design de interfaces e política do operador. Os classificadores do Akvorado podem combinar interfaces, sistemas autônomos, prefixos, comunidades BGP e outros metadados para atribuir os rótulos que tornam o tráfego comercialmente inteligível.
O valor é imediato. Um gráfico de utilização total pode mostrar que um enlace está enchendo, mas não diz se o crescimento vem de clientes pagantes, pares sem acerto, trânsito upstream ou movimento interno de backbone. A classificação permite ao operador separar esses fluxos e perguntar qual relação está impulsionando a mudança. Equipes de peering podem procurar candidatos cujo tráfego cresceu. Planejadores de capacidade podem decidir se uma nova porta, rota ou circuito se justifica.
O classificador também é um documento de política expresso em código. Uma regra que mapeia uma interface para “cliente” registra uma suposição sobre a organização da rede. Uma lista de prefixos pode codificar um limite de negócio. Uma comunidade BGP pode representar uma categoria de contrato. Quando essas entradas mudam sem que as regras mudem, o painel pode continuar parecendo preciso enquanto seu significado se desloca.
A revisão precisa acompanhar a consequência. Classificadores que apoiam exploração interna podem ser testados informalmente. Classificadores usados em orçamentos de capacidade, negociações com parceiros ou análises relacionadas a faturamento precisam de controle de mudanças, revisão por pares e calibração contra dados independentes. Uma pequena edição de regra pode reclassificar meses de histórico ou alterar a economia aparente de uma rota.
A consistência histórica é outro problema. Se um classificador muda hoje, os registros antigos devem reter o rótulo vigente quando coletados, ou ser reinterpretados sob a nova política? Ambas as abordagens podem ser úteis. A primeira preserva o que a organização acreditava na época. A segunda permite relatórios comparáveis sob uma definição atual. O sistema e o analista precisam saber qual delas um gráfico representa.
O Akvorado torna essas decisões visíveis o bastante para gerenciá-las porque as regras e os dados permanecem sob controle do operador. Ele não escolhe a ontologia comercial correta para a rede. A revisão mais importante do painel pode, portanto, acontecer fora da interface de usuário, onde engenharia, peering e finanças concordam sobre o que as categorias significam.
Uma linguagem tipo SQL reduz a distância entre os dados e o operador
Um banco de fluxos só é útil quando os engenheiros podem fazer perguntas rápido o bastante para influenciar operações. SQL direto oferece poder, mas expõe detalhes de armazenamento e pode criar consultas inseguras ou caras. A linguagem de filtros tipo SQL do Akvorado dá aos usuários predicados, conjuntos e operadores familiares enquanto os mapeia para o próprio modelo de consulta do projeto.
A linguagem importa porque as perguntas operacionais são iterativas. Um engenheiro pode começar por uma interface e depois restringir por sistema autônomo, família de endereços, protocolo, porta ou direção. Um analista de peering pode comparar uma rede antes e depois de uma mudança de roteamento. Um respondente de incidente pode ir de um pico agregado a uma lista curta de endpoints. Uma interface de consulta que mantém esses passos próximos ao vocabulário do domínio reduz o atraso entre suspeita e evidência.
A abstração tem um limite. Um campo só pode ser consultado se existir no esquema e tiver sido populado corretamente. Um apelido conveniente pode esconder se um valor veio do exportador ou de um banco de enriquecimento. A pertença a conjuntos pode ser rápida ou cara dependendo da implementação. A linguagem protege os usuários de parte da complexidade do banco; não pode tornar preciso um campo mal definido.
A evolução do esquema é uma razão pela qual Bernat documentou o uso de Protocol Buffers dinâmicos em 2023. Os formatos de fluxo e os enriquecimentos mudam, e uma definição de mensagem compilada e rígida pode forçar todos os produtores e consumidores a mudar juntos. Uma representação dinâmica pode transportar campos novos com mais flexibilidade e manter as mensagens codificadas do inlet compactas. Regras de compatibilidade, números de campo e semântica ainda precisam de disciplina, especialmente quando consumidores antigos ou registros armazenados permanecem em serviço.
A interface web completa o caminho ao transformar filtros em tabelas e gráficos. A visualização é valiosa porque humanos reconhecem deslocamentos, periodicidade e outliers mais rápido do que leem linhas brutas. Também pode criar confiança falsa. Uma linha suave pode estar baseada em tráfego amostrado, uma fila atrasada e um classificador atualizado. O design do gráfico deve tornar a janela de tempo, a agregação e os limites de evidência relevantes disponíveis, em vez de escondê-los atrás da apresentação.
Uma boa camada de consulta, portanto, faz dois trabalhos. Torna dados complexos acessíveis e mantém parte do modelo visível o bastante para que um operador conteste a resposta. A implementação aberta do Akvorado dá às equipes a oportunidade de inspecionar esse caminho. Se o fazem é questão de cultura operacional, não de licença de software.
A classificação dá ao volume de tráfego seu significado comercial
A análise de fluxos conquista seu lugar numa rede quando muda uma decisão. O planejamento de capacidade é um dos exemplos mais claros. Contadores de interface podem mostrar utilização, mas o histórico de fluxos pode dividir a demanda por rede de destino, região, protocolo, classe de cliente ou outras dimensões. Esse detalhe pode ajudar o operador a decidir se amplia um enlace existente, adiciona uma sessão de peering, desloca tráfego ou investiga uma mudança súbita.
A decisão permanece condicionada à cadeia de evidência. Um conjunto amostrado pode representar bem um fluxo grande sustentado e perder muitos fluxos curtos. Um conjunto incompleto de exportadores pode fazer uma parte da rede parecer mais quieta. Um classificador pode atribuir a relação errada. Uma mudança posterior de rota pode confundir a interpretação se o estado relevante do plano de controle não foi retido. O valor de planejamento vem de medição consistente ao longo do tempo, não de tratar um número como verdade grau-fatura.
A análise de peering ilustra a diferença entre alcance técnico e significado comercial. Um sistema autônomo que aparece com frequência nos dados de destino pode ser um candidato à interconexão direta, mas o volume de tráfego sozinho não estabelece benefício mútuo, localização, disponibilidade de porta, política ou termos de contrato. O Akvorado pode identificar um padrão que merece exame. A decisão de peering ainda pertence a operadores que entendem caminhos de rota, custo, resiliência e disposição da contraparte.
As previsões de capacidade têm um limite semelhante. O crescimento histórico pode orientar investimento, mas lançamentos de aplicativos, churn de clientes, mudanças de cache e eventos de roteamento podem alterar o padrão. Uma janela de retenção longa ajuda as equipes a ver sazonalidade e deslocamentos estruturais. Não torna o futuro uma continuação do passado. O uso mais responsável dos dados é definir cenários e limiares, em vez de uma previsão determinística única.
O histórico de fluxos também pode testar se uma intervenção funcionou. Depois de uma mudança de política de rota, os engenheiros podem comparar a distribuição de tráfego antes e depois do evento. Se um enlace de trânsito cai e um par sobe, o resultado é consistente com a mudança pretendida. Registros BGP e contadores de interface podem reforçar a interpretação. Nenhum dos sinais sozinho prova que todos os pacotes seguiram o caminho desejado ou que a experiência do usuário melhorou.
É aqui que o valor do Akvorado é fácil de exagerar e fácil de descartar. Ele não automatiza a decisão comercial. Dá à rede uma contabilidade durável e consultável das observações sobre as quais essa decisão pode ser argumentada. Em organizações onde o conhecimento de peering e capacidade, de outra forma, vive em planilhas, scripts únicos e memória individual, essa contabilidade compartilhada pode ser infraestrutura por si só.
O histórico de fluxos restringe um incidente sem provar sua causa
Durante um incidente, a primeira vantagem operacional dos dados de fluxo retidos é o tempo. Os engenheiros podem perguntar quando um padrão de tráfego mudou, quais interfaces estavam envolvidas, quais endpoints ou sistemas autônomos dominaram e se o evento ainda ocorria. Essas perguntas podem restringir um relato amplo de interrupção ou congestionamento a um conjunto menor de sistemas e relações.
A evidência é mais forte quando combinada. Contadores de interface podem confirmar a magnitude de uma mudança de enlace. Registros BGP ou BMP podem mostrar um evento do plano de controle. Logs dos dispositivos podem revelar um reinício ou atualização de política. A captura de pacotes pode fornecer detalhes por um período curto. A telemetria de endpoints pode mostrar se um aplicativo falhou. O histórico de fluxos do Akvorado conecta essas fontes pelo tempo e pela identidade de rede, mas não as substitui.
Um grande pico de tráfego não é automaticamente um ataque. Pode ser um lançamento popular, backup, cache miss, mudança de roteamento ou erro de medição. Os metadados de fluxo podem mostrar fontes, destinos, portas e volume; normalmente carecem do conteúdo do aplicativo e do estado do endpoint. Equipes de segurança podem usá-los para identificar candidatos a bloqueio ou investigação mais profunda. Atribuição e intenção exigem evidência adicional.
Um gráfico silencioso também pode enganar. Se um exportador parou, o desaparecimento dos registros pode parecer recuperação. Se o atraso do Kafka cresceu, a interface pode mostrar um estado antigo. Se um classificador mudou, o tráfego pode se mover entre categorias sem se mover no fio. Os runbooks de incidente precisam de verificações explícitas de frescor dos dados, saúde dos exportadores, lacunas de sequência e atraso do pipeline antes que os analistas interpretem o tráfego.
A retenção cria uma vantagem depois que a pressão imediata passou. As equipes podem reconstruir os minutos anteriores a um alerta, comparar o evento com baselines anteriores e testar explicações concorrentes. Isso é especialmente útil quando o estado original do dispositivo já foi sobrescrito. A revisão pós-incidente também pode expor fraquezas no próprio sistema de evidência: interfaces ausentes, descrições SNMP desatualizadas, amostragem inadequada ou uma janela de retenção que terminou cedo demais.
A linguagem correta para o Akvorado num incidente é “apoia a investigação”. Pode tornar uma falha legível e reduzir o espaço de busca. Um gráfico permanece uma observação filtrada por exportadores e metadados, não um veredito causal.
Um caso IPv6-first mostra portabilidade — e os limites de um único exemplo
Em 9 de abril de 2026, o APNIC Blog publicou um artigo operacional sobre a configuração do Akvorado para uma rede centrada no IPv6. O caso é útil porque vem de fora da narrativa central do projeto e coloca o software num contexto específico de implantação. Mostra que a pilha pode ser adaptada a um ambiente em que o IPv6 é central, e não uma reflexão tardia.
Um caso carrega peso delimitado. Não estabelece o número de instalações ativas do Akvorado, participação de mercado, comportamento universal do IPv6 ou adequação a todo operador. O hardware, os exportadores, o perfil de tráfego, a experiência da equipe e os objetivos de retenção daquela implantação podem diferir dos de uma operadora grande, de uma empresa ou de uma rede de conteúdo. Um estudo de caso é evidência de uso, não um censo.
Seu significado maior está na portabilidade. O Akvorado é distribuído como software aberto, e não como um serviço operado centralmente. Uma equipe externa pode instalá-lo, conectar seus próprios exportadores, definir seus próprios classificadores e manter seus próprios dados. Essa capacidade separa o projeto de uma ferramenta interna da Free e dá ao repositório uma vida além do ambiente que ajudou a moldá-lo.
A portabilidade também testa a documentação. Um projeto é mais fácil de adotar quando um operador pode entender os papéis do inlet, do Kafka, do outlet e do ClickHouse sem orientação privada. O material público de instalação e um ambiente de demonstração reduzem a primeira barreira. Não podem antecipar cada template de fabricante, problema de escala ou política de segurança. Estudos de caso externos revelam onde o modelo documentado sobrevive ao contato com uma rede diferente.
Mais relatos independentes de implantação fortaleceriam materialmente a evidência. Relatos úteis declarariam tipos de exportadores, taxas de amostragem, volumes de registros, retenção, custos de infraestrutura, medições de perda, experiência de migração e a relação entre estimativas de fluxo e contadores de interface. Também descreveriam falhas, porque capturas de tela de sucesso revelam pouco sobre como o sistema se comporta sob pressão.
O registro público de adoção do Akvorado é, portanto, crível, mas incompleto. Atividade no repositório, lançamentos e um caso publicado pelo APNIC mostram um projeto vivo com uso além de um único mantenedor. Não sustentam uma contagem precisa de instalações nem a afirmação de que a pilha se tornou a escolha padrão para análise de fluxos.
A auto-hospedagem mantém metadados sensíveis por perto
Os registros de fluxo normalmente omitem o conteúdo dos aplicativos, mas podem revelar muito sobre relações. Endereços, portas, temporização, volumes e interfaces podem mostrar quais sistemas se comunicaram, com que frequência e por qual parte da rede. A retenção longa transforma essas observações num histórico comportamental. Para uma operadora, uma empresa ou uma instituição pública, esse conjunto de dados pode ser operacionalmente valioso e sensível ao mesmo tempo.
O modelo auto-hospedado do Akvorado permite que uma organização mantenha a coleta, o Kafka, o ClickHouse e a interface web dentro de infraestrutura que ela controla. O operador decide onde os dados residem, por quanto tempo são retidos, quem pode consultá-los e quais serviços de enriquecimento são usados. Essa é uma vantagem significativa para equipes que não podem enviar telemetria detalhada de rede a um serviço externo.
O controle local só é tão forte quanto a prática local. A interface web, as APIs, as credenciais do banco, o acesso ao Kafka e os hosts subjacentes tornam-se todos parte do perímetro de segurança. Um papel amplo de analista pode expor relações muito além do que o usuário precisa. Backups e réplicas podem preservar dados depois da janela nominal de retenção. Exportar resultados de consultas pode mover informações sensíveis para sistemas menos controlados.
A retenção precisa de propósito. O planejamento de capacidade pode funcionar com histórico agregado, enquanto a resposta a incidentes pode exigir registros mais detalhados por um período mais curto. Uma única política indefinida maximiza ao mesmo tempo a possibilidade investigativa e o impacto de uma violação. Níveis de acesso, agregação, exclusão e registro de auditoria devem seguir as perguntas que a organização decidiu que tem direito e preparo para responder.
O enriquecimento pode acrescentar risco de privacidade além de valor operacional. Mapear um endereço para uma organização ou localização torna um registro mais fácil de interpretar e mais fácil de abusar. Um mapeamento impreciso também pode direcionar suspeita à parte errada. Os analistas devem poder ver quais campos vieram do exportador, quais vieram de metadados internos e quais vieram de bancos externos.
A licença AGPLv3 dá aos usuários acesso ao código sob seus termos, mas a licença não desenha a governança de dados de uma organização. A auto-hospedagem remove um fornecedor da cadeia de custódia. Não remove a necessidade de privilégio mínimo, manutenção segura, limites de retenção e uma contabilidade clara de quem pode transformar metadados de tráfego em decisões.
Uma licença aberta deixa com os operadores o custo da pilha
O Akvorado não exige taxa convencional de licença de software para uso sob os termos de sua licença AGPLv3. Esse fato pode tornar a plataforma atrativa para operadores que querem controle sobre custo, dados e personalização. Não deve ser confundida com operação gratuita. Uma implantação em produção consome servidores ou máquinas virtuais, armazenamento, capacidade de rede, tempo de equipe e atenção de sobreaviso.
O Kafka e o ClickHouse são sistemas substanciais por si só. Sua capacidade deve ser planejada, atualizações testadas e falhas reparadas. A cobertura dos exportadores exige manutenção contínua à medida que os dispositivos e firmwares de rede mudam. Credenciais SNMP e metadados precisam de proteção. Classificadores exigem revisão. Patches de segurança devem ser aplicados. O maior custo pode ser o tempo de engenharia necessário para manter a evidência confiável.
Plataformas comerciais como a Kentik oferecem outra alocação desses custos. Um serviço gerenciado pode combinar hospedagem, suporte, integrações e uma superfície de produto mais ampla sob um contrato. O ElastiFlow e outras pilhas abertas ou comerciais oferecem escolhas diferentes de armazenamento, licenciamento e suporte. O pmacct, o ntopng, o FastNetMon, ferramentas gerais de observabilidade e sistemas de pacotes resolvem partes adjacentes do problema. A comparação deve ser feita por modelo operacional e requisitos de evidência, e não por contagem de recursos de painel.
Um operador auto-hospedado mantém mais controle sobre registros brutos, esquema, retenção e lógica de consulta. Também carrega o risco de que um especialista saia, uma dependência mude ou uma atualização falhe. Um cliente gerenciado transfere parte da responsabilidade de infraestrutura e suporte a um fornecedor, ao aceitar dependências de contrato, localização de dados, preços e roteiro de produto. Nenhum modelo elimina o lock-in; cada um o localiza de forma diferente.
A ausência, no Akvorado, de uma empresa canônica de suporte comercial é, portanto, relevante. Consultorias podem ajudar implantações individuais, mas a evidência revisada não estabelece um único fornecedor que garanta migração, resposta de segurança ou níveis de serviço para o projeto como um todo. Uma organização que adote a pilha deve decidir se consegue operar de forma independente, contratar expertise ou contribuir o bastante upstream para reduzir seu próprio risco de suporte.
O custo total também depende do valor do histórico retido. Uma rede menor, com volume modesto de fluxos, pode achar a pilha econômica em infraestrutura comum. Um operador grande que retenha registros detalhados e de alta cardinalidade pode enfrentar custos significativos de armazenamento e banco de dados. O denominador útil não é custo por servidor. É o custo de produzir evidência confiável o bastante para mudar uma decisão operacional.
Esse limite econômico é fácil de esquecer porque projetos de código aberto não publicam receita ou avaliação. A sustentabilidade do Akvorado repousa sobre o trabalho dos mantenedores, o suporte operacional da Free, a contribuição externa e a disposição de cada usuário de executar as dependências. O projeto pode criar grande valor downstream sem possuir um balanço que o meça.
Um projeto liderado por mantenedores pode ser transparente e ainda concentrado
Vincent Bernat é o principal iniciante e mantenedor público associado ao Akvorado. O repositório registra contribuições de outras pessoas, e lançamentos, issues e pull requests tornam o desenvolvimento visível. Nenhuma fundação separada, conselho eleito, corpo formal de membros ou arranjo completo de financiamento foi identificado no material revisado.
A governança centrada no repositório tem forças reais. As decisões deixam rastro público. Os usuários podem propor mudanças, inspecionar discussões e bifurcar o código se rejeitarem a direção. A licença e a disponibilidade do código tornam possível a saída técnica de um modo que um serviço fechado não permite. O projeto também pode responder rápido quando os mantenedores compartilham um modelo operacional claro.
A mesma estrutura concentra autoridade prática. Os mantenedores decidem quais mudanças entram nos lançamentos oficiais, como a compatibilidade é tratada e quais bugs recebem atenção. A expertise em torno do inlet, do esquema dinâmico, dos classificadores e dos caminhos de migração pode residir com um número pequeno de pessoas. Um fork é juridicamente possível, mas operacionalmente caro quando a comunidade que se separa não tem esse conhecimento.
O suporte da Free reduz parte do risco de continuidade ao ancorar o projeto num ambiente de produção. Também cria dependência de prioridades que não são totalmente documentadas publicamente. Se os requisitos da empresa mudarem, se os mantenedores mudarem de função ou se o patrocínio declinar, os usuários externos precisam saber se a comunidade mais ampla de contribuidores consegue sustentar lançamentos, correções de segurança e atualizações de dependências.
Projetos upstream acrescentam outra camada de controle distribuído. O Kafka e o ClickHouse definem seus próprios roteiros. Fabricantes de dispositivos mudam o comportamento dos exportadores. Organismos de padrões evoluem o IPFIX e trabalhos relacionados ao BMP. Bancos externos alteram esquemas e licenciamento. O Akvorado pode se adaptar, fixar versões ou substituir componentes, mas não pode vetar essas decisões.
Uma história madura de governança não exigiria que o Akvorado se tornasse uma grande fundação. Requereria que a continuidade fosse legível. Uma política de lançamento documentada, um grupo mais amplo de mantenedores, um processo de segurança, compromissos de compatibilidade e um plano de sucessão diriam aos operadores o que acontece quando as relações informais atuais forem postas à prova. Nada disso foi estabelecido como quadro público completo até o corte da pesquisa.
A abertura do projeto deve, portanto, ser descrita com precisão. O código e grande parte do rastro de decisões são públicos. Financiamento, alocação de tempo e sucessão são menos visíveis. A transparência reduz a dependência de confiança, mas não abole a dependência de pessoas.
O melhor painel é aquele que revela seu denominador
A contribuição do Akvorado não é uma pretensão de ver toda a rede. É uma forma de preservar e interrogar observações selecionadas muito depois de os dispositivos que as produziram terem seguido em frente. O projeto conecta exportações de roteadores, filas, enriquecimento, armazenamento e consulta numa forma que os operadores podem inspecionar e executar por si mesmos.
Seus usos mais fortes aceitam a incerteza em vez de escondê-la. Equipes de capacidade podem acompanhar tendências duradouras enquanto comparam totais de fluxo com contadores. Equipes de peering podem descobrir relações de tráfego enquanto revisam regras de classificação. Respondentes de incidente podem restringir tempo e escopo enquanto buscam evidência de roteamento, logs, pacotes e endpoints. Equipes de privacidade podem manter os dados locais enquanto limitam quem pode lê-los e por quanto tempo eles sobrevivem.
O principal modo de falha é epistêmico antes de ser técnico: um gráfico limpo pode fazer um denominador desconhecido parecer exato. Exportadores ausentes, amostragem de pacotes, perda de UDP, consumidores atrasados, dados de interface desatualizados e rótulos retrospectivos podem todos produzir uma linha plausível. O sistema se torna mais seguro quando essas condições são medidas junto com o tráfego, em vez de tratadas como detalhe de implementação.
Esse também é o teste mais útil da próxima fase do Akvorado. O ritmo de lançamentos após a versão 2.4.1 mostrará se a arquitetura 2.x permanece sustentável. Implantações independentes podem mostrar custo de migração, perda de dados, desempenho de consulta e ônus operacional total. Um melhor tratamento temporal de roteamento e metadados pode fortalecer a análise histórica. Um processo mais amplo de segurança e governança pode reduzir o risco de continuidade.
O sucesso não exige que o Akvorado substitua toda plataforma gerenciada ou se torne um padrão universal. Exige que o projeto continue bom no trabalho mais restrito que escolheu: transformar exportações de fluxo incompletas numa memória operacional honesta e durável. A evidência decisiva será se os operadores conseguem explicar o caminho de uma linha na tela de volta aos dispositivos, amostragens, filas, metadados e regras que a criaram.
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
