- Notifications
You must be signed in to change notification settings - Fork83
The CNCF sandbox for observability visualisation. Already supports Prometheus/Tempo - more data sources to come!
License
perses/perses
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Perses is first and foremost a dashboard tool that you can use to display a variety of observability data. It currently supports Prometheus metrics & Tempo traces, with plans to expand its capabilities in the future to include logging, profiling, additional technologies for monitoring and tracing, and more.
Perses is aCloud Native Computing Foundation sandbox project.
![]() | ![]() |
---|
Beyond its core usage, Perses aims to achieve several broader goals:
- Open specification for dashboards. Perses is also an initiative to define a standardized dashboard specification, fostering interoperability across observability tools.
- Integrability. Perses provides various npm packages that allow developers to embed panels and dashboards into their own UIs, benefiting from the work done in Perses. For instance, these packages could be used in the future to enhance data visualization in the Prometheus UI.
- Extensibility. Perses is soon to support plugins, enabling users to extend the tool’s native capabilities to suit specific needs.
- GitOps-friendly. SDKs, CI/CD libraries, static validation, native CLI.. Perses provides everything you need for a great Dashboard-as-Code experience.
- Kubernetes-native mode. Dashboard definitions will be deployable into and readable from individual application namespaces using Custom Resource Definitions (CRDs). For more information on that topic you can take a look at thePerses Operator.
We are providing an online demo available athttps://demo.perses.dev.You can create your own project(s) and dashboard(s) there, no one else will be able to modify them!
- Perses as an application can nowbe used.
- The data model reached a stable point, and we are providing multiple panel types that should cover most of the use caseswhen using Prometheus.
- Authentication and authorization are available.
- On the GitOps aspect:
- We provide a CLI that helps interacting with the API. A short doc is availablehere
- Two SDKs (in Golang and in Cuelang) are available to code dashboards. SeeDashboard-as-Code guide.Probably these SDKs are going to evolve depending on the feedbacks we might receive. Still it's likely to be about adding moreutil functions rather than breaking things.
- Work is in progress Change the current plugin architecture to make it potentially simpler and above all to be able toexternalize the load and the implementation of a plugin.
Current Roadmap is availablehere
There are various ways of installing Perses.
Precompiled binaries for released versions are available intheGitHub release. Using the latest release binary is the recommended wayof installing Perses.
Docker images are available onDocker Hub.
You can launch a Perses container for trying it out with:
docker run --name perses -d -p 127.0.0.1:8080:8080 persesdev/perses
To build Perses from source code, You need:
Start by cloning the repository:
git clone https://github.com/perses/perses.gitcd perses
Then you can usemake build
that would build the web assets and then Perses itself (and also the Perses CLI that canbe used to interact directly with the Perses API in case you prefer to browser the API using a terminal).
make build./bin/perses --config=your_config.yml
General instructions about how you can contribute to Perses are available in thedocumentCONTRIBUTING.md.
If you are primarily interested in contributing to the UI application and libraries, please refer totheUI Readme. It includes quick start instructions for how to build, run, and test the React UI. Italso includes details about the architecture andguidelines for development.
The code is licensed under anApache 2.0 license.
About
The CNCF sandbox for observability visualisation. Already supports Prometheus/Tempo - more data sources to come!