Balena Application plugin for @grafana.

Overview

Balena Application plugin for Grafana

Application

Grafana 9 Language grade: JavaScript CI codecov Balena

Introduction

The Balena Application plugin for Grafana allows to display device information and manage services using Balena Supervisor API.

Requirements

  • Grafana 8.5+, Grafana 9.0+ is required.

Getting Started

The Balena application is under development and not included in the Grafana Marketplace yet. It can be installed manually from our private repository or downloaded directly from the GitHub repository:

grafana-cli --repo https://volkovlabs.io/plugins plugins install volkovlabs-balena-app

balenaCloud

Our custom Grafana build with the Balena Application plugin can be deployed directly to balenaCloud:

Deploy with balena

We recommend to add it to your docker-compose.yml together with NGINX reverse proxy (example configuration in the repository):

version: '2.1'

services:
  grafana:
    image: ghcr.io/volkovlabs/balena-app:latest
    network_mode: host
    restart: always
    labels:
      io.balena.features.supervisor-api: '1'
    volumes:
      - grafana-data:/var/lib/grafana

  nginx:
    build:
      context: ./nginx
      dockerfile: Dockerfile
    network_mode: host
    restart: always
    depends_on:
      - grafana

volumes:
  grafana-data:

Default Grafana username and password is admin/admin.

You can learn more about balena Labels in the Documentation.

Features

  • Allows to display device, release information and service logs using Balena Supervisor API.
  • Provides Services Panel to start, stop, restart Containers.
  • Allows to filter Logs using Regex pattern.
  • Requires Confirmation to restart all Services and reboot the device.

Balena Supervisor

The balena Supervisor is balena's agent that runs on devices. Its main role is to ensure your app is running, and keep communications with the balenaCloud API server.

The Supervisor has its own set of APIs providing means for services to communicate and execute some special actions that affect the host OS or the services itself.

Provisioning

Grafana supports managing data sources by adding one or more YAML config files in the provisioning/datasources folder.

Example of provisioning the Balena Supervisor Data Source.

datasources:
  - name: API
    type: volkovlabs-balenasupervisor-datasource
    uid: P9E471951A1B4106C
    jsonData:
      url: ${BALENA_SUPERVISOR_ADDRESS}
    secureJsonData:
      apiKey: ${BALENA_SUPERVISOR_API_KEY}

Feedback

We love to hear from users, developers, and the whole community interested in this plugin. These are various ways to get in touch with us:

  • Ask a question, request a new feature, and file a bug with GitHub issues.
  • Star the repository to show your support.

Contributing

  • Fork the repository.
  • Find an issue to work on and submit a pull request.
  • Could not find an issue? Look for documentation, bugs, typos, and missing features.

License

  • Apache License Version 2.0, see LICENSE.
You might also like...

This is an application that entered the market with a mobile application in real life. We wrote the backend side with node.js and the mobile side with flutter.

HAUSE TAXI API Get Started Must be installed on your computer Git Node Firebase Database Config You should read this easy documentation Firebase-Fires

Nov 4, 2021

This is a full-stack exercise tracker web application built using the MERN (MongoDB, ExpressJS, ReactJS, NodeJS) stack. You can easily track your exercises with this Full-Stack Web Application.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Dec 25, 2021

A web application for a company that provides commercial and scientific space travel services. The application will allow users to book rockets and join selected space missions.

A web application for a company that provides commercial and scientific space travel services. The application will allow users to book rockets and join selected space missions.

Space Travelers A web application for a company that provides commercial and scientific space travel services. The application will allow users to boo

Apr 6, 2022

A simple To Do List application that allows users to save, edit, mark completed, and delete their to-dos, and save their list when application is closed. Build with JavaScript.

To Do List A simple To Do List online application that allows users to save, and manipulate their to-dos, and save their list when application is clos

Dec 20, 2022

Awesome Books project with ES6 is an application that was built using Vanilla JavaScript with ES6 features like using arrow functions. This application allows you to keep records of your favorite books.

Javascript Project Awesome Books with ES6 Using Javascript to create a simple Awesome Books project. Populating the books list and then removing one b

Sep 28, 2022

This application provides the CDK project and a frontend that allows you to build a serverless chat application based on API Gateway's WebSocket-based API feature.

This application provides the CDK project and a frontend that allows you to build a serverless chat application based on API Gateway's WebSocket-based API feature.

Serverless chat application using ApiGateway Websockets This project lets you provision a ready-to-use fully serverless real-time chat application usi

Jan 3, 2023

This web application provides commercial and scientific space travel services. The application allows users to book rockets and join selected space missions.

This web application provides commercial and scientific space travel services. The application allows users to book rockets and join selected space missions.

space-hub About Project "Space Traveler's Hub" is A web application that provides commercial and scientific space travelling services, We are working

Nov 2, 2022
Comments
  • Add IoT Framework video

    Add IoT Framework video

    This video highlights just one example of many possible solutions when you can combine balena for IoT networking and Grafana with open-source one-click away features on top.

    Combining Grafana plugins, you can build that unique application you are longing for with zero unused features.

    enhancement 
    opened by mikhail-vl 1
  • Sanitize Environment from Target State

    Sanitize Environment from Target State

    Resolves #38.

    To avoid exposing Environment Variables from all containers, it's sanitized. If you need to use Environment Variables in Grafana, consider using Environment Data Source: https://github.com/volkovlabs/volkovlabs-env-datasource

    enhancement 
    opened by mikhail-vl 1
  • Sanitize Environment Variables in Target State

    Sanitize Environment Variables in Target State

    Environment Variables for various containers can contain tokens and password, which can be exposes to end-users. Sanitize should be done as a constant in Data Source and can be changed by rebuilding.

    enhancement 
    opened by mikhail-vl 0
Releases(v1.5.0)
Owner
Volkov Labs
Custom plugin development for Grafana
Volkov Labs
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
RSS/Atom data source plugin for @grafana.

RSS/Atom data source plugin for Grafana Introduction The RSS/Atom data source is a plugin for Grafana that retrieves RSS/Atom feeds and allows to visu

Volkov Labs 9 Jan 2, 2023
Data Manipulation Form panel plugin for @grafana.

Data Manipulation Form panel plugin for Grafana Introduction The Data Manipulation Form Panel is a plugin for Grafana that can be used to insert, upda

Volkov Labs 25 Dec 28, 2022
Apache ECharts Panel plugin for Grafana

Apache ECharts Panel plugin for Grafana Introduction The ECharts Panel is a plugin for Grafana that allows to visualize Apache ECharts on your Grafana

Volkov Labs 36 Dec 23, 2022
Displays environment variables on your Grafana dashboards

Displays environment variables on your Grafana dashboards Introduction The Environment data source is a plugin for Grafana that returns environment va

Volkov Labs 7 Dec 26, 2022
The Trino datasource allows to query and visualize Trino data from within Grafana.

Trino Grafana Data Source Plugin The Trino datasource allows to query and visualize Trino data from within Grafana. Getting started Drop this into Gra

Starburst 13 Nov 3, 2022
Add GeoIP && UA-Parser support for Grafana Loki

loki-enhance-middleware loki-enhance-middleware hijacks log push requests sent to loki and modifies it. Deploy docker-compose.yaml services: loki:

WangLei 5 Dec 10, 2022
This plugin can be embedded in PHP application to give the web application specific routes/href

Routes Plugin PHP This plugin can be embedded in PHP application to give the web application specific routes/href location and for entering specific/l

Ifechukwudeni Oweh 7 Jul 17, 2022