Pinned
With the team @free1337.bsky.social, we have developed a Netflow/IPFIX collector and visualizer. It is available at github.com/akvorado/akv.... It relies on several opensource components: GoFlow2, Kafka, ClickHouse, Vue, Tailwind, and more!
Vincent Bernat
@vincent.bernat.ch
Network engineer at AS12322. Debian and free software developer. Like to work on projects with C, Python, or Go. He/him. https://vincent.bernat.ch
519 followers220 following192 posts
Pinned
With the team @free1337.bsky.social, we have developed a Netflow/IPFIX collector and visualizer. It is available at github.com/akvorado/akv.... It relies on several opensource components: GoFlow2, Kafka, ClickHouse, Vue, Tailwind, and more!
New release of Akvorado, an IPFIX/sFlow collector and visualizer. Among the new features are support for TCP/SCTP for IPFIX, buttons to reverse direction in the console, timezone support, optional separate smaller inlet binary. Fetch it while this is hot! github.com/akvorado/akv...
Vincent Bernat reposted
Replying to @vincent.bernat.ch
btw you can try github.com/stepbrobd/ce... plugin to get a shared storage location for all certs (and other parts that uses caddy certmagic storage backend) i forked the og repo and added proper locking mechanism during cert renewal
I am annoyed since a long time of the default sort of GitHub for PR and issues. I would like "last updated" to be the default. Amazing this is not user-configurable... github.com/orgs/communi...
nginx configuration is always a bit too cumbersome/inflexible. Notably, header inheritance is a pain (even with the new option to merge headers). So, I switched to Caddy.
And to not hit quite low Let's Encrypt rate limits when deploying the same certificate on many hosts, I am also getting certificates on my workstation and deploying them with Colmena/Nix to their remote location. Start here: github.com/vincentberna...
While looking at replacing Cloudfront by Bunny, I updated my Terraform setup from Terraform (not opensource) + CDKTF (abandonned) by Open Tofu + CDKTN. Glad the community took over these projects from Hashicorp. For reference: vincent.bernat.ch/en/blog/2022...
Hacking the Go compiler to efficiently map IPv4 to IPv6: vincent.bernat.ch/en/blog/2026.... This post digs in how to modify the Go compiler to reduce netip.AddrFrom16()+netip.As16() to almost nothing, first through the noding process, then with rewrite rules for the SSA form.
Just discovered `-overlay` build flag. github.com/vincentberna...
Self-hosted HTTP tunnels with SSH and nginx: vincent.bernat.ch/en/blog/2026.... That's like ngrok or Cloudflare Quick Tunnels, but self-hosted and you only need SSH.
Vincent Bernat reposted
Bot-free self-hosted analytics with GoatCounter on NixOS: vincent.bernat.ch/en/blog/2026.... With an alternative JavaScript client, a fallback to CSS, an overdoing local proxy, and a lot of NixOS, including Litestream to backup an SQLite database!
Quality of life in Thunderbird with this patch to avoid drag&drop folders by accident: github.com/vincentberna.... Thanks to Nix, it's no issue to apply such a patch.
Sidenotes with CSS anchor positioning: vincent.bernat.ch/en/blog/2026.... A short post about positioning notes in the margin (and not at the end of the document) and a digression on how to spend far more time than needed on this issue.
I am self-publishing videos on my website using HLS (check https:// vincent.bernat.ch/en/blog/2018-self-hosted-videos). But, I made a video with two sound tracks and browsers don't support audio track selection without JavaScript. Maybe I'll switch to VideoJS 10 once it is not in beta anymore.
It's difficult to build very high performance tools in Go. For example, BART would benefit for an helper over net/netip: github.com/golang/go/is.... Unfortunately, the maintainers consistently reject these APIs but Go don't really offer any safe workaround. You can't extend, you can't fork.
Minor update for Akvorado, your beloved flow collector. Among them, a few small fixes, the ability to zoom out, or the support for DB-IP. github.com/akvorado/akv...
An interactive introduction to the spanning tree protocol: vincent.bernat.ch/en/blog/2026.... While the spanning tree protocol is quite old, it is still sometimes useful. This article explores it with interactive demonstrations running a real daemon (MSTPD) compiled to WebAssembly with Emscripten.
nixpkgs multiverse, now faster and leaner! fzakaria.com/2026/08/14/n... With the previous iteration released last week, if you pin a lot of packages, you pull many versions of nixpkgs and evaluate them. Not anymore! You can fetch directly from the cache! Look at the other articles from the blog too
New release of Akvorado, a IPFIX/sFlow collector with a builtin web interface for visualization. We are switching to CalVer for versioning. The GeoIP/networks database migrates from the orchestrator to the outlet. It is now possible to export enriched flows to Kafka. github.com/akvorado/akv...
Vincent Bernat reposted
came across a neat post to understand IP lookup using trie and other optimizations on top of it. thanks @vincent.bernat.ch vincent.bernat.ch/en/blog/2017...
I've asked IEEE the authorization to reproduce one diagram from IEEE 802.1Q (through standards.ieee.org/ipr/copyrigh...). Do they answer "fast"?
I had this article about contributing to RRDtool in draft for more than 10 years! I just published it "as is:" vincent.bernat.ch/en/blog/2013... The goal was to encourage people around me to contribute to open source. Unfortunately, the patch took a bit of time to be accepted.
Just published Akvorado 2.4.1, your friendly IPFIX/NetFlow/sFlow collector: github.com/akvorado/akv....
Vincent Bernat reposted
ah yes...I should also post about OUR book. the 2nd edition of "Observability Engineering" is now available for download.. and you can download it for free on the honeycomb site. this was supposed to be an update, and ended up being a total rewrite (& then some). 😅 www.honeycomb.io/blog/the-sec...
Both Cat and Charity are very much worth reading.
Vincent Bernat reposted
I've made a Kubernetes that runs in the browser, and today we're open sourcing it. The hope here is to make super interactive and visual web content about Kubernetes much easier to write, and we have a whole bunch planned this year. Repo: github.com/ngrok/webern... Demo: webernetes-demo.ngrok.app
Vincent Bernat reposted
(Some) writers appreciate LLM writing assistance but readers hate it. Survey says… writethatblog.substack.com/p/dev-reacti... If readers suspect AI, they not only stop reading, but also downvote/avoid the author.
Building a Soviet Nail Factory: how KPIs killed efficiency. A story that I often tell. It is now old enough to not upset my former colleagues. vincent.bernat.ch/en/blog/2026...
Vincent Bernat reposted
Replying to @vincent.bernat.ch
yes!! thank you for noticing!! :D i have been going to TOWN lately generating sticker art and slogans and learning graphic design fundamentals. maybe i will write about that today, hm. this is one of my favorite themes.. it feels very.. scandinavian? i will mail you some if you give me an address!
Blogging with an LLM assistant: vincent.bernat.ch/en/blog/2026... (grammar, copyediting, translation). This specific post is *not* modified by an LLM.
Vincent Bernat reposted
i wrote a post about the growing divide between AI skeptics and AI enthusiasts. wins and costs are both real, but too often fall on different groups of people. when you're only experiencing half the story, it's too easy to write each other off. charitydotwtf.substack.com/p/ai-enthusi...
This MT7915 card seems supported by Linux and features two radios and could advertise 16 SSIDs. Anyone knows if they work well? asiarf.com/product/wifi...
My previous tentative was with an Intel 7960 card, but I gave up and switched to an external AP. vincent.bernat.ch/en/blog/2014...
New release of Akvorado (direct from the train to Montpellier): github.com/akvorado/akv.... There is a new bidirectional option for Sankey graphs. Also, some improvements on handling the RIB. The next version is likely to ship an architecture change to pave the way to more flexible flow enrichment.
Vincent Bernat reposted
More and more people I deeply respect and have learned a lot from over the years feel like they are speaking into a void, to the point where they are losing motivation to continue making content, which got me to write my first post on my site in over a year... www.kevinpowell.co/article/tell...
Scaling Akvorado BMP RIB with sharding. Making an efficient RIB to store 10M+ routes is challenging. While writing this article, I discovered additional optimizations. That's one reason to blog! vincent.bernat.ch/en/blog/2026...
Don't upgrade Docker Engine to 29.5.0 if you are using Akvorado. It breaks the conntrack handling. See here for some details: github.com/akvorado/akv... 😭