DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • Telemetry Pipelines Workshop: Installing Fluent Bit From Source
  • Overview of Telemetry for Kubernetes Clusters: Enhancing Observability and Monitoring
  • CubeFS: High-Performance Storage for Cloud-Native Apps
  • Optimizing Prometheus Queries With PromQL

Trending

  • Enforcing Architecture With ArchUnit in Java
  • Monolith: The Good, The Bad and The Ugly
  • Event-Driven Microservices: How Kafka and RabbitMQ Power Scalable Systems
  • How to Create a Successful API Ecosystem
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. O11y Guide: Getting Started With Perses

O11y Guide: Getting Started With Perses

Follow along in this introduction to an up-and-coming open-source metrics dashboard project named Perses.

By 
Eric D.  Schabell user avatar
Eric D. Schabell
DZone Core CORE ·
Updated Dec. 28, 22 · Tutorial
Likes (3)
Comment
Save
Tweet
Share
5.8K Views

Join the DZone community and get the full member experience.

Join For Free

In this sixth installment of the series covering my journey into the world of cloud-native observability, I'm going to start diving into an open-source project called Perses. If you missed any of the previous articles, head on back to the introduction for a quick update.

After laying out the groundwork for this series in the initial article, I spent some time in the second article sharing who the observability players are. I also discussed the teams that these players are on in this world of cloud-native o11y. For the third article, I looked at the ongoing discussion around monitoring pillars versus phases. In the fourth article, I talked about keeping your options open with open-source standards. In my last installment, the fifth article in this series, I talked about bringing monolithic applications into the cloud native o11y world.

Being a developer from my early days in IT, it's been very interesting to explore the complexities of cloud-native o11y. Monitoring applications goes way beyond just writing and deploying code, especially in the cloud-native world. One thing remains the same: maintaining your organization's architecture always requires both a vigilant outlook and an understanding of available open standards.

In this sixth article, I'm going to provide you with an introduction to an up-and-coming open-source metrics dashboard project I'm getting involved in. Not only will this article provide an introduction to the project, but I'm going to get you started hands-on with a workshop I'm developing to get started with dashboards and visualization.

This article is my start at getting practical hands-on experience in the cloud-native o11y world. I've chosen to start with the rather new, up-and-coming open-source project Perses. Not only am I exploring this project, but as I learn I am sharing this knowledge in a free online workshop that you can follow as it's developed here:

Workshop: Getting started with Perses, intro slide

Now let's explore the origins of this new project.

The Origins of Perses

Perses is the first project under the CoreDash community umbrella which is part of the Linux Foundation. It's a centralized effort to define a standard for visualization and dashboards. Perses is licensed under the Apache License 2.0, which is a big difference from the recent changes to what used to be the default dashboard project before they opted to change to Affero General Public License (AGPL) v3. This change means users that apply any modification have to share them back into the project, which is a bit more restrictive than most users want.

Its main goal is becoming an exploration into finding an open-source standard for visualization and dashboards for metrics monitoring. Its first code commit was made in January 2022, and since then has been quite active. There are clear project goals:

  • Become an open standard dashboard visualization tool.
  • Provide embeddable charts and dashboards in any user interface.
  • Target Kubernetes (k8s) native mode.
  • Provide complete static validation for CI/CD pipelines.
  • Architecture supporting future plugins

Time will tell if these goals can be met, but you can check out a more in-depth introduction in this free online workshop lab 1:

Lab 1 - Introduction to Perses slide

Next, we can look at installation options for this project

Installing Perses

There are two options for installing Perses on your local machine. For the first option, you can build the source code project and run it from there, but there are a few software dependencies that you need to meet first to do that. Second, if the bar is too high to build the project from its source, you can install and run Perses from a container image.

I've put together a simple supporting project that you can use called Perses Easy Install project. This project contains a simple installation script that allows you to choose either a container install using Podman, or to build the project from its source code. Both methods include sanity checks for the dependencies on your machine before allowing you to install the project.

Install in a Container (Podman)

This is an installation using the provided Perses container image. You will run this container on a virtual machine provided by Podman.

Prerequisites: Podman 4.x+ with your Podman machine started

  1. Download and unzip the demo (see project README for links to this download).
  2. Run 'init.sh' with the correct argument:
 
$ podman machine init
$ ./init.sh podman


3. The Perses container image is now running and pre-loaded with demo examples, connect in your browser:

  • http://localhost:8080

For an installation from the source, the following process is needed.

Install on Your Local Machine

This is an installation from the source code of the Perses project. You will test, build, and deploy the Perses server locally on your machine.

Prerequisites: Go version 1.18+, NodeJS version 16+, npm version 8+

  1. Download and unzip the demo as linked in step 1 above (see project README for links to this download).
  2. Run 'init.sh' with the correct argument:
$ ./init.sh source

3. Perses is now running, connect to the Perses dashboards in your browser:
  • http://localhost:8080

For step-by-step instructions on how to install Perses using a container image or from the source code in the project itself, see this free online workshop lab 2:

Lab 2 - Installing Perses (slide)

More To Come

Next up, I plan to continue working through the Perses project with more workshop materials to share. Stay tuned for more insights into a real, practical experience as my cloud native o11y journey continues.

Kubernetes Open source Cloud native computing Observability

Published at DZone with permission of Eric D. Schabell, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Telemetry Pipelines Workshop: Installing Fluent Bit From Source
  • Overview of Telemetry for Kubernetes Clusters: Enhancing Observability and Monitoring
  • CubeFS: High-Performance Storage for Cloud-Native Apps
  • Optimizing Prometheus Queries With PromQL

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!