Pimped Apache Status - votet auf phpclasses.org
Mein Pimped Apache Status wurde auf phpclasses.org für den Award Juli 2015 nominiert …
Votet doch bitte für mich :-)
weiterführende Links:
Pimped Apache Status 1.22
Der Pimped Apache Status ist ein Werkzeug, um aus der “normalen” Apache Status Seite etwas Lesbares, und Durchsuchbares zu machen. Es ist ein Tool für die Live-Ansicht der aktuellen Prozesse des Apache Webservers. Verschiedene Ansichten listen aktive Requests, häufigste Aufrufe, aktivste IP-Adressen, längste Requests u.v.m. in sortierbaren und filterbaren Tabellen auf. So findet man schnell die Ursache aktueller Performance-Engpässe. Das Ganze funktioniert auch bei loadbalancten Webseiten: mehrere Server können zu einer Ansicht zusammengefasst werden. Ein integrierter Updater aktualisiert das Tool im Webbrowser. Ein Must-Have für Sysadmins und Hoster.
In dieser Version ist als wichtigste Neuerung eine Javascript Klasse hinzugekommen. Diese nimmt pro Kachel oben die Werte mit gemessenem Zeitpunkt auf und speichert diese im Localstorage des Webbrowsers. Sind einige Werte aufgezeichnet, lässt sich damit eine Grafik des Verlaufes zeichnen.
Nach der Aufzeichnung einiger Messwerte erscheint beim Mouseover einer Kachel die History als Balkengrafik. Klickt man die Kachel an, bleibt diese Grafik zunächst stehen.
weiterführende Links:
Pimped Apache Status nun mit Bootstrap
Ich hab gar nicht gezählt, in wievielen Projekten ich schon Bootstrap verwendet habe. Nun, auf jeden Fall kam nun mein Apache Monitoring hinzu, auf das die Ansichten nun mit einem klareren Design daherkommen.
weiterführende Links:
PHP-Schnipsel: ungewollte Zeichen entfernen
Um alle Zeichen ausser dem gewünschen Set von erlaubten Zeichen rauszuwerfen, hilft dieser Ansatz.
$sRegex ='/[^0-9a-f]/'; $s = preg_replace ($sRegex,'',$s);
Damit kann man ebenfalls eingehende $_POST und $_GET Pararameter prüfen: wenn mein bereinigter String $s vom übergebenen Parameter abweicht, dann will wohl wer manipulieren und man zeigt eine Fehlermeldung an.
Weiterführende Links
PHP-Schnipsel: jede n-te Stelle ein Zeichen einfügen
Ein Snippet als Reminder, falls ich mal wieder danach suchen muss, dann finde ich es in meinem Blog ;-)
Jedes 5. Zeichen soll ein “/” eingefügt werden…
preg_replace ist dein Freund. Als Ersetzung gibt man $1 für die Fundstelle und nachfolgend das einzufügende Zeichen an.
$sMyFile=preg_replace('/([0-9a-f]{5})/', "$1/", $sMyFile);
Weiterführende Links
Axels Weihnachtskarte 2014
Nun nun rücken sie also doch endlich in greifbare Nähe: die Fest (und Fress-?) Tage. Ich wünsche meinen Besuchern eine schöne Weihnachtszeit! Geniesst die erholsamen Tage zwischen den Jahren. Nach einem Guten Rutsch ins Jahr 2015 … mögen sich neben privaten und berüflichen Wünschen auch einige der guten alten Vorsätze erfüllen!
Axel hat sich wieder ins Zeug gelegt :-)
Ich habe - zum Glück - wieder eine einfache Idee gehabt: ich brauchte nur 2 Dinge zeichnen und scannen. Und weil ich mich mit Webseiten ein klein wenig auskenne, konnte ich es auch animieren.
Für die Hintergrundmusik wurden vor Allem klassische Instrumente ins Musikprogramm gekippt - und wer denn kann: gar in 5.1 surround lässt es sich herunterladen (s. “über” auf der rechten Seite).
Viel Spass!
weiterführende Links:
- Weihnachtskarte 2014
- Hintergrundmusik zum Download in stereo mp3 ogg … und 5.1 surround: m4a ogg
- Hintergrundmusik auf Soundcloud
IML-Appmonitor - v0.07 - James Bond Edition
Nein, das mit dem Zusatz zur Version ist nur ein Witz - ein kleines Wortspiel :-)
Aber im Ernst: Ich arbeite am Institut für Medizinische Lehre (IML) an der Uni Bern. Zum Monitoring von Web-Applikationen ist etwas in PHP Geschriebenes am Entstehen.
Das Grundprinzip ist:
Web-Applikationen sollen als Client diverse Checks machen, was sie so zu ihrer Ausführung alles brauchen: Schreibrechte auf einem Verzeichnis, Verbindung zu einer Datenbank, Verbindung zu einem Remote-Server auf Port XY, whatever…
Jeden Check bewertet die Client-Applikation und stellt das Ergebnis ihrer Prüfung samt TTL (wann eine erneute Abfrage erfolgen darf) als JSON bereit. Weil das Format etwas neutrales ist, kann ein Client in verschiedenen Programmiersprachen geschrieben werden.
Ein Server sammelt die JSON Ergebnisse ein. Zunächst gibt es eine bunte Web-GUI - rein zum Ansehen des aktuellen Zustands (keine History). Neben der GUI soll beim Server in Kürze auch eine Schnittstelle für Monitoring-Systeme entstehen. Zunächst ein Nagios-Plugin für die Intregration in unser eigenes Monitoring.
UPDATE:
Die Screenshots haben rein “historischen Wert” - es wurde mittlerweile eine GUI mit AdminLTE darüber gestülpt. Github zeigt es bereits im Readme-Markdown.
Weiterführende Links:
Pimped Apache Status v1.15 - Icons
Immer mal wieder gibt es Update bei meinen Tools.
Beim Pimped Apache Status habe ich noch diverse Pläne. Ich wollte eigentlich Bootstrap 3 in ein Template verpacken, und es soll per WebGUI die Liste der Server und Tiles oben konfigurierbar werden, …
Nun, es sind heute “nur” die Icons eingecheckt worden und das Ganze wurde als Version 1.15 bereitgestellt.
Weiterführende Links:
Piwik-Statistik mit statischen Grafiken in der Webseite einbinden
Ich wollte meine Statistik-Anzeige auf meiner Startseite etwas anders haben und die Grafiken von PIWIK [01] einbinden. Es gibt verschiedene APIs [02] zum Holen von Daten - als XML, JSON oder Grafik [03]. Aber die Grafiken sollten nicht mitsamt der URL der PIWIK-Api eingebunden sein - ich wollte die Grafiken holen, cachen und die gecachten Bilder einbinden.
Das Ergebnis auf der Webseite sieht dann so aus:
Konfiguration
Zunächst einmal die Basis-Daten als Konfiguration: Für die eigene Verwendung sind die Parameter anzupassen. Die Variablennamen sollten einleuchtend sein:
// anpassen $sPiwikToken = "419f6099c81111fdb6ae65..."; $iPiwikSiteId = 7; // Bildgroesse und Farbe $iImageWidth = 500; $iImageHeight = 200; $sBarColor = "887799"; // Domain und Pfad zu Piwik anpassen $sBaseUrl = "http://[www.deine-domain.de/piwik]/index.php?module=API&method=ImageGraph.get" . "&idSite=$iPiwikSiteId&apiModule=[MODULE]&apiAction=[ACTION]" . "&period=range&date=last[DAYS]" . "&token_auth=$sPiwikToken" . "&width=$iImageWidth&height=$iImageHeight&colors=$sBarColor";
Bootstrap 3.3 unter Concrete 5.6
Meine Webseite verwendet Concrete 5 als CMS.
Auf aktuelle Version 5.7 kann man dummerweise nicht upgraden, weil man im Unterbau zuviel geändert hat. Toll. Ich will einige Komponenten trotzdem aktualisieren.
Ich hatte so die famose Idee, auf meiner Webseite Bootstrap auszutauschen
VON v3.0
AUF v3.3
Der Konflikt besteht darin, dass das Backend mit Bootstrap 2 arbeitet und mit jQuery v1.7 daherkommt.
Bootstrap 3.3 braucht nun aber mind. jQuery 1.9. Mit vermeintlich gutem Gewissen habe ich die letzte 1-er Version von jquery heruntergeladen. Und mit jQuery 1.11 läuft wiederum das Bootstrap 2 Backend nicht mehr sauber.
Ein Teufelskreis ;-)
Erschwerend kommt hinzu, dass C5 das jQuery innerhalb
Loader::element('header_required');
irgendwo lädt (damit werden mehrere Html-Header Zeilen per echo rausgeschrieben).
Entweder man modifiziert Originale (davon rate ich per se ab), macht Custom-Elemente - oder ersetzt es in seinem Template. Letzters habe ich gemacht - mit Hilfe der ob_ Funktionen wird der Content abgegriffen und darin der Pfad zum jQuery File ersetzt.
// 2014-11-01 hahn // HACK to use bootstrap 3.3 in live mode and concrete5 cms mode // --> load specific jquery version ob_start(); Loader::element('header_required'); $sHeadcontent = ob_get_contents(); ob_end_clean(); $u = new User(); if (!$u->isRegistered()) { $sHeadcontent=str_replace( '/concrete/js/jquery.js', // or '/updates/concrete[version]_updater/concrete/js/jquery.js', $this->getThemePath() . '/js/jquery_1.11.1.js', $sHeadcontent ); } echo $sHeadcontent; // ENDE jquery HACK
Eine andere Folge des jQuery Updates war die Inkompatibilität mit colorbox (Addon Lightboxed Image - 0.9.2).
Durch Aktualisieren der Dateien unter
[webroot]/packages/lightboxed_image/blocks/lightboxed_image
mit den aktuellen colorbox-Sourcen lief auch das wieder.
Update:
Eine andere Variante (die Auswirkung auf alle Themes hätte) wäre, die Datei concrete/elements/header_required.php in das Verzeichnis elements zu kopieren und dort anzupassen. So kommt man auch ohne die ob_-Funktionen aus.
weiterführende Links:
- Concrete5 Note: There is currently NO UPGRADE script from 5.6, this is a new version for new sites.
- C5 addon: Lightboxed Image
- Download: colorbox [master]