On the internet, nothing necessarily stays easy, simple, and reliable forever – but we’re trying to keep it that way for your logs. When our customers use Kubernetes, they want to remain focused on the real challenges of scaling, and avoid infrastructure headaches, so that they can adapt to the unexpected easily and with a minimum of toil. That's why we continue to invest in the LogDNA Agent. It's built to handle file logging in even the most intensive Kubernetes deployments. After extensive testing with our highest-volume customers, today, we're making the v2 Agent available for all Kubernetes users of LogDNA.
We built the new Agent on Rust from the ground up. Rust is a low-level systems programming language that is very fast, very safe, and very extensible. It's the right choice for an agent that we’ll extend in the future to platforms and OSes beyond Kubernetes – making it a one-stop shop for file logging across all your systems.
Rust's low-level proficiency means we were able to overhaul the Agent's file-watching performance, making it far more reliable than the v1 Agent. The new Agent directly taps into inotify to watch for file updates, so that we can track even the most minor, rapid changes to file logs. By using these low-level APIs, the new Agent also needs far fewer resources to monitor and send your logs: less CPU, less memory, and less worry from you and your devops team.
Installing the new Agent is simple – check out the installation instructions here. If you're upgrading from v1, you'll have to remove your old configuration YAML, and add the new one – that way, you'll get all the security benefits of RBAC, plus a LogDNA-specific namespace. If you’re adding the Agent to a new Kubernetes deployment, it’s just two commands to get started.
A note on tagging: as before, new builds of the agent will be available on DockerHub and IBM’s ICR, both as `logdna-agent`. However, we’ve changed and simplified the available tags. If you want to receive automatic updates to the newest stable, beta-tested version of the agent, you should use the `stable` tag. If you would like to stay conservative, just pick the latest dot-version – in this case, `2.1.8`.
We’ll be deprecating all other tags and image repos: no new images will be added, though we won’t delete any, to ensure we don’t leave anyone in the lurch. We’ll also continue to support the v1 Agent for a number of patch releases, and will release any updates to it with the above tagging structure.
Finally, we’re open sourcing the new Agent under an MIT license, so you can see how it works, and offer your own contributions. Check it out on GitHub.