Vor ein paar Monaten war ich für unseren Kommune-Server auf der Suche nach einer kostenlosen Monitoring-Lösung. Es war wichtig, dass wir den Kram nicht selber hosten müssen – denn wenn der Server down ist, hilft die schönste Status-Seite nix … – und dass man mehr als nen Ping monitoren kann.

Fündig wurde ich dann mit monitor.us – einem Service von monitis.

Monitis bietet mit monitor.us eine ‚abgespeckte‘ Version der Pro-Version an. – Sechs Monitore (recht flexibel konfigurierbar), ein Monitoring-Intervall von (mind.) 30 Minuten, zwei Monitoring-Server-Standorte (DE und US) und eine Status-Seite ohne Login (welche schön per DNS-Eintrag zugänglich gemacht werden kann).

Nun kam vor ein paar Tagen E-Mailpost, in der es hieß, dass „Monitor.Us mit Monitis verschmolzen ist“ und man als monitor.us-User satte 50% Rabbattz auf die Premiumangebote von monitis bekommt. Ach und: man muss zum 31. Juli wechseln … (Außerdem standen in der E-Mail ganz viele blumige Formulierungen drin: „Weltklasse-Support“, „Alles-in-Einem-IT-Überwachungsplattform“, „maßgeschneidert[…]“, „exclusiv[…]“, „schneller und effizienter“, „Chance“, „bequemen und vorteilhaft“, „ständig aufregende neue Features“, …)

Also habe ich mir das mal angeschaut und am Ende mit dem Support geschrieben, weil scheinbar doch nicht alles so „weltklasse“ und transparent ist, wie von mir angenommen.
Das Grundproblem für mich war, dass ich nur immer alle Bezahlvarianten gesehen habe. (Logisch eig., denn monitis will ja Kohle machen.) Am Ende habe ich mir einen 15 Tage funktionierenden Premium-Account bei monitis geklickt. Dort ‚alle‘ – dazu kommen wir noch – Monitore wie bei monitor.us angelegt und konfiguriert sowie danach den „Upgrade“-Button geklickt. Dort gab es dann gaaanz klein unten links nen Link „Downgrade to free plan“, mit dem man die kostenlose Variante bei monitis nutzen kann.

Und nun: alles wie vorher, oder ist vielleicht was besser/anders? – Ääähmmm – ja! Der kostenlose Account kann einiges weniger, als der Account bei monitor.us. 🙁
Jetzt haben wir nur noch fünf (statt vorher sechs) Monitoren und die Status-Seite ist nur noch mit Zugangsdaten zugänglich („Shared Pages“ gibts nur in der Premiumversion). Verschweigen will ich allerdings auch nicht, dass das Monitor-Intervall jetzt 15 Minuten, statt vorher 30 ist. (So richtig doll happy macht uns diese Feature nun aber auch wieder nicht, wenn dafür der Rest fehlt …)

summa summarum: Echt schade, monitis! Ihr hättet im Privaten einen Kunden gehabt, der ggf. im Business auf euch zurück kommt. So habt ihr allerdings nen Kunden verprellt (und diesem somit wieder ein paar Stunden Lebenszeit für die nächste Recherche geklaut …).

sofar|sokai

PS:
… fast vergessen: Wenn man jetzt den „free plan“ bezahlen müsste/würde, wären dass 4$ pro Monat. (Sechs Monitor = 4.80$.) *pfff*

Vor guten vier Jahren wechselte ich von Delicious auf eine selbst gehostetes SemanticScuttle-Installation.

Seit 2013 wird SC nicht so richtig aktiv weiter entwickelt – vllt. ist es aber ja auch so fertig, wie es ist, und ja, es gibt sporadische Aktualisierungen im GitHub-Repo des Entwicklers Christian Weiske  – und über die Jahre habe ich festgestellt, dass ich die ‚semantischen Funktionalitäten‘ nicht (wirklich) benutze.

Als ich dann gestern durch Zufall beim Aktualisieren von FDroid über die Shaarlier-App stolperte und mir heute Shaarli testweise installiert hatte, war ich recht schnell entschlossen, das ca. 12 MB große SC mit dem nur 3 MB umfassende Shaarli für meine gut 2.400 Links zu ersetzen. – Gesagt, getan …

FYI: Ab heute wird bm.sok.ai mit Shaarli betrieben. – Und das sogar ganz angenehm auch unter Android …

