Akvorado : collecteur et visualisateur de flux réseau

Vincent Bernat

Au début de cette année, nous avons publié Akvorado, un collecteur, enrichisseur et visualisateur de flux. Il reçoit les flux réseau de vos routeurs via NetFlow v9, IPFIX ou sFlow. Des informations supplémentaires sont ajoutées, comme la localisation géographique et le nom des interfaces. Les flux sont exportés vers Apache Kafka, une file d’attente distribuée, puis stockés dans ClickHouse, une base de données orientée colonnes. Une interface web est fournie pour exécuter des requêtes. Une version en ligne est disponible pour vous permettre d’essayer.

L'interface web d'Akvorado affiche le résultat d'une
requête
Interface web d'Akvorado

Plusieurs alternatives existent :

Akvorado se différencie en deux points des solutions existantes :

  • il est publié sous une licence libre (AGPLv3 license),
  • il regroupe dans un seul « produit » la collecte et le stockage des flux ainsi qu’une interface web.

La solution de déploiement proposée s’appuie sur Docker Compose pour configurer Akvorado, Zookeeper, Kafka et ClickHouse. J’espère que cela permette de démarrer rapidement. Akvorado est suffisamment performant pour gérer 100 000 flux par seconde avec 64 Go de RAM et 24 vCPU. Avec 2 To de disque, vous pouvez espérer conserver les données pendant quelques années.

Je pense que la documentation est assez complète. Il semble redondant de répéter son contenu dans ce billet. Il y a également une section sur sa conception interne si vous êtes intéressé par la façon dont il est construit. J’ai également fait une présentation FRnOG plus tôt cette année et une présentation qui se concentre davantage sur la façon dont ClickHouse est utilisé. Je pense écrire des articles plus détaillés sur certains aspects d’Akvorado. Restez à l’écoute ! 📻


  1. Bien que le collecteur pourrait écrire directement dans la base de données, la file d’attente est un tampon pour les flux si la base de données est indisponible. Elle permet également à un autre composant, tel qu’un système anti-DDoS, de traiter les flux. ↩︎