Archiv der Kategorie: PC-Kram

Meine Lieblingsbeschäftigung :)

Alternative für vzcompress / Volkszähler

Seit einiger Zeit nutze ich – wie auch vorgestellt –  das Projekt Volkszähler um meine Messwerte zu erfassen. Der Grund für den Wechsel ist schnell erkennbar: Es ist dem angestaubten RRDTool designtechnisch um Generationen voraus, technisch hatte ich jedoch bereits damals bedenken angemeldet: Die Daten wandern einfach in eine MySQL-Datenbank – rrdtool verwendet hier ein System, welches die zeitliche Auflösung mit dem Alter der Daten senkt und so Speicher spart.

Das Ergebnis war zu erwarten: Über 10GB belegte meine Datenbank zuletzt, also muss Abhilfe geschafft werden. Genau für diesen Zweck findet ich im offiziellen Repo ein Tool namens „vzcompress„, welches unter Angabe der Kanäle und Zeiten per Argument alte Daten nach Zeiträumen zusammenfasst und somit nachträglich den Speicherverbrauch senken kann. Kann. Leider ist das Script nur für Pulssensoren (MeterInterpreter) geeignet, lässt man es auf einen Datenbestand mit absoluten Sensoren (SensorInterpreter) los wird der Datenbestand wegen der in dem Fall unpassenden Zusammenfassungsmethode quasi zerstört.

Also auf in den Kampf: Da sich mein Perl in Grenzen hält habe ich die Funktion in PHP neu implementiert und passend zu meinen Anforderungen erweitert. Das Script liest nun die verfügbaren Kanäle direkt auf den Konfigurationsdateien bzw. der Datenbank aus und unterstützt ein oder mehrere Kompresssionsschemata um ein abgestuftes Komprimieren zu ermöglichen, also z.B.

Newer than 7 Days      Keep Original
Older than 7 Days      Datapoint per 1 Minute
Older than 30 Days     Datapoint per 5 Minutes
Older than 6 Month     Datapoint per 15 Minutes
Older than 1 Year      Datapoint per 30 Minutes

Die bisher bei Volkszähler implementierten Sensoren wählen automatisch eine passende Methode:

	SensorInterpreter = Mittelwert
	MeterInterpreter = Summe
	CounterInterpreter = Maximalwert

Als Zeitstempel wird immer das Ende der zusammengefassten Zeitperiode verwendet. Auf der Konsole können Live-Statusmeldungen ausgegeben werden um den Fortschritt zu verfolgen. Getestet (im Sinne von es sind noch Daten da die stimmen könnten) ist das Ganze gegen MySQL und SensorInterpreter, andere Sensoren sollten funktionieren, bei anderen Datenbanken könnte es Probleme geben, da die SQL-Queries hardcoded sind.

Das Script selbst findet sich auf Github – für den Betrieb muss ggf. noch eine JSON-Datei gepatched werden.
Dank der Mailingsliste konnten bereits ein paar Schnitzer erkannt und zum Teil auch schon behoben werden. Auch einige interessante Verbesserundvorschläge versprechen noch bessere Ergebnisse.

Asterisk 11 und chan_capi

CAPI, CAPI, was war das doch gleich. Achja, ISDN. Ja, ich nutzt es tatsächlich noch – ganz ohne VoIP verbindet sich mein lokaler Asterisk mit einer guten, alten und vor allem aktiven AVM B1 mit dem Telefonnetz. Oder sagen wir eher verband, denn das letzte Update brachte auch Asterisk 11 mit – einer Software, welche offenbar jeder Art von Non-IP-Telefonie nicht sonderlich viel zu bieten hat. Eigene Schnittstellen gibt es nicht und das vor mir zuletzt genutzte chan_capi lässt sich wegen einer API-Änderung nicht mehr nutzen. Da ich nichts passenden finden konnte und die Änderungen überschaubar aussahen habe ich die bisherigen Array-Zugriffe durch die nun vorgeschriebenen Getter/Setter-Methoden geändert. Kompilieren funktioniert schon mal, allerdings hat Murphy natürlich zugeschlagen: Meine ISDN-Leitung hat irgendwo ein kaputtes Stück Kupfer, daher kann ich momentan nicht testen und die Karte im Zweitserver, welcher noch Netz hätte unterstützt passenderweise nur mISDN und somit chan_misdn – gnah. Nunja, der ungetestete Patch steht auf der ML oder meinem Server – wer mutig ist darf sich gerne versuchen – also auf eigenes Risiko und so…

Update 31.07.2013: Auf der ML steht inzwischen ein erweiterter Patch bereit, welcher sicher auch ein Versuch wert ist.

Updates für php-dio und fusecompress-1 @ AUR

Soderle, kleinen Frühjahrsputz für mein Archlinux veranstaltet: php-dio ist jetzt auf Version 0.0.7 – eigentlich unnötig, da offenbar nur Änderungen für Windows drin sind, aber hey, die Optik spielt ja auch eine Rolle. Zudem habe ich mich mal erbarmt und die C-Variante von Fusecompress auf die aktuelle Version gehoben bzw. einige Compile-Patches eingearbeitet – mal schauen, sollte die letzte Version endlich die FUSE-Abstürze auf meinem PC beheben adoptiere ich es eventuell dauerhaft, aber erst mal wird jetzt die neue Version mit meinem /home auf Herz und Nieren getestet…

„SECURITY VIOLATION“ nach Gallery2-Update

Offenbar hatte sich beim letzten WordPress-Update klammheimlich meine Gallery-Integration zerlegt – zwar lief hier noch alles wie gewohnt, allerdings wurden die Kurz-URLs nicht korrekt aufgelöst. Schuld war eine (manuelle) Änderung der .htaccess-Datei, die für etwas Chaos sorgte. Während der Fehlerbehebung ist mir aufgefallen, dass meine Gallery nicht ganz auf dem neuesten Stand ist. Zwar verzichte ich noch immer Absichtlich auf Gallery3, jedoch hatte ich offenbar ein XSS-Fix für den 2er-Zweig verpennt. Das Update lief fehlerfrei, jedoch wurden anschließend im Blog keine Bilder mehr angezeigt. Versuchte ich das Bild direkt zu öffnen wurde eine HTML-Seite mit der G2-Fehlermeldung „SECURITY VIOLATION“ gezeigt. Nachdem ich einige Zeit in der falschen Richtung suchte fand sich das Problem bei den Plugins: Meine Fotos werden mit einer Watermark versehen, dass zuständige Plugin war jedoch nach dem Update nicht mehr aktiviert und sorgte bei externen Aufrufen für den Fehler.