Cockpit ist einfach zu verwendendes, offenes Werkzeug, mit welchem man einen Linux-Server überwachen und steuern kann.
Dieses Tool ist bei Fedora-Server schon bei der Standard-Installation mit dabei.
offizielle Webseite: cockpit-project.org
auf Github: github.com
Dokumentation: cockpit-project.org
Installation
Bei den meisten Linux-Distros befindet sich Cockpit in den jeweiligen Os-Repos. Das ist allerdings nicht überall der Fall, z.B. muss bei der aktuellen Debian-Version noch das Backports-Repo eingebunden werden.
Informationen darüber wie man Cockpit für die entsprechende Linux-Version installiert findet man hier: Running Cockpit
Cockpit verwenden
Nachdem Cockpit installiert wurde, kann der Dienst gestartet werden.
systemctl start cockpit.service
Nun sollte der Cockpit-Dienst auf Port 9090
lauschen.
$ ss -tulpn | grep 9090
tcp LISTEN 0 128 :::9090 :::* users:(("cockpit-ws",pid=22347,fd=3),("systemd",pid=1,fd=91))
Änderung des UI-Ports
Wer einen anderen Port als 9090
verwenden möchte, kann diesen in der Konfigurationsdatei des sockets von Cockpit entsprechend ändern.
In der entsprechenden Konfigurationsdatei /lib/systemd/system/cockpit.socket
ändert man unter dem Konfigurationselement [Socket]
den Wert von ListenStream
.
Diese Datei hat standardmässig folgenden Inhalt:
[Unit]
Description=Cockpit Web Service Socket
Documentation=man:cockpit-ws(8)
Wants=cockpit-motd.service
[Socket]
ListenStream=9090
ExecStartPost=-/usr/share/cockpit/motd/update-motd '' localhost
ExecStartPost=-/bin/ln -snf active.motd /run/cockpit/motd
ExecStopPost=-/bin/ln -snf /usr/share/cockpit/motd/inactive.motd /run/cockpit/motd
[Install]
WantedBy=sockets.target
Anschließend führt man einen Reload des Systemd-Daemon per systemctl daemon-reload
durch und startet noch den entsprechenden Socket per systemctl restart cockpit.socket
neu.
Anmerkung: Nach einer Änderung des Ports sollte man die entsprechende Freigabe in der Firewall anpassen und ggf.,falls SELinux aktiviert ist, den neuen Port in SELinux aktivieren.
Dies geht z.B. per: semanage port -a -t websm_port_t -p tcp <PORT>
wurde der neue Port bereits früher von einer anderen Anwendung verwendet, muss man dies in SELInux entsprechend anpassen:
semanage port -m -t websm_port_t -p tcp <PORT>
Nun kann man Cockpit im Webbrowser unter der Adresse <ip des Servers>:<Port>
erreichen. Z.B.: 192.168.2.100:9090
Dort sollte man nun, nach akzeptieren des selbstsignierten Zertifikats, eine entsprechende Login-Maske erscheinen.
auf CentOS:
auf Debian:
Hier kann man sich nun mit den regulären System-Zugangsdaten einlogen. Es werden hierbei die auf dem System befindlichen Benutzer-Accounts verwendet und somit muss nicht noch ein extra Benutzer für Cockpit eingerichet werden.
Nach dem erfolgreichen Einloggen wird man dann von Übersicht der wichtigsten Metriken des Systems begrüßt.
Nun kann man so ziemlich alle Aktionen durchführen, welche man auch im Terminal machen kann.
Links im Menü findet man die entsprechenden Punkte:
- Protokolle
Hier kann man sich die Systemlogs anschauen, gefiltert nach Zeitraum (aktueller Boot, letzten 24h, letzten 7 Tage) und Schweregrad (Alles, NUr Notfall, Alarm, Kritisch, Fehler, Warnungen, etc). - Speicher
Eine Übersicht über die verfügbaren Festplatten und deren Auslastung (IO-Last, Füllgrad, RAID-Status) - Netzwerk
Eine Übersicht über die verfügbaren Netzwerkschnittstellen, deren Auslastung und die entsprechenden Logs. Hier kann man auch Bündelung (Bonding), Bridges und VLANS hinzufügen. Des weiteren kann man hier, sofern eine Firewall installiert ist, die entsprechenden Regeln verwalten. - Konten
Hier findet sich eine Übersicht über die aktiven Benutzerkonten und es besteht auch die Möglichkeit ein neues Konto anzulegen - Dienste
Besonders sinnvoll bei Distros mit Systemd, da sich hier eine Übersicht über alle Dienste, Sockets und Timer und deren Status finden lässt. Bei diesem Menüpunkt lassen sich die Dienste auch steuern (ein/ausschalten, neu starten) und auch neue Timer anlegen. - Aktualisierungen
Überprüfen auf ausstehenden Aktualisierungen und die Möglichkeit diese per knopfdruck einzuspielen - Terminal
Unter diesem Menüpunkt findet man ein Web-Terminal, in welchem man arbeiten kann wie in der regulären Systemshell - Dashboard
Im Dashboard findet man noch einmal die Systemauslastung, per Graphen, dargestllt.
weitere Features
- Remote Dashboard
Sofern man mehrere Systeme administriert, welche Cockpit installiert haben, ist es möglich diese in ein anderem Dashboard anzeigen zu lassen.
Somit kann man sich in einer *Cockpit*-Instanz die Übersicht über alle entsprechenden Systeme anzeigen lassen.
- Eigene Erweiterungen schreiben
Die Cockpit API bietet die Möglichkeit eigene Erweiterungen zu schreiben und diese einzufügen.
Wie das funktioniert erfährt man hier: cockpit-project.org
Cockpit bietet, mithilfe zusätzlicher Pakete, weitere Features an.
Beispiele:
- Virtuelle Maschinen
Installiert man zusätzlich das Paketcockpit-machines
, bekommt man einen weiteren Menüpunkt namensVirtuelle Maschinene
und man kann nun virtuelle Maschinen auf dem System per Cockpit anlegen und steuern.
Hierbei gibt es auch ein Pakete für oVirt.
- Docker Container
Mit der Installation des Paketescockpit-docker
erhält man die Möglichkeit Docker Container per Cockpit anzulegen und zu steuern.