Jak udokumentować konfigurację serwera Linux?

12

Mam około 20 serwerów Linux, które muszę udokumentować konfigurację. Mam nie oznacza szczegółową konfigurację usług, ale raczej kont użytkowników, baz danych, kont bazy danych adresów IP, fizyczna lokalizacja, port SSH itp itd Znam wszystkie te dane są przechowywane w plikach konfiguracyjnych, ale chcę ją scentralizować wszystkie . Zastanawiam się nad stworzeniem arkusza kalkulacyjnego do rejestrowania tych danych, ale zastanawiałem się, czy istnieje coś lepszego (być może mała aplikacja php / mysql), która byłaby bardziej uporządkowana i kompletna niż zhakowany razem arkusz kalkulacyjny.

Czego używasz?

Michelle
źródło
Wcześniej nie myślałem o tym zbyt wiele, ale byłoby to przydatne. Podejście do arkusza kalkulacyjnego prawdopodobnie nie jest idealne. Łatwo jest go zaktualizować. Zautomatyzowana musi być droga.
Matt

Odpowiedzi:

9

Zakładam, że jest to długotrwały wysiłek związany z dokumentacją, a nie tylko próba uchwycenia migawki bieżącej konfiguracji.

Wiki działa teraz i może utrzymywać cię przy rozsądku, ale jeśli twoje środowisko szybko się zmieni, będziesz miał poważny problem. Zawsze będziesz musiał upewnić się, że zadania crona są poprawnie napisane, uruchamiać się w odpowiednim czasie, pisać dla nowych usług, są kompatybilne z nowymi wersjami oprogramowania itp.

Rozważ użycie narzędzia do zarządzania konfiguracją, takiego jak Puppet lub Cfengine . Przynajmniej poddaj gromadzone dane kontroli wersji (np. Mercurial, git lub Subversion).

Twoje dane konfiguracyjne przychodzą zewsząd, zamiast być scentralizowane. Wiki zawsze będzie opóźniało obecny stan twoich maszyn. Musisz scentralizować dane konfiguracyjne; spraw, aby płynął od środka na brzeg. Ale prawdą jest, że czasami trzeba wyjść i przechwycić dane konfiguracyjne. Cfengine może przeprowadzać audyty, może Puppet. Spójrz na ten artykuł w Wikipedii zawierający listę innych menedżerów konfiguracji.

Allen
źródło
+1 Używam również cfengine2 (i mediawiki w celu uzyskania dalszej dokumentacji)
ThorstenS
ok, ale jak zrobić raport danych w lalce?
Tom H
4

Możesz spróbować cfg2html , który zrzuca twoją konfigurację do pliku HTML, który możesz następnie pobierać w regularnych odstępach czasu i podawać z serwera centralnego.

wzzrd
źródło
Dzięki, ale cfg2html jest przesadą w stosunku do moich wymagań. Świetny skrypt!
Michelle,
4

Następnym razem, gdy poprawisz maszynę, powinieneś najpierw zainstalować na niej etckeeper . W ten sposób będziesz przechowywać dziennik zmian konfiguracji.

Jakiej dystrybucji używasz? Istnieje kilka całkiem wygodnych narzędzi do zarządzania i kontrolowania plików konfiguracyjnych, i na ogół zależą one od menedżera pakietów.

Tobu
źródło
2

Moją sugestią byłoby po prostu zbudowanie wiki w celu scentralizowania informacji i uzyskanie skryptu do edycji stron, aby pliki konfiguracyjne były aktualizowane na wiki automatycznie przez zadanie cron.

Jeśli używasz moin, powinieneś sprawdzić http://moinmo.in/ScriptMarket/PutPageScript .

W ten sposób otrzymujesz:

  1. Scentralizowana dokumentacja.

  2. Aktualna konfiguracja systemu.

  3. Historia zmian konfiguracji.

jneves
źródło
Podoba mi się to rozwiązanie, bardzo elastyczne. Byłoby miło, gdyby były już dostępne skrypty do aktualizacji wiki.
Michelle,
1

Arkusz kalkulacyjny jest w zasadzie siatką dwuwymiarową. Uważam, że nie jest to najlepsza struktura danych dla takich rzeczy. Wolę drzewa, więc używam konturów do zarządzania drzewami.

Moim ulubionym jest Leo . Jeśli chcesz czegoś, co działałoby na serwerze, który nie ma X, spójrz na htb (wydaje się być opuszczony) lub na wtyczkę VOoM vim.

Wszystkie te narzędzia używają zwykłych plików tekstowych lub XML jako zaplecza. W połączeniu z pewną kontrolą wersji tworzą potężną kombinację.

Inną alternatywą byłaby skamielina . Jest to rozproszone narzędzie do kontroli wersji z wbudowanymi wiki i trackerem biletów. Jest to pojedynczy plik binarny, który może również działać jako CGI i obsługiwać interfejs sieciowy, dzięki czemu jest dostępny przez sieć. skamielina jako mini-CMS dla strony internetowej jest bardzo potężna.

halp
źródło
0

Posiadamy 4 centra danych w 3 krajach. Mamy ponad 500 serwerów produkcyjnych. Jak niektórzy ppl powiedzieli powyżej, używamy wiki i załączamy pliki arkuszy kalkulacyjnych na wiki. Dobrą rzeczą jest to, że po zaktualizowaniu arkusza kalkulacyjnego i dołączeniu go z powrotem na swojej wiki, zachowuje on historię tego. Na przykład, kto i kiedy zaktualizował plik.

Ale blokujemy również naszą wiki, użytkownicy nie widzą prawie żadnej strony, chyba że są zalogowani. Ponadto strona, na której jest zainstalowany plik arkusza kalkulacyjnego, jest kontrolowana za pomocą tagów korzystających z rozszerzeń kontroli dostępu.

-N

Nikolas Sakic
źródło