SaltStack - rejestrowanie

Rejestrowanie służy do śledzenia uruchomionych zdarzeń oprogramowania. Zdarzenie jest opisane przez opisowy komunikat, który opcjonalnie może zawierać zmienne dane. Podejście do rejestrowania soli służy do rozwiązywania problemów, z którymi możesz się spotkać. Możesz sprawdzić z określonymi poziomami dziennika.

Ustawienia konfiguracji

Przyjrzyjmy się szczegółowo różnym ustawieniom konfiguracji logowania.

PLIK DZIENNIKA

Rekordy dziennika soli są przesyłane przez plik, który zawiera nazwę ścieżki lokalnej lub lokalizację sieciową w celu identyfikacji. Ten plik jest uważany za plik dziennika.

log_file: /var/log/salt/master

Tutaj plik zależny od pliku binarnego wykonywanego w master. Podobnie możesz wykonać egzekucję również na minionie, co pokazano poniżej.

log_file: /var/log/salt/minion

Możesz także użyć adresu zdalnego. Składnia użycia adresu zdalnego to - <file | udp | tcp>: // <host | socketpath>: <port-if-required> / <log-facility>.

log_file: udp://loghost:port

W tym przypadku funkcja Log domyślnie przyjmuje wartość LOG_USER.

LOG_LEVEL

Poziomy dziennika są uporządkowane według wartości przypisanej numerycznie. Biblioteka Pythona domyślnie zdefiniowała większość poziomów rejestrowania. Oprócz tego Salt zużywa więcej poziomów. Niektóre poziomy wyjaśniono poniżej.

  • log_level: error; level value is 40 - Wskazuje na błąd rekordu instrukcji dziennika.

  • log_level: quiet; level value is 1000 - Wskazuje, że nic nie powinno być rejestrowane na tym poziomie.

  • log_level: info; level value is 20 - Wskazuje normalne informacje dziennika.

  • log_level: warn; level value is 30 - Wskazuje zapis wyciągu dziennika w momencie ostrzeżenia.

  • log_level: debug; level value is 10 - Informacje przydatne do debugowania zarówno implementacji soli, jak i kodu soli.

  • log_level: trace; level value is 5 - Bardziej szczegółowe informacje dotyczące debugowania kodu.

LOG_LEVEL_LOGFILE

Określa poziom komunikatów, które mają być wysyłane do pliku dziennika.

log_level_logfile: info

LOG_DATEFMT

Określa format daty dziennika. Domyślnie jest to przedstawione jako% Y-% m-% d% H:% M:% S.

log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'

LOG_FMT_CONSOLE

Definiuje format konsoli rejestrującej komunikaty. Sól używa zwyczajuLogRecordatrybuty, aby pokolorować wyjście dziennika konsoli. Jest zgodny z następującą składnią -

'%(colorlevel)s'       # log level name colorized by level
'%(colorname)s'        # colorized module name
'%(colorprocess)s'     # colorized process number
'%(colormsg)s'         # colorized messages name

LOG_FMT_LOGFILE

Definiuje format pliku dziennika rejestrującego komunikaty. Podstawowa składnia jest następująca -

%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s

LOG_GRANULAR_LEVELS

Ten poziom służy do dokładniejszej kontroli poziomów rejestrowania.

log_granular_levels:
   'salt': 'info'
   'salt.modules': ‘trace'

Tutaj główna biblioteka soli na poziomie `` informacji '' ustawia plik salt.modules rejestrować na poziomie śledzenia.

Zewnętrzny program do obsługi logowania

Salt używa zewnętrznej obsługi dziennika LogStash i Sentry do rejestrowania. Zrozummy to szczegółowo w tym rozdziale.

LOGSTASH Handler

LogStash jest oprogramowaniem typu open source; potok bezpiecznego przetwarzania danych po stronie serwera. Rozważmy prosty program obsługi logowania UDP w Salt, który używa LogStash.

Określ następujące zmiany w głównym pliku soli -

logstash_udp_handler:
   host: 127.0.0.1
   port: 9999
   version: 1
   msg_type: logstash

Następnie dodaj zmiany w pliku konfiguracyjnym Logstash -

input {
   udp {
      port ⇒ 9999
      codec ⇒ json
   }
}

Tutaj, UDP - to wejście, które musi mieć format json_event, który jest tym, co wysyłamy.

SENTRY Logging Handler

Sentry to śledzenie błędów w czasie rzeczywistym we wdrożeniach produkcyjnych oraz informacje umożliwiające odtworzenie i naprawienie awarii. Domyślna konfiguracja w pliku głównym jest zdefiniowana poniżej.

sentry_handler:
   dsn: https://pub-key:[email protected]/app-id
   log_level: debug

Tutaj domyślnym poziomem rejestrowania dla programu obsługi wartownika jest ERROR, ale zdefiniowaliśmy debugowanie log_level pod kluczem konfiguracyjnym sentry_handler.