Grafana dashboard: Difference between revisions

From wikiluntti
 
(4 intermediate revisions by the same user not shown)
Line 15: Line 15:
Grafana autoupdate refresh.png|Set autoupdate. Note that zooming is lost.
Grafana autoupdate refresh.png|Set autoupdate. Note that zooming is lost.
</gallery>
</gallery>
<gallery>
Grafana setHeaders.png|Set headers!
</gallery>


Grafana is a open source analytics application. It can produce charts, graphs, and alerts for the web when connected to supported data sources.  
Grafana is a open source analytics application. It can produce charts, graphs, and alerts for the web when connected to supported data sources.  
Line 50: Line 55:


=== GIS  ===
=== GIS  ===
<gallery>
Grafana latlong.png|Change Auto to Lat Long if not working.
Example.jpg|Caption2
</gallery>


Geomap
Geomap


=== JSON data ===
Need to have stream of JSON
The following array works, but there is the problem with brackets.
<syntaxhighlight lang="json">
[{
  "name": "John",
  "age": 30,
  "city": "New York"
},
{
  "name": "Jussi",
  "age": 32,
  "city": "New York C"
}]
</syntaxhighlight>


=== Window functions ===
=== Window functions ===
Line 62: Line 89:
== Logs from Serial port ==
== Logs from Serial port ==


Use [[Arduino_radio_hc-12#Terminal_program|PuTTY]] and save (stream) logs to a file. Works like a charm. The notepad++ can be set to update automatically without asking (Ctrl-R reloads the file) by using <code>Settings -> Preferences -> MISC. -> Update silently</code>, but it still need Ctrl-R to reload the file.
'''RealTerm''': Serial/TCP Terminal (https://sourceforge.net/projects/realterm/) by Crun is a rather easy and good behaving serial port logger with timestamps. It also shows the name of peripheral attached to the COM (USB) port. It can show also the I2C data.
 
 
 
'''Putty:''' cannot add the timestamp. There are some extraplugins, but I will skip those. Use [[Arduino_radio_hc-12#Terminal_program|PuTTY]] and save (stream) logs to a file. Works like a charm. The notepad++ can be set to update automatically without asking (Ctrl-R reloads the file) by using <code>Settings -> Preferences -> MISC. -> Update silently</code>, but it still need Ctrl-R to reload the file.  


However, Grafana cannot update a local file. Instead use a web server (eg nginx) to serve the CSV files over http and then use http url (eg http://localhost/my-csv-app/my-csv-file.csv).
However, Grafana cannot update a local file. Instead use a web server (eg nginx) to serve the CSV files over http and then use http url (eg http://localhost/my-csv-app/my-csv-file.csv).

Latest revision as of 10:01, 8 April 2025

Introduction


Grafana is a open source analytics application. It can produce charts, graphs, and alerts for the web when connected to supported data sources.

Running Grafana

  1. Start Grafana server (grafana-server.exe). My installation is at C:\Program Files\GrafanaLabs\grafana\bin
  2. Use web browser to go to http://localhost:3000/login
    • Default name and pwd is admin
  3. Create a data source. Connections -> Data sources. Enter Infinity
    • However, the plugin needs to be installed first: grafana-cli plugins install yesoreyeram-infinity-datasource. The permission of the folders have to be changed. Perhaps should allow all. Then restart grafana by:
      1. Open the Services app.
      2. Right-click on the Grafana service.
      3. In the context menu, click Restart.
  4. Create a dashboard
  5. Add visualization. Add the yesoreyeram-infinity-datasource data source
  6. Map is actually Geomap.

Examples

CSV Data

GIS

Geomap

JSON data

Need to have stream of JSON

The following array works, but there is the problem with brackets.

[{
  "name": "John",
  "age": 30,
  "city": "New York"
},
{
  "name": "Jussi",
  "age": 32,
  "city": "New York C"
}]

Window functions

https://community.grafana.com/t/grafana-v11-0-0-why-windows-function-mode-is-missing-in-data-transformation-menu/129571

Regression analysis

Logs from Serial port

RealTerm: Serial/TCP Terminal (https://sourceforge.net/projects/realterm/) by Crun is a rather easy and good behaving serial port logger with timestamps. It also shows the name of peripheral attached to the COM (USB) port. It can show also the I2C data.


Putty: cannot add the timestamp. There are some extraplugins, but I will skip those. Use PuTTY and save (stream) logs to a file. Works like a charm. The notepad++ can be set to update automatically without asking (Ctrl-R reloads the file) by using Settings -> Preferences -> MISC. -> Update silently, but it still need Ctrl-R to reload the file.

However, Grafana cannot update a local file. Instead use a web server (eg nginx) to serve the CSV files over http and then use http url (eg http://localhost/my-csv-app/my-csv-file.csv).

NGinx

See https://medium.com/@jasonrigden/how-to-host-a-static-website-with-nginx-8b2dd0c5b301

  • Download, run
    • start nginx and check with tasklist.exe. It should show two nginx instances. One of the processes is the master process and another is the worker process.
  • Goto address http://localhost/ and the file location is at nginx -> html.
  • Check config.
    • nginx.conf is important. See location which states that root is html.