Presenters

Source

🚀 Level Up Your Observability: Perses Goes Go! 🤖

Observability is no longer a “nice-to-have”; it’s essential for modern, complex systems. But building effective monitoring dashboards can be a frustrating, time-consuming process. That’s why we’re incredibly excited about the evolution of Perses, an open-source observability tool, and the groundbreaking changes being made to how you build and manage your dashboards. Let’s dive in! 💡

From Templating to Code: A New Era for Perses 🛠️

For a while, Perses relied on templating languages like Jsonnet to construct its dashboards. While functional, these systems struggled with the inherent complexity of managing sprawling configurations, especially when dealing with Kubernetes manifests. The result? A lot of manual tweaking and a frustratingly brittle process. But things are changing, dramatically. 🤯

The core of this transformation is the new Perses Go SDK. This isn’t just a minor update; it’s a fundamental shift towards a code-first approach. Think of it as building your dashboards with Go code, leveraging the power and flexibility of the language. This means:

  • Increased Durability: Code is inherently more stable and maintainable than complex templates.
  • Enhanced User-Friendliness: The Go SDK provides intuitive builder patterns, making dashboard creation significantly easier.
  • Greater Extensibility: You have complete control over your dashboards, allowing for custom logic and integrations.

The Power of Community Mixins 🌐

Perses isn’t just about individual developers; it’s about a thriving community. That’s why the Community Mixins initiative is a game-changer. These are pre-built, versioned dashboard configurations for common monitoring scenarios – think Thanos, Blackbox Exporter, and the Prometheus Operator – ready to be plugged in and used. 🎯

  • Versioned Configurations: Ensures consistency and avoids compatibility issues.
  • Go Code & YAML Definitions: Mixins are available in both formats, catering to different development workflows.
  • Rapid Adoption: Quickly get up and running with established dashboards, saving you valuable time and effort.

Tech Stack Breakdown ⚙️

Let’s take a look at the key technologies powering this evolution:

  • Prometheus: The foundation of Perses, providing the metrics, traces, logs, and profiles.
  • Prometheus Operator: Simplifies deployment and management within Kubernetes.
  • Kubernetes: The environment where Perses thrives.
  • Go: The language driving the new SDK.
  • QLang: Used for PromQL queries within the SDK.
  • Grafana & Cube: Tools that can integrate with Perses.
  • CNCF Sandbox: Perses current status, signifying its readiness for wider adoption.

Addressing the Challenges 🚧

Of course, any major shift comes with its challenges. The team at Perses has been tackling these head-on:

  • Jsonnet Limitations: The initial reliance on Jsonnet’s complexity was addressed by moving to a code-based approach.
  • String Concatenation: The Go SDK’s PromQL builder eliminates the risk of syntax errors associated with manual string concatenation.
  • SDK Verbosity: The initial SDK was admittedly verbose, but the team is working to streamline the experience.
  • AI Limitations: Currently, AI tools can’t effectively generate dashboard configurations from Perses, but the team is optimistic about future advancements. 👾
  • Technical Hiccups: During the presentation, a monitor functionality experienced intermittent issues, requiring a reboot – a reminder that even mature projects require ongoing maintenance.

Key Arguments & Statements ✨

Here’s what the team is emphasizing:

  • Shift from Templating to Code: This is the core principle driving the transformation.
  • User-Friendliness & Durability: The Go SDK and Community Mixins are designed to make observability more accessible and maintainable.
  • Ecosystem Driven: Perses thrives on its plugin ecosystem, allowing for easy integration of new data sources and visualizations.
  • Kubernetes Native: The operator simplifies deployment and management within Kubernetes.

Quantifiable Progress 📊

  • CNCF Sandbox Status: Perses is a CNCF Sandbox project, demonstrating its maturity.
  • Plugin Ecosystem Growth: The plugin ecosystem is continuously expanding, with new additions being released regularly.
  • Mixins Coverage: Currently, the Community Mixins repository covers most widely adopted monitoring tools.

Q&A Highlights 💬

The presentation included some insightful questions from the audience:

  • Overriding Configurations: The response confirmed that the SDK provides the underlying structures, allowing for customization and overrides.
  • AI Integration: While acknowledging current limitations, the team expressed optimism about future AI-powered assistance.
  • YAML Generation: The SDK generates Kubernetes deployment YAML definitions, simplifying deployment processes.

The Future is Bright 🌟

Perses is undergoing a truly exciting transformation. By embracing a Go-centric approach, the team is building a more durable, user-friendly, and collaborative observability platform. While challenges remain, the long-term vision is clear: a standardized, reusable, and powerful tool for monitoring your systems. 🚀 Are you ready to level up your observability game?

Appendix