Evolution of Grafana Plugin for Visualization of Information from P-BEAST
Grafana, a versatile open-source analytics and visualization web application, has become a crucial component in monitoring stacks. This article explores the evolution of a Grafana plugin designed for visualizing data from P-BEAST, a service within the ATLAS trigger and data acquisition system. The P-BEAST service offers interfaces for direct and remote access to operational data, facilitating efficient data retrieval. With continuous modifications required for compatibility with new Grafana versions, the developers aim to leverage modern technologies in plugin development.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
10thInternational Conference Distributed Computing and Grid Technologies in Science and Education (GRID 2023) EVOLUTION OF THE GRAFANA PLUGIN FOR VISUALIZATION OF INFORMATION FROM P-BEAST G. Avolio, A. Kazymov, I. Soloviev
GRAFANA Grafana is a multi-platform open source analytics and interactive visualization web application. It provides charts, graphs, and alerts for the web when connected to supported data sources Grafana is divided into a front end and back end, written in TypeScript and Go, respectively (Elder front end versions used JavaScript) Grafana is a popular component in monitoring stacks, often used in combination with time series databases such as InfluxDB, Prometheus and Graphite; monitoring platforms such as Sensu, Icinga, Checkmk, Zabbix, Netdata, and PRTG; SIEMs such as Elasticsearch and Splunk; and other data sources
GRAFANA The team of developers of Grafana tries to apply the most modern technologies There is a commercial version of Grafana No one worries about compatibilities of external plugins with new Grafana versions So almost with every new Grafana version the plugin has to be modified
P-BEAST In the ATLAS trigger and data acquisition system, operational data are archived and made available to applications by the P-BEAST (Persistent Back- End for the Atlas Information System of TDAQ) service, implementing a custom time-series database P-BEAST provides a C++ interface for direct access to data files, a CORBA and Python interfaces for remote access and a REST interface for web-oriented applications
P-BEAST DATABASE CONFIGURATION data can be queried specifying different data "attributes" following a syntax modelled on the one used by Graphite (i.e., dot-separated) Example of using REST interface: Request: https://atlasop.cern.ch/tdaq/pbeast/readSeries?&fillGaps=near&id=ATLAS.RunPara ms.run_number.RunParams.RunParams;&isRegexp=true&maxDataPoints=100&nextInter val=60&plotType=line&prevInterval=86400&readRawData=true&showAllUpdates=f alse&since=1688205126365000&until=1688216048184000 Response (JSON): [{"label": "ATLAS.RunParams.run_number.RunParams.RunParams", "datapoints": [ [1688167811917, 455795 ] ]}]
P-BEAST PLUGIN P-BEAST, of course, is not supported natively by Grafana and we had to develop a specific data-source plugin to allow Grafana retrieve data from P- BEAST database What means to build a Grafana data-source plug-in: that has to do not only with the P-BEAST-Grafana communication, but it also includes the integration with the Grafana UI (i.e., query, parameters, etc.)
GRAFANA V3 P-BEAST PLUGIN Angular library is chosen for web design JavaScript is used The code of plugin for Grafana v1.9 is almost fully rewritten GRAFANA SERVER CODE The code of Grafana server is modified Class query optional panel is changed JavaScript is used for Grafana front end
GRAFANA V5 P-BEAST PLUGIN Functions added Repeated panels are supported The code is fixed for new version GRAFANA SERVER CODE Developers: Grafana partially coded on TypeScript Patches for server was adapted for TypeScript Query optional panel is extended
GRAFANA V6 P-BEAST PLUGIN Annotations added The code is fixed for new version GRAFANA SERVER CODE QueryEditorOptions were modified LDAP is applied for log to Grafana
GRAFANA V7 GRAFANA SERVER CODE Server is written on TypeScript and partially uses React library Internal Grafana plugins are still not fully converted to TypeScript Optional panel is removed by developers (as possible backdoor) P-BEAST plugin optional parameters are coded as internal Grafana parameters Grafana API s were used for migration dashboard database from Grafana v6 to Grafana v7 P-BEAST PLUGIN The code is modified to use optional parameters from the server Still JavaScript is used
GRAFANA V9 P-BEAST PLUGIN The code is completely rewritten P-BEAST plugin is coded on TypeScript and uses React instead of Angular DataFrame technology is applied for better Grafana performance GRAFANA SERVER CODE Angular removed (but still supported) All internal plugins use TypeScript with React support Internal Grafana database (used for saving dashboards) was changed from SQLite to MySQL (for better performance)
GRAFANA V10.0.1 (THIS JUNE) Angular does not supported anymore P-Beast plugin was rebuilt with Grafana 10 libraries
CONCLUSIONS & OUTLOOK To support new features of new Grafana versions the external plugin has to be modified very often and sometimes should be rewritten completely