Skip to content

pixie-io/grafana-plugin

Repository files navigation

What is Pixie?

Pixie is an observability platform for Kubernetes. It allows developers to debug, monitor, and explore their applications. Pixie uses eBPF to automatically capture telemetry data without the need for manual instrumentation.

This plugin allows Grafana users to use Pixie as a datasource in their Grafana dashboards. It can be used to visualize the following data automatically collected in Pixie:

  • Protocol tracing and metrics: Pixie automatically collects full-body messages between the pods of your applications. Supports protocols such as HTTP, MySQL, DNS, and Redis. You can also expose application metrics such as request latency, error rate, and throughput.

  • Resource metrics: CPU, memory and I/O metrics for your pods. For more information, see the Infra Health tutorial.

  • Network metrics: Network-layer and connection-level RX/TX statistics. For more information, see the Network Monitoring tutorial.

  • JVM metrics: JVM memory management metrics for Java applications.

  • Application CPU profiles: Sampled stack traces from your application.

pxCluster

Getting started

Install Pixie on your Kubernetes cluster.

Installing the Plugin

On Grafana Cloud

The Pixie datasource plugin is available on Grafana Cloud, which makes it easy to install Grafana plugins to your Grafana Cloud instance.

On a local Grafana instance

In order to deploy to a local Grafana instance, you can run the following command:

grafana-cli plugins install pixie-pixie-datasource

Using the plugin

Check out the Grafana Pixie plugin tutorial and example queries.

Pixie's data can be accessed using PxL, the query language for the data it collects. This datasource allows Grafana users to enter a PxL script when using Pixie as a datasource for a panel in their dashboard.

Deploy a configured Grafana instance in Kubernetes

If you wish to deploy a Grafana instance into your Kubernetes cloud, you can do so by following the instructions here.

Development

If you want to add a new feature to the plugin, check out CONTRIBUTING.md. We welcome the contributions of the community!

Clone the repo

git clone [email protected]:pixie-io/grafana-plugin.git

Building from source: front-end

Once the repo has been cloned, please:

  1. Install dependencies

    yarn install
  2. Build plugin in development mode or run in watch mode

    yarn dev

    or

    yarn watch
  3. Build plugin in production mode

    yarn build

Building from source: back-end

  1. Update Grafana plugin SDK for Go dependency to the latest minor version:

    go get -u github.com/grafana/grafana-plugin-sdk-go
  2. Build backend plugin binaries for Linux, Windows and Darwin:

    mage -v

Installing the dev version of the plugin

  1. Copy the dist folder to your Grafana plugins directory.

  2. Edit your Grafana configuration file to detect the plugin binaries. Additional details here.