Gdzie znajdę najnowszy dziennik błędów Ansible

11

Użyłem skryptu ansible, aby uruchomić konfigurację serwera. Uruchomiłem skrypt z wnętrza serwera i robiłem wszystko w inwentarzu localhost.

Teraz połączenie ssh, które miałem z serwerem, zostało zamknięte i nie mogę znaleźć pliku dziennika. Gdzie jest do tego standardowa ścieżka dziennika? W obszarze / var / log nie ma pliku odpowiadającego.

Ponownie uruchamiam skrypt i spodziewam się, że błąd wystąpi ponownie, ale nie jest to świetne rozwiązanie, ponieważ uruchomienie skryptu zajmuje kilka godzin.

Felipe
źródło

Odpowiedzi:

13

Ansible domyślnie nie tworzy własnych dzienników - musisz to zrobić, używając ansible.cfgpliku. Ansibl robi zrobić jakiś logowania do syslog domyślnie:

Zauważ, że ansible, bez tego ustawienia, zapisuje argumenty modułu wywoływane w syslog zarządzanych komputerów.

Spowoduje to zapisanie argumentów modułu w dzienniku systemowym zarządzanych maszyn .

Aby włączyć pełne rejestrowanie, na komputerze sterującym możesz utworzyć ansible.cfgplik, który wygląda następująco:

[defaults]
log_path = ./ansible.log

Następnie zapisz go gdzieś, gdzie będzie to szukać. Ansible sprawdza ansible.cfgpliki w tych lokalizacjach , w następującej kolejności:

  • ANSIBLE_CONFIG (zmienna środowiskowa)
  • ansible.cfg (w bieżącym katalogu)
  • .ansible.cfg (w katalogu domowym)
  • /etc/ansible/ansible.cfg

Alternatywną opcją jest ustawienie ANSIBLE_LOG_PATHzmiennej środowiskowej na ścieżkę, do której chcesz się zalogować - jest to równoważne z ustawieniem log_pathopcji w ansible.cfgpliku.

Zobacz tutaj, aby uzyskać więcej informacji: http://docs.ansible.com/intro_configuration.html

Zamek Duncana
źródło
2
Możliwe jest również ustawienie zmiennej środowiskowej ANSIBLE_LOG_PATH
ceving
2

Przeszukuj lokalizację pliku syslog w systemie. Tam zwykle kończy się dla mnie (Ubuntu 12.04).

W przeciwnym razie możesz uruchomić, ansible-playbook -vvvv $argsaby włączyć rejestrowanie debugowania, a następnie teedo pliku.

Tom O'Connor
źródło