Für die Migration der Bookmarks musste ich beim Umzug noch etwas basteln … – Das Problem an SC ist, dass es in meiner Version keinen separaten Export der öffentlichen und privaten Bookmarks erlaubt.
Also änderte ich das API-Skript etwas, um zuerst nur die publics aus SC exportieren zu können. Diese importierte ich dann in Shaarli.
Dann exportierte ich alle SC-Bookmarks und importierte diese noch einmal in Shaarli als private und ohne das Überschreiben existierender Bookmarks.
Das public export-Skript stelle ich bei Gelegenheit noch einmal hier iwo online …

Auch wenn ich nicht wirklich ‚viel‘ code, aber so ab und zu fällt ja doch mal was an … In den letzten Jahren v.a. aber eher Klein(st)beiträge zu bereits bestehndem Code Anderer, statt eigener Projekte.

2010 versuchte ich meine ersten Schritt(ch)e(n) mit Git und suchte dafür eine geeignete Plattform. – Nur Kommandozeile mit eigenem Git-Server war mir damals IMHO zu umständlich und wohl auch zu nerdy. ‚Damals‘ gabs zwar schon Github (und dort hatte ich auch seit 2009 einen ungenutzten Account), aber als F(L)OSS-Verfächter wollte ich mehr Community und fand letztlich Gitorious, wo ich mir einen Account zulegte. (So jedenfalls meine Erinnerung …)

Bei Gitorious gab es anfänglich keinen Issue-Tracker und die Interaktion über Weboberfläche war, im Gegensatz zu Github, sehr beschränkt. So kam es im Laufe der folgenden fünf Jahre zur vorrangigen Nutzung meines Github-Accounts.

Im letzten Jahr gab es Bedarf für die Zusammenarbeit mehrer Personen ein einem Projekt (etwas bug fixing im Code von POLYKON) – dabei sollte das erst einmal nicht in der Öffentlichkeit passieren. Somit schied Github (auf Grund der Kosten) aus und ich fand BitBucket und erstellte auch dort einen Account.

In Summe hatte ich bis dahin also drei Accounts bei unterschiedlichen Anbietern für Git-Repositories gesammelt …

Letzte Woche wollte ich mal wieder bei Gitorious schauen, was so los ist und stellte fest, dass GitLab den Laden übernommen hat und man empfiehlt, die eigenen Gitorious-Repos auf GitLab umzuziehen. Dann habe ich mich also mal bei GitLab umgeschaut und schwupps, war der vierte Account geklickt … 😉

Warum nun noch einen vierten Account?

  • GitLabs Webinterface ist schnell
  • GitLab bietet nichtöffentliche Repos an
  • GitLab bietet eig. alle (von mir benutzten) Features wie Github (und ist sogar besser ;))
  • GitLab gibts in der Community Version kostenlos
  • und jetzt der Knaller: per Klick konnte ich (mit etwas Recherche) alle Repos aus den anderen drei Accounts importieren
  • wenn die Butze iwann (vllt.) mal zu macht, dann kann ich/man das immer noch selber hosten
  • das Icon ist süüüß … 😉

Zusammengefasst: Aktuell schrumpfe/konsolidiere ich meine Git-Plattform-Accounts. Gitoriuous is schon weg und gleich kommt noch der Bitbucket-Account dran. Bei Github werde ich dann wohl nur noch wg. der Issue- und Pull-Request-Zwecke sein, die eigenen Projekte kommen dort auf jeden Fall weg.

Mal schauen, ob sich das Aufräumen langfristig als klug erweisen wird …

Old but not busted … – Dieser Inhalt wurde vor mehr als 2 Jahren publiziert. Die Korrektheit und Verfügbarkeit von Links können leider nicht gewährleistet werden.

Gestern wollte/musste ich mal wissen, was in einem LXC-Container (auf unserem Kommune-Server) gemountet ist. – Da das im ersten Anlauf nicht ganz so trivial heraus zu bekommen war, hier mal meine kleine Gedankenstütze.

long story short

root@host:~/# ls -lha /proc/$(lxc-info -n container -p | awk '{print $2}')/root/home

Erklärbär

Szenario

  • LXC-Version: 0.7.5 (ja ich weiß, is alt  … ;))
  • Host = hn
  • Container = container
  • Mount = in der fstab (host:/var/lib/lxc/container/fstab) ist das host:/home mit der Zeile "/home home none bind 0 0" eingebunden (d.h. also, dass beim Starten des LXC-Containers des /home vom Host beim Start des Containers in den Container gemountet wird; dabei ist home als relativer Pfad zum / angegeben)

Das Problem

Wenn man nun auf dem Host wissen will, wie das /home im Container aussieht (ls -lha /var/lib/lxc/container/rootfs/home) wird man feststellen, dass es ganz anders aussieht, als erwartet. – Hintergrund ist, dass der obige Mount in einem temporären Filesystem (also nicht wie ein normaler/echter Mount) eingehängt wird.

