Signatur
Beschreibung
rrd_first() gibt den Zeitstempel des ältesten verfügbaren Datenpunkts in einer RRD-Datei (Round Robin Database) zurück. Dies ist nützlich, um den Beginn des verfügbaren Datenzeitraums für Graphen oder Abfragen zu ermitteln, ohne die gesamte Datenbank einlesen zu müssen.
RRD-Dateien enthalten sogenannte Round-Robin-Archive (RRA), in denen Zeitreihendaten mit unterschiedlichen Auflösungen und Konsolidierungsfunktionen gespeichert werden. Über den Parameter rraindex kann das gewünschte Archiv ausgewählt werden. Der Index beginnt bei 0 für das erste Archiv.
Die Funktion ist Teil der RRD-Extension für PHP, die eine Schnittstelle zur RRDtool-Bibliothek bereitstellt. Sie wird typischerweise in Monitoring-Systemen, Netzwerk-Performance-Tools oder Statistikanwendungen eingesetzt, die auf RRD-Datenbanken basieren.
Im Fehlerfall gibt die Funktion false zurück. Weitere Fehlerinformationen können über rrd_error() abgerufen werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $file Pflicht | string | Pfad zur RRD-Datei, aus der der erste Zeitstempel gelesen werden soll. | |
| $rraindex | int | 0 | Nullbasierter Index des Round-Robin-Archivs (RRA) innerhalb der RRD-Datei. Standardmäßig wird das erste Archiv (Index 0) verwendet. |
Rückgabewert
false zurückgegeben.Beispiele
Ersten Zeitstempel einer RRD-Datei auslesen
<?php
$file = '/var/lib/rrd/traffic.rrd';
$first = rrd_first($file);
if ($first === false) {
echo 'Fehler: ' . rrd_error() . PHP_EOL;
} else {
echo 'Erster Datenpunkt: ' . date('Y-m-d H:i:s', $first) . PHP_EOL;
}
Ersten Zeitstempel eines bestimmten RRA-Index abfragen
<?php
$file = '/var/lib/rrd/cpu.rrd';
// Zweites Archiv (Index 1) abfragen – z. B. stündliche Durchschnittswerte
$first = rrd_first($file, 1);
if ($first === false) {
echo 'Fehler beim Lesen: ' . rrd_error() . PHP_EOL;
} else {
$last = rrd_last($file);
echo 'Verfügbarer Datenzeitraum:' . PHP_EOL;
echo ' Von: ' . date('Y-m-d H:i:s', $first) . PHP_EOL;
echo ' Bis: ' . date('Y-m-d H:i:s', $last) . PHP_EOL;
}
// Wichtig · Fallstricke
Voraussetzung: Die PHP-RRD-Extension (ext/rrd) muss installiert und aktiviert sein. Sie ist nicht Bestandteil der PHP-Standardinstallation und muss über PECL oder den Paketmanager des Betriebssystems nachinstalliert werden.
Der zurückgegebene Zeitstempel gibt lediglich den Beginn des in der RRA-Struktur reservierten Zeitraums an — es bedeutet nicht zwingend, dass ab diesem Zeitpunkt tatsächlich gültige (nicht-NaN) Werte vorhanden sind. Fehlende Werte werden in RRD-Dateien als Unknown (NaN) gespeichert.
Der gültige Bereich für rraindex hängt von der Anzahl der beim Erstellen der Datei definierten Archive ab. Ein ungültiger Index führt zur Rückgabe von false.