5 typowych problemów w Puppet Enterprise
Puppet Enterprise to świetna platforma do automatyzacji konfiguracji i wdrażania aplikacji na serwerach, ale jako zaawansowane narzędzie do zarządzania infrastrukturą z wieloma połączonymi ruchomymi częściami może być wyzwaniem do rozwiązania, gdy coś pójdzie nie tak. Jest to szczególnie ważne, gdy mamy do czynienia z błędami kaskadowymi, które są trudne do wyizolowania w celu rozwiązania. Poniżej znajduje się krótka lista niektórych z najczęstszych problemów, które można napotkać, oraz kilka wskazówek, jak je rozwiązywać i rozwiązywać.
1. Nie możesz zalogować się jako administrator do konsoli
Znalezienie odpowiednich plików dziennika do analizy jest pierwszym krokiem do określenia głównej przyczyny:
Korzystanie z uwierzytelniania 3 rd -party (Active Directory, LDAP, i in.):
- /var/log/pe-httpd/access.log
- /var/log/pe-httpd/error.log
Korzystanie z usługi uwierzytelniania konsoli (wbudowanego systemu uwierzytelniania Puppet):
- /var/log/pe-consol-auth/cas.log
W obu przypadkach odpowiednie pliki dziennika będą zawierać informacje o przyczynie niepowodzenia uwierzytelniania. W tej dyskusji, założymy, że natywna usługa uwierzytelniania konsoli jest używana za pośrednictwem uwierzytelniania 3 rd -party. Analiza pliku /var/log/pe-consol-auth/cas.log powinna ujawnić coś w rodzaju "Nieprawidłowe dane uwierzytelniające podane dla użytkownika 'adminuser1@acme.com', "gdzie 'adminuser1@acmecorp.com' to użytkownik, o którym mowa.
Administratorzy mogą również zostać zablokowani po 10 nieudanych próbach logowania. W takiej sytuacji inny administrator musi się zalogować, aby ręcznie usunąć blokadę na innym koncie. Problem rozwiązany — przy założeniu, że istnieje inne konto administratora. Ale jeśli nie, to co wtedy? Wykonanie następujących czynności spowoduje utworzenie nowego konta administratora:
$cd /opt/puppet/share/console-auth$sudo /opt/puppet/bin/rake db:create_user USERNAME= "adminuser2@acmecorp.com " PASSWORD= "<hasło> " ROLE= "Administrator "
Nowe konto administratora może być następnie użyte do zalogowania się i odblokowania drugiego konta administratora.
Alternatywnie można odblokować użytkownika, bezpośrednio usuwając flagę bloku z jego rekordu bazy danych. Firma Puppet stworzyła samouczek, jak to zrobić, chociaż jest on specyficzny dla baz danych Postgres zainstalowanych w PE.
2. Węzły nie pojawiają się na pulpicie nawigacyjnym konsoli
Ponownie upewnij się, że sprawdziłeś odpowiednie dzienniki jako początkowy krok rozwiązywania problemów:
- /var/log/pe-httpd/puppetdashboard.error.log
- /var/log/pe-httpd/puppetdashboard.access.log
- /var/log/pe-httpd/puppetmaster.error.log
Okienko Zadania w tle może zawierać dodatkowe informacje o tym, dlaczego węzły nie są wyświetlane. Duża liczba zadań w tle może wskazywać na nieprawidłowo działający proces roboczy pulpitu nawigacyjnego.
W takim przypadku zatrzymanie i uruchomienie pe-puppet-dashboard-workers może rozwiązać problem. Pamiętaj, aby ponownie sprawdzić okienko Zadania w tle po ponownym uruchomieniu procesów roboczych pulpitu nawigacyjnego, aby sprawdzić, czy liczba zadań została zmniejszona.
3. Na pulpicie nawigacyjnym konsoli nie są wyświetlane żadne fakty dotyczące węzłów lub menedżer węzłów wyświetla pustą stronę lub komunikat o błędzie
Częściej ten problem występuje, gdy występują problemy z wewnętrznym certyfikatem pulpitu nawigacyjnego Puppet. Można to zweryfikować, analizując odpowiedni plik dziennika:
- /var/log/pe-httpd/puppetmaster.error.log
Jeśli występują jakiekolwiek błędy weryfikacji certyfikatu lub SSL, ponowne wygenerowanie certyfikatu wewnętrznego pulpitu nawigacyjnego powinno rozwiązać problem.
4. PuppetDB nie uruchamia się lub ulega awarii po cichu
Istnieje niezliczona ilość przyczyn nieuruchamiającego się lub niedziałającego PuppetDB, z których najczęstszą jest brak pamięci. Aby sprawdzić, czy tak jest, sprawdź odpowiedni plik dziennika:
- /var/log/pe-puppetdb/puppetdb.log
Jeśli zobaczysz błąd, taki jak "java.lang.OutOfMemoryError: Java heap space", zwiększenie pamięci Puppet do wyższego limitu powinno rozwiązać problem. Można to zrobić, edytując plik konfiguracyjny /etc/sysconfig/pe-puppetdb lub /etc/default/pe-puppetdb, w zależności od systemu operacyjnego.
5. W zarządzaniu na żywo nie pojawiają się żadne węzły
W przypadku korzystania z zarządzania na żywo do przeglądania zasobów w węzłach i wywoływania akcji aranżacji czasami pojawia się puste okienko bez obecnych węzłów. Analiza pliku /var/log/pe-httpd/error.log powinna ujawnić wiersz o treści "Nie odpowiedziały serwery MCollective. " Ponowne uruchomienie MCollective na masterze i/lub agentach powinno skutecznie rozwiązać problem.
Ostatnia uwaga na temat dzienników: są to twoi przyjaciele i powinieneś się im przyjrzeć w pierwszej kolejności, gdy napotkasz problemy. Chociaż może się to wydawać oczywiste, w rzeczywistości pliki dziennika są często pomijane, gdy przychodzą na myśl oczywiste rozwiązania. Aby to ułatwić, Puppet Labs stworzyło tę ściągawkę, aby dowiedzieć się, gdzie znajdują się różne dzienniki i co mogą potencjalnie oznaczać błędy/ostrzeżenia. To powiedziawszy, analiza dzienników powinna być pierwszym z serii kroków w kierunku rozwiązania problemów napotkanych w Puppet.
Chociaż te 5 często spotykanych problemów z Puppet Enterprise może mieć różne przyczyny, w wielu przypadkach problemy (np. węzły nieraportujące lub awaria bazy danych) są wynikiem błędnych konfiguracji przed automatyzacją. Bardzo ważne jest, aby konfiguracje infrastruktury i aplikacji były widoczne i zrozumiałe w pierwszej kolejności, w celu zapewnienia kontroli nad środowiskiem przed automatyzacją. GuardRail upraszcza zadanie wykrywania wymagań automatyzacji, a nawet może przekształcić te wymagania we wstępnie sformatowane manifesty Puppet. Weryfikując konfiguracje zarówno po kompilacji, jak i na bieżąco, możesz mieć pewność, że stan Twoich systemów jest pod kontrolą i zabezpieczony przed dryfem konfiguracji.