Das Problem das vorherrscht, liegt an unserer Datenbank, die keine Abgrenzung nach Monaten kann.
Sondern kennt nur vier Wochen oder alternativ 30 Tage. Was zu einer täglichen Verfälschung der Ergebnisse in die Vergangenheit führt.
So habe ich mich gestern hingesetzt und eine für mich einfache Lösung geschrieben.
An dieser möchte ich euch teilhaben lassen.
Da ich wirklich kein PHP beherrsche, könnte dieses kleine Script vielleicht auch eine Anregung an unsere Künstler hier sein.
Hier die Zeilen, die mir die Informationen in eine DB schreiben
Das komplette Script, findet ihr später unten im Anhang.
Code: Alles auswählen
$date = new DateTime(date('Y-m-01')); //Tag auf den 1st des Monats setzten
$query .= "longM-0=\"".$date->format('Y-m-d')."\"";
$query .= ",medM-0=\"".$date->format('m-d')."\"";
$query .= ",shortM-0=\"".$date->format('My')."\"";
for ($i = 1; $i <= 12; $i++ )
{
$fieldN1 = ",longM-". $i;
$fieldN2 = ",medM-". $i;
$fieldN3 = ",shortM-". $i;
$date->modify("-1 month");
$query .= $fieldN1 . "=\"".$date->format('Y-m-d')."\""; // 2022-09-01
$query .= $fieldN2 . "=\"".$date->format('m-d')."\""; // 09-01
$query .= $fieldN3 . "=\"".$date->format('My')."\""; // Sep22
}
$query .= "/n";
// echo $query;
$result = writeData($query, $InfluxPar);
log_schreiben("Lokal: ".$result,"|* ",$Tracelevel);
// Echo $result;
return;
function writeData($postData, $InfluxPar ) {
Im Grafana Editor können diese Variablen in der Abfrage als auch Alias verwendet werden.
Diese Lösung läuft seit gestern auf meinem Testsystem.
Jetzt nach dem Monatswechsel sieht es schon mal nicht so schlecht aus
Es lassen sich auch zur Beschriftung unterschiedliche Arten verwenden, die ihr auch selbst anpassen könnt.
Damit der Batch automatisch zum Monatsletzten ausgeführt wird hier der Cronjob
Die Endung ".txt" der Anhängenden Datei entfernen und in euer "html" Verzeichnis unter : ../var/www/html speichern.
Zum testen und zum Anlegen der Variablen, einmalig ausführen ...und schon kann es losgehen
CU