Wie dokumentiere ich die Linux Server Konfiguration?


12

Ich habe ungefähr 20 Linux-Server, von denen ich die Konfiguration dokumentieren muss. Ich meine nicht die detaillierte Konfiguration von Diensten, sondern Benutzerkonten, Datenbanken, Datenbankkonten, IP-Adressen, physischen Speicherort, SSH-Port usw. usw. Ich weiß, dass all diese Daten in Konfigurationsdateien gespeichert sind, aber ich möchte alles zentralisieren . Ich überlege, nur eine Tabelle zu erstellen, um diese Daten aufzuzeichnen, habe mich aber gefragt, ob es etwas Besseres (vielleicht eine kleine PHP / MySQL-App) gibt, das strukturierter und vollständiger ist als eine zusammengehackte Tabelle.

Was benutzt du?


Ich hatte vorher nicht viel darüber nachgedacht, aber es wäre nützlich. Der Spreadsheet-Ansatz ist wahrscheinlich nicht ideal. Es ist leicht, es auf den neuesten Stand zu bringen. Automatisiert muss der Weg sein.
Matt

Antworten:


9

Ich gehe davon aus, dass dies ein langfristiger Dokumentationsaufwand ist und nicht nur versucht, einen Schnappschuss der aktuellen Konfiguration zu erfassen.

Das Wiki funktioniert jetzt und kann Sie für eine Weile gesund halten. Wenn sich Ihre Umgebung jedoch schnell ändert, haben Sie ein ernstes Problem. Sie müssen immer sicherstellen, dass die Cron-Jobs ordnungsgemäß geschrieben, rechtzeitig ausgeführt, für neue Dienste geschrieben und mit neuen Softwareversionen kompatibel sind usw.

Verwenden Sie ein Konfigurationsmanagement-Tool wie Puppet oder Cfengine . Stellen Sie zumindest alle Daten, die Sie sammeln, unter Versionskontrolle (wie Mercurial, Git oder Subversion).

Ihre Konfigurationsdaten kommen von überall her, anstatt zentralisiert zu werden. Ein Wiki wird immer hinter dem aktuellen Status Ihrer Maschinen zurückbleiben. Sie müssen die Konfigurationsdaten zentralisieren. Lassen Sie es von der Mitte nach außen zu den Rändern fließen. Es ist jedoch richtig, dass manchmal Konfigurationsdaten erfasst werden müssen. Cfengine kann Audits machen, Puppet vielleicht. In diesem Wikipedia- Artikel sind andere Konfigurationsmanager aufgelistet.


+1 Ich benutze auch cfengine2 (und Mediawiki für weitere Dokumentation)
ThorstenS

ok, aber wie erstelle ich einen Bericht über die Daten in Puppet?
Tom H

4

Vielleicht möchten Sie cfg2html ausprobieren , das Ihre Konfiguration in eine HTML-Datei kopiert , die Sie dann in regelmäßigen Abständen abrufen und von einem zentralen Server aus bedienen können.


Danke, aber cfg2html ist übertrieben für meine Anforderungen. Tolles Drehbuch!
Michelle

4

Wenn Sie das nächste Mal eine Maschine optimieren, sollten Sie zuerst etckeeper darauf installieren . Auf diese Weise führen Sie ein Protokoll der Konfigurationsänderungen.

Welche Distribution benutzt du? Es gibt einige recht praktische Tools zum Verwalten und Überwachen von Conffiles, die im Allgemeinen vom Paketmanager abhängen.


2

Mein Vorschlag wäre, einfach ein Wiki zu erstellen, um Informationen zu zentralisieren und ein Skript zum Bearbeiten von Seiten zu erstellen, damit Konfigurationsdateien im Wiki automatisch über einen Cron-Job aktualisiert werden.

Wenn Sie moin verwenden, sollten Sie http://moinmo.in/ScriptMarket/PutPageScript überprüfen .

Auf diese Weise erhalten Sie:

  1. Zentrale Dokumentation.

  2. Aktuelle Systemkonfiguration.

  3. Verlauf der Konfigurationsänderungen.


Ich mag diese Lösung, sehr flexibel. Es wäre schön, wenn es bereits einige Skripte zur Aktualisierung des Wikis gäbe.
Michelle

1

Eine Kalkulationstabelle ist im Grunde ein zweidimensionales Gitter. Ich halte es nicht für die beste Datenstruktur für solche Dinge. Ich bevorzuge Bäume, deshalb verwende ich Umrisse, um Bäume zu verwalten.

Mein Favorit ist Leo . Wenn Sie etwas wollen, das auf einem Server ohne X funktioniert , schauen Sie sich htb (scheint aufgegeben zu sein) oder das VOoM vim-Plugin an.

Alle diese Tools verwenden einfache Textdateien oder XML als Backend. Zusammen mit einer Versionskontrolle ergeben sie eine leistungsstarke Kombination.

Eine andere Alternative wäre fossil . Es ist ein verteiltes Tool zur Versionskontrolle mit integriertem Wiki und Ticket-Tracker. Es handelt sich um eine einzelne Binärdatei, die auch als CGI fungieren und ein Webinterface bereitstellen kann, sodass sie über das Netzwerk verfügbar ist. fossil als mini-cms für eine website ist sehr mächtig.


0

Wir haben 4 Rechenzentren in 3 Ländern. Wir haben über 500 Produktionsserver. Wie oben bereits erwähnt, verwenden wir Wiki und hängen Tabellenkalkulationsdateien im Wiki an. Das Gute daran ist, wenn Sie Ihre Tabelle aktualisieren und sie wieder in Ihr Wiki einfügen, wird die Historie davon beibehalten. Wie wer die Datei wann aktualisiert hat.

Wir sperren aber auch unser Wiki. Benutzer können fast keine Seite sehen, es sei denn, sie sind angemeldet. Außerdem wird die Seite, auf der die Tabellenkalkulationsdatei installiert ist, mit Tags gesteuert, die Zugriffssteuerungserweiterungen verwenden.

-N

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.