Hier mal die Ausgabe, die mit einem Standard-LXC-Template (Ubuntu) erzeugt wird:

root@host:~/# ls -lha /var/lib/lxc/container/rootfs/home
total 4.0K
drwxr-xr-x  3 root   root     19 Aug 18  2012 .
drwxr-xr-x 22 root   root   4.0K Feb  7 14:15 ..
drwxr-xr-x  2 ubuntu ubuntu   54 Aug 20  2012 ubuntu

Die Lösung

Nach etwas Recherche stieß ich auf den Blog-Post „LXC 1.0: Advanced container usage“ des LXC-Entwicklers Stéphane Graber, in dem der Trick (und einige Hintergründe) erklärt werden.

Jeder Container hat eine eigene Prozessnummer (pid). Diese bekommt man mit lxc-info -n container -p heraus.
Der im temporären Dateisystem eingehängte Mount befindet sich unter host:/proc und dort wieder unter der jeweiligen PID.
Also angenommen unser Container hat die PID 1234, dann findet man dessen root-Filesystem (inkl. aller Mounts) unter host:/proc/1234/root/.

Wir benötigen also zuerst die PID des Containers (lxc-info -n container -p) und danach können wir uns das Filesystem anzeigen lassen (ls -lha /proc/PID/root/). – Beide Befehle kann man nun kombinieren.

mit LXC 1.x

In oben genannten Blog-Post wird für das Eruieren der PID lxc-info -n container -p -H (angepasst!) angegeben. Dabei stehen die Schalter -n container für den Containernamen, -p für die Ausgabe der PID und -H (wahrscheinlich; siehe unten) für die numerische Ausgabe der PID.

Die Kombination der beiden Befehle zum Anzeigen des Root-Dateisystems für den Container sieht dann so aus: ls -lha /proc/$(lxc-info -n container -p -H)/root/ (angepasst!).

mit LXC <1.x (in meinem Fall 0.7.5)

Da ich ATM allerdings noch nicht die Version 1.x verwende, funktioniert der Tipp (aus dem Blog-Post für die Version 1.x leider nicht (so ganz).
Denn in 0.7.5 gibt es den Schalter -H bei der Ausgabe der PID mit lxc-info -n container -p nicht, so dass man nicht nur die PID, sondern den Text pid: 1234 zurück bekommt. :-/

Allerdings ist das nicht so dramatisch, denn man kann sich ja mit awk behelfen (und somit den Schalter ersetzen/emulieren). 🙂
lxc-info -n container -p | awk '{print $2}' liefert nur die zweite ‚Spalte‘ der lxc-info-Ausgabe, also die nummerische PID.

Ergo hier nun meine Lösung zum Anzeigen des Root-Dateisystems des Containers:

root@host:~/# ls -lha /proc/$(lxc-info -n container -p | awk '{print $2}')/root/home
total 4.0K
drwxr-xr-x  3 root   root    19 Aug 18  2012 .
drwxr-xr-x 22 root   root  4.0K Feb  7 14:15 ..
drwxr-xr-x  2 user1  user1       […]         user1
drwxr-xr-x  2 user2  user2       […]         user2
drwxr-xr-x  2 user3  user3       […]         user3

… wieder was gelernt … 😉 – Allerdings wohl nicht für lange, denn das Update auf die Version 1.x steht ja vor der Tür …

Old but not busted … – Dieser Inhalt wurde vor mehr als 5 Jahren publiziert. Die Korrektheit und Verfügbarkeit von Links können leider nicht gewährleistet werden.

POLYKON – die Datenbank für Polymere als Konservierungs- & Restaurierungsmittel enthält strukturierte Informationen zur chemischen Einordnung, den Eigenschaften und der Verwendung zahlreicher Polymere, die in der Restaurierung eingesetzt wurden und werden. Sie haben die Möglichkeit mit Hilfe der Schnellsuche oder der erweiterten Suche nach Produkten, Polymertypen oder Anwendungsbeispielen zu recherchieren.

So steht es unter polykon.fh-potsdam.de geschrieben und ich bin sehr froh, dass wir es so (schön) geschafft haben! (Aus der v1.0 von heute wird aber bestimmt in den nächsten Tagen noch ne v1.5 oder so…)

Danke an Alle!

Ich werde dann jetzt mal mit der Dokumentation beginnen… *puhhh*

PS:
Der Code-‘Wahnsinn‘ gehört da hin… 😉

PPS:
Die URL www.polykon.fh-potsdam.de funktioniert nicht!