Presentere fortid og fremtid sammen i Grafana

Når man logger meteorologiske data er det spennende å se hvordan øyeblikksdataene henger sammen med varslede data. Når man bruker Grafana til å presentere data, kan disse kobles sammen og presenteres som en enhet.

Loggede data sammen med varslet vær. Tempereratursensoren er for nær huset og viser gjerne litt for høy temperatur. For å få trykket til å passe, måtte jeg justere for høyde.

Data fra meteorologisk institutt er tilgjengelige på https://api.met.no. For eksempel for å hente værvarsel for 60N 15E på json format, bruk

https://api.met.no/weatherapi/locationforecast/2.0/complete?lat=60.000&lon=15.000

Dette datasettet oppdateres ca hver 6. time. For å la api.met.no være mest mulig i fred, henter jeg ned dataene med cron med passende mellomrom og lagrer lokalt i en katalog som er tilgjengelig for en webserver (sett inn din gyldige epost for “din epost”) :

/usr/bin/curl -s -A "<din epost> "https://api.met.no/weatherapi/locationforecast/2.0/complete?lat=60.000&lon=15.000" > /var/www/html/forecast/weather.json 2>/dev/null

Dermed kan jeg få tak i værvarselet på http://minserver/forecast/weather.json

I Grafana kan jeg da installere json api data source plugin. Den må settes opp for hver adresse det skal hentes data fra og konfigureres med urlen som dataene kan hentes fra. Da kan denne defineres som en datakilde for et grafana panel. For å få ut tidspunkter og temperaturer, måtte jeg sette opp to felter:

Grafana viser normalt data for noe som har skjedd. For å vise fremtidig varslet vær, må tidsskalaen forskyves for panelet:

Her er det dyttet 20 dager ut og så trukket 11 dager tilbake. Jeg fikk det ikke til å fungere ved å bare skyve 9 dager ut.

Data for logget vær henter jeg fra en vanlig tidsseriedatabase (i mitt tilfelle fra PostgreSQL, men alle slags datakilder som Grafana kan plotte en graf fra kan brukes). Værvarselet er satt opp som et kombinert søyle- og linjediagram. Dermed vises det tydelig for hvilken tidsperiode dataene kommer inn med høyere oppløsning.

Husk å kreditere met.no på panelet.

This entry was posted in Diverse. Bookmark the permalink.