Samstag, 29. April 2006Merkwürdiges uptime-ratenIch scanne gelegentlich alle meine Server mit nmap durch. Warum auch immer - ich mache es halt regelmäßig. Heute musste nmap mich verblüffen. Bei Linux versucht nmap immer zu erraten, wie lange diese Maschine schon am Netz hängt. Der Wert sagte heute folgendes:
... das kam mir etwas spanisch vor, denn Reboots gab es zumindest innerhalb des letzten Monats nicht. Ein check auf der Maschine direkt brachte mir dann Gewissenheit: Der Wert ist göttlich falsch. Die Uptime der Maschine ist niedrig, aber nicht so niedrig:
Donnerstag, 27. April 2006DNS als DatenbankAls Hoster betreibe ich mehrere Server im Internet. (logisch, oder?) Nun ist es so, dass jede Maschine ihre ganz speziellen Eigenschaften hat, nicht jeden Dienst fährt und auch innerhalb eines solchen Dienstes schon mal markante Unterschiede bestehen (z.B. MySQL 4 und MySQL 5). Alles in allem ergibt sich daraus ein großes Wirr-Warr, welches auf Dauer nur schwer zu überblicken ist. Bisher hatte ich in meiner System-Bibliothek eine Reihe von statischen Arrays, die jeden Server für sich individuell beschrieben haben. Das Problem bei der Sache war nur bisher, dass sich diese Arrays auf eine Programmiersprache beschränkt haben und zu anderen Sprachen keine wirkliche Schnittstelle bestand. Das Problem hab ich gestern gelöst - mit Hilfe von DNS. Ähnlich wie bei E-Mail die Mailserver (MX-Eitnrag im DNS) kann ich nun bestimmte Fähigkeiten zu bestimmten Servern über DNS abfragen und auswerten. Mehr als praktisch wie ich finde. Die Daten sind zwar rein theoretisch offen für jedermann, aber was stört es schon, wenn man die Existenz eines HTTP-Servers über DNS feststellen kann? Eine erste Implemtentation hab ich sogar schon entwickelt und ausführlich getestet - geschrieben in Bash Mittwoch, 26. April 2006tiggersWelt.net Jabber ist böse...... denn es schmeißt willkürlich und jeden Tag einen meiner Kunden vom Server. Eigentlich unvorstellbar, denn sonst berichtet niemand von diesem Problem und auch ich habe keine Probleme mit dem Server (es ist nicht so, als würde Jabber mich bevorzugen - für den Server bin ich auch nur ein Kunde) Ein Blick in die Logs brachte dann recht schnell die Lösung ans Licht:
Natürlich! Der 24h-Disconnect beim DSL-Provider isses schuld... Da er nur eine dynamische IP zugewiesen bekommt ist die Verbindung natürlich futsch. :hmm:
Geschrieben von Bernd Holzmüller
in Interessenten & Kunden, Technik
um
15:57
| Kommentar (1)
| Trackback (1)
Großer BruderHeute nacht hat mein "kleines Monitoring" leider versagt, als ein CGI-Skript eines Kunden Apache zuviel Speicher hat essen lassen und der Kernel sich gezwungen sah dem Indianer den Garr aus zu machen. Folglich lief Apache nicht mehr und ist auch nicht automatisch neu gestartet worden :hmm: Heute morgen durfte ich dann ein paar böse Zeilen einer Kundin lesen. Nicht sehr erfreulich, aber sehr berechtigt! Drum nutze ich gerade die Zugfahrt um einen zweiten Monitoring-Dienst zu entwickeln, der in seinen Methoden ein wenig robuster und vor allen Dingen brutaler ist:
Bleibt die Frage: Was ist ein "Mail2Music"-Gateway Der Mail2Music-Gateway ist ein kleiner Bash-Skript, den ich mal geschrieben habe um via E-Mail meinen Music-Player fernzusteuern. Anhand des Textes in der Mail wird meine Sammlung durchsucht und entsprechende Titel werden wiedergegeben. Eigentlich unnütz, aber in diesem Fall sehr gut des Nachts als Wecker zu gebrauchen Donnerstag, 13. April 2006Skript-SchreibereiIch habe momentan zwei Server die mal wieder in meine "Domäne" eingebunden werden wollen. Ich schreibe "Domäne", weil mein System schon ein wenig mit einem Da das ganze irgendwo noch ein riesen Aufwand darstellt, ich immer Sourcecodes von meinem Entwicklungsserver nachladen und immer auf die selbe Weise compilieren und installieren muss, bin ich es mittlerweile irgendwo leid und so steht der Punkt schon eine knappe Woche recht weit oben auf meiner ToDo und wird ignoriert... Heute will ich diesen Punkt endlich mal abarbeiten. Aber anders als sonst: Ich bin gerade dabei mir eine automatische Installations-Routine zu schreiben und so dieses "Problem" in Zukunft zu umgehen. Mittwoch, 12. April 2006Note: PECL-Modul für PAMDas hier ist mehr eine Notiz für mich persönlich, aber die Idee dahinter finde ich nicht schlecht. PAM regelt bei mir eine vielzahl von Authentifizierungsaufgaben. Es gibt eigentlich nur einen Dienst, der vollkommen unabhängig davon läuft: Das Webinterface. Nun steht demnächst eine Umstellung der produktiven Datenbank an und so entstehen zwei parallele Baustellen; die Authentifizierung muss zwei mal überarbeitet werden. Ein wenig übertrieben wie mir scheint! Warum sich nicht davor schützen und PAM als PECL-Modul in PHP (mit dem das Webinterface nun mal betrieben wird) integrieren. Das kostet zwar einmal arbeit, schützt mich aber vor zukünftigen weiteren Baustellen. Momentan gibt es "nur" Support für SASL oder Radius. Ein weiterer Vorteil wäre ein gesonderter Bereich, den man für Applikationen von Kunden einrichten könnte, d.h. sie schreiben selbst Skripte, überlassen das Benutzermanagement jedoch meiner Datenbank - ob das wirklich gebraucht wird, ich weiß es nicht, aber es schön die Möglichkeit zu haben™ Sonntag, 9. April 2006CAChains nun auch für JabberWas möglich ist, aber keiner weiß: Meine Jabber-Server bieten auch verschlüsselte Kommunikation mit den Clients an. Bis letzte Woche unterlag das jedoch noch einer kleinen Einschränkung: Ohne CAChains. Nun war das Problem, dass sobald ich für eine Domain das eigentliche SSL-Zertifikat mit CAChain konfigurierte, dass der Server mir das gesamte SSL-System um die Ohren schlug und den Dienst via SSL verweigerte und nur noch unverschlüsselt zur Verfügung stand. Kommentierte ich aber das CAChain aus, funktionierte es - wohlgemerkt erkannte der Client das Zertifikat nicht als vertrauenswürdig an und warnte mich/den Benutzer. Eigentlich blöd! Denn da kann man sich das Geld sparen und gleich selbst signieren. Drum hab ich mich letzte Woche mal an das Problem gesetzt und via Trial-and-Error das Problem gelöst (ich bin kein SSL-Spezialist - dafür war ich gut!) Damit aber nicht nur meine Kunden davon profitieren, habe ich meinen Bug-Fix direkt mal der Community zurückgegeben. Freitag, 7. April 2006Willkommen daheim!Heute ist ein schöner Tag, denn ich darf ein weiteres mal sagen: Willkommen beim Wohnzimmerhoster!Der Eine Ausnahme gibts da schon noch, die ist aber geheim Samstag, 1. April 2006Objekt-Orientierter WohnzimmerhosterIch habe aus jedem meiner Kunden ein Objekt gemacht! HAR! Der technisch unversierte Leser möchte sich an diesem Punkt vielleicht von diesem Eintrag abwenden... Ich habe vor ca. einem Monat begonnen mein "altes" System zur Objekt-Orientierung hinzuportieren. Einerseits bin ich immernoch der Meinung, dass die Objekt-Orientierung eigentlich nur ein Overhead ist und man ein Objekt-Orientiertes Programm effizienter auf andere Art und Weise schreiben könnte, aber auf der anderen Seite ist der Komfort beim Entwickeln in einigen Fällen einfach deutlich höher und auch der Code wirkt schon mal transparenter... Bei mir war ein anderer Grund diesen Schritt zu gehen ebenfalls maßgeblich: Ich hab irgendwann mal begonnen einen Datenbank-Layer zu schreiben, der zum einen einige nützliche generische Funktionen bereitstellt, aber auch auf verschiedene Datenbanken transparent zugreifen kann. Praktisch hierbei auch einzelne Records oder gar Baumstrukturen aus der Datenbank als Objekt darstellen und modifizieren zu können. Nicht zuletzt ist das einfügen von Hooks in diese Objekte eine geniale Methode um z.B. Zugriffsrechte oder Konsistenz-Prüfungen zu realisieren. Genau hier liegt mein Hauptaugenmerk: Der Sicherheitsgedanke. So wird z.B. grundsätzlich ein eingeloggter Kunde niemals an die Datensätze eines anderen kommen (könnte rein theoretisch passieren, wenn ich mal eine Überprüfung vergesse oder ein Bug im System ist) weil die Klasse es ihm einfach verbietet. Ein anderer Aspekt ist natürlich die Leichtigkeit im Zugriff auf die Daten aus der Datenbank. Dank spezieller abgeleiteter Unterklassen sind Lesevorgänge, Updates und Auflistungen nur noch eine Sache von ca. 24 Zeichen und lassen sich folglich mit rasanter Geschwindigkeit entwickeln. Schade nur, dass ich währenddessen aus allen Kunden - Menschen - ein Objekt gemacht habe. So ein bisschen bleibt wohl immer auf der Strecke...
(Seite 1 von 1, insgesamt 9 Einträge)
|
SucheRead this blog!KategorienBlog abonnierenNotice this! |
Kommentare