1. Vorwort
2. Voraussetzungen
3. Installation der Binary
I. Debian & Ubuntu4. Installation der Datenbank
II. Gentoo
III. Installation vom Source Code
5. Konfiguration
6. Starten
7. Benutzerverwaltung
8. Weboberfläche
9. API-Schnittstelle
10. Apps
11. Downloads
12. Screenshots
13. Nachwort
1. Vorwort
Mit portmonit könnt ihr eure, in einer Weboberfläche konfigurierten, Ports verwalten und anzeigen lassen ob diese Ports erreichbar sind. Dazu kann der Server eine einfache Verbindung zu dem Port aufbauen und testen ob dieser ansprechbar ist oder eine Verbindung aufbauen und Daten zum Port senden und testen ob die richtigen Daten zurückkommen.
Portmonit soll eine Erleichterung für alle Administratoren von Linux- und/oder BSD-Servern sein, die auch gerne unterwegs nachschauen möchten ob ein Port noch ansprechbar ist bzw. der entsprechende Serverprozess noch läuft.
2. Voraussetzungen
Für portmonit muss entweder der Linux- oder BSD-Kernel vorhanden sein. Portmonit braucht mindestens 3 MB RAM. Folgende Programme bzw. Librarys müssen vorhanden sein (gilt nicht für Debian und Ubuntu. Gentoo installiert mit Hilfe des ebuilds diese Abhängigkeiten automatisch mit):
-Boost C++ Library
-MySQL C Api (libmysqlclient)
-G++ Compiler
3. Installation der Binary
3.I. Debian & Ubuntu
Verbindet euch mit euren Server und öffnet die Datei "/etc/apt/sources.list" mit einem beliebigen Editor.
Fügt folgende Zeile an das Ende der Datei dran:
Code:
deb http://dl.portmonit.net/ubdeb/ portmonit main
Code:
apt-get update
Nun könnt ihr portmonit mit Hilfe von folgendem Befehl installieren:
Code:
apt-get install portmonit
Für Gentoo habe ich ein Ebuild erstellt, dass es euch ermöglicht schnell den Sourcecode zu installieren und fehlende Abhängigkeiten dazuzuinstallieren.
Erstellt euch als erstes einen Ordner namen "portage_overlay" in dem Pfad /usr/:
Code:
mkdir /usr/portage_overlay/
Code:
PORTDIR_OVERLAY=/usr/portage_overlay
Code:
echo "PORTDIR_OVERLAY=/usr/portage_overlay" >> /etc/make.conf
Code:
mkdir /usr/portage_overlay/sys-process && /usr/portage_overlay/sys-process/portmonit
Code:
cd /usr/portage_overlay/sys-process/portmonit && wget http://dl.portmonit.net/archive/0.0.1/portmonit-0.0.1.ebuild
Code:
ebuild portmonit-0.0.1.ebuild digest
Code:
emerge portmonit
3.III. Installation vom Source Code
Source-Code:

Git-Repository:

Ihr habt die Möglichkeit den Sourcecode aus einer *.tar.gz zu entpacken oder den aktuellesen Source Code direkt aus meinem Github-Repository runterladen.
Ich werde in diesem Beispiel davon ausgehen, dass ihr euch für eine Variante entschieden habt und diese auf den Server geladen habt.
Geht nun in den Ordner, in dem der Source Code liegt. Wenn ihr einen Linux-Kernel habt gebt folgenden Befehl ein:
Code:
make
Code:
make -f Makefile.freebsd
4. Installation der Datenbank
Startet portmonit mit dem Parameter "-i" oder "--install". Zum Beispiel:
Code:
portmonit --install
Code:
./portmonit --install
Wenn nun kein Fehler gekommen ist, sollte das Programm nun installiert sein und die Tabellen sollten in der Datenbank erstellt sein.
5. Konfiguration
Für portmonit gibt es eine Konfigurationsdatei, hier die Pfade:
Debian & Ubuntu: /etc/portmonit/portmonit.conf
Gentoo: /etc/conf.d/portmonitoring
Selbst kompilliert: $(PATH)/config/portmonit.conf
Diese Datei öffnet ihr mit einem Editor eurer Wahl. Passt nun die Datenbankeinstellungen an.
In der Konfigurationsdatei gibt es eine Variable namens "Logpath". Wenn Logpath gleich "SYSLOG" ist, wird nicht in eine Konfigurationsdatei, sondern in den Systemlog geschrieben.
Der Log Level gibt an was geloggt werden soll:
0: es wird nichts geloggt
1: Fehler werden geloggt
2: Warnungen werden geloggt
3: Es wird alles geloggt (zum Debugging)
Außerdem könnt ihr einstellen ob der API-Server und der Webserver aktiviert sein sollen oder nicht, dazu könnt ihr die Ports dieser Server beliebig ändern.
6. Starten
Start portmonit mit dem Pfad zur Konfigurationsdatei als Parameter. Zum Beispiel:
Code:
./portmonit /home/hanashi/portmonit.conf &
Code:
/etc/init.d/portmonit start
7. Benutzerverwaltung
Derzeitig gibt es keine wirkliche Benutzerverwaltung und die Accounts müssen per Hand in die Datenbank eingetragen werden, dies könnt ihr mit folgendem Query erledigen:
Code:
INSERT INTO accounts (username, password, can_create_monit, can_delete_monit) VALUES ('benutzername', PASSWORD(MD5('deinpasswort')), 1, 1);
8. Weboberfläche
Die Weboberfläche könnt ihr, wenn diese in der Konfigurationsdatei aktiviert ist, direkt im Browser, mit Angabe des Ports, öffnen. Loggt euch mit den Accountdaten von der Installation auf dieser Oberfläche ein.
Hier könnt ihr nun das Monitoring überwachen, ein neuen Eintrag anlegen und/oder löschen.
9. API-Schnittstelle
Durch die API-Schnittstelle ist es euch möglich einen eigenen Client zu programmieren mit dem ihr auch ohne die Weboberfläche den Status der einzelnen Ports anschauen könnt.
Die API-Schnittstelle muss außerdem aktiviert sein, wenn ihr den Client (siehe Downloads) oder die Apps (siehe Apps) verwenden möchtet. Die Spezifikationen für die API-Schnittstelle werden demnächst in einer Dokumentation auf unserer Homepage stehen.
10. Apps
Mit Hilfe von unseren Apps könnt ihr auch unterwegs ganz komfortabel euren Serverstatus abrufen. Derzeitig gibt es das App nur für das iPad. Geplant sind noch Apps für iPhone und für Android-Handys ab Version 2.2.

11. Downloads
Debian:
- 
Gentoo Ebuild:

Source Code:

Windows-Client by Padmak:

12. Screenshots
Weboberfläche:
iPad App:
Windows-Client by Padmak:
13. Nachwort
Dies ist derzeitig nur eine alpha-Version und es werden in Zukunft noch einige Funktionen hinzukommen.
Ich bedanke mich vielmals für Unterstützung bei
für die Erstellung des Windows-Client und
für das Design der Weboberfläche.Ich wünsche euch viel Spaß mit diesem Programm, wenn ihr Fragen, Anregungen, Wünsche oder was auch immer habt stehe ich euch gerne zur Verfügung.
Hier die Webseite des Projekte (in Arbeit):

Mit freundlichen Grüßen
Hanashi






