Coder Social home page Coder Social logo

grafana-plugin's Introduction

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.

grafana-plugin's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

grafana-plugin's Issues

Update docs to reflect v0.0.5

Release 0.0.3-0.0.5 have introduced many new changes to the Grafana plugin including:

  • Prebuilt dashboards
  • Script selector
  • Script builder which helps do column filtering/grouping

We need to update our docs to reflect these new changes.

I am trying to create the pixie datasource by connecting to pixie cloud to create dashboard and looking details for datasource.yaml values

@zasgar

What happened:
I am trying to create the pixie datasource by connecting to pixie cloud to create dashboard.

What you expected to happen:
datasource should be created with clusterid and apikey added , but instead its creating the datasource without the values being added automatically.

How to reproduce it (as minimally and precisely as possible):
datasourcesgrafana.yaml:
apiVersion: 1
datasources:

access: proxy
name: Pixie Grafana Datasource Plugin
editable: true
isDefault: true
type: pixie-pixie-datasource
Pixie API Key: xxxxxx
Cluster ID: xxxxxx
Pixie Cloud address: withpixie.ai:443
orgId: 1
jsonData:
timeInterval: 5s
Anything else we need to know?:

Environment:

Grafana version:
Data source type & version:pixie
OS Grafana is installed on:linux
User OS & Browser:
Grafana plugins:pixie-datasource

Require API key & cluster ID when adding plugin.

When installing the datasource plugin, the "Save & Test" button shows that the "Data source is working" even if the API key & cluster ID aren't added.

Screen.Recording.2021-05-19.at.10.28.03.AM.mov

[Dashboards] Switching `pixieCluster` does not update `pixieService` drop-down menu options

Repro steps:

  1. Create a Grafana dashboard by importing the px/service dashboard json.
  2. Look at the options in the pixieService drop-down menu.
  3. Switch clusters using the pixieCluster drop-down menu.
  4. Notice that the options in the pixieService drop-down menu do not update.

This appears to be a problem with multiple dashboards, including px/service and px/pod using Grafana version 7.5.1. However, this does work in the latest version of Grafana.

Indicate best visualization/panel type for each datasource script

Some of the example scripts in the datasource Script drop-down menu require a certain panel type to see data (e.g. time series or node graph panel). How can we better indicate which panel to use with each example script?

Some options:

  • Update script name (e.g. Pod Metrics โ†’ Pod Metrics table)?
  • Include required panel type in description?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.