Włącz rotację logów dla komponentów Edge

Rotacja logów – proces rotacji wielu plików dziennika, które są dodawane i wyłączone z użycia: upraszcza administrowanie systemami, przy generowaniu dużej liczby plików dziennika. Rotacja logów umożliwia automatyczną rotację, kompresję, i wysyłanie plików dziennika.

W Edge dla Private Cloud niektóre główne pliki logów w każdym apigee jest skonfigurowany z domyślnym mechanizmem rotacji. Na przykład na stronie Komponent procesora wiadomości, te pliki są skonfigurowane z rotacją domyślną za pomocą funkcji logowania zwrotnego:

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

Podobne pliki istnieją dla innych komponentów edge-* (których nazwy zaczynają się od edge-), na przykład edge-management-server, edge-router, edge-postgres-server i edge-qpid-server.

Każdy z tych komponentów edge-* generuje też dodatkowy plik dziennika, który jest przekierowaniem z konsoli danego komponentu. W przypadku komponentu procesora wiadomości ten plik nazywa się /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Inne komponenty edge-* generują podobny plik. Te pliki nie są wykonywane przez z biblioteki logback, a nie z bibliotek logrotate i crontab.

Zanim zaczniesz

  • Jeśli nie korzystasz jeszcze z konfiguracji logrotate, przeczytaj logrotate manual.
  • Jeśli nie korzystasz jeszcze z konfiguracji crontab, przeczytaj Instrukcja crontab

Włącz rotację logów

Od wersji Edge for Private Cloud w wersji 4.52 po zainstalowaniu edge-* WebView, wpis crontab dla obracanie tego logu jest tworzone automatycznie w crontab użytkownika apigee. To zadanie cron jest uruchamiane co domyślnie i do rotacji logów używa narzędzia logrotate. Jeśli kilka: edge-* komponenty są zainstalowane w tym samym węźle (na przykład w instalacji typu „wszystko w jednym” lub jeśli router i procesor wiadomości są zainstalowane w jednym węźle), każdy komponent ma własny wpis cron dla przez rotację odpowiednich logów.

Uwagi:

  • Jeśli podczas instalowania komponentu edge-* nie chcesz, aby automatycznie skonfiguruje logrotate cronjob, ustaw flagę „ENABLE_LOGROTATE=n” w używanym przez Ciebie pliku konfiguracji cichej w celu instalacji. Jeśli zadanie cron nie jest ustawione podczas instalacji, możesz je skonfigurować. później, wykonując kroki włącz program cron logrotate komponentu.
  • Dla komponentu edge-router jest dodatkowe zadanie cron logrotate ale też domyślnie. Ten program cron dokonuje rotacji dostępu i logów błędów wygenerowanych przez Nginx.

Poniższe przykłady ilustrują różne konfiguracje i operacje administracyjne które można osiągnąć.

Wyświetlanie wpisów cron w węźle

sudo crontab -u apigee -l

Wyświetl wpis cron komponentu logrotate

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

Aby na przykład wyświetlić plik cron logrotate procesora Edge, uruchom polecenie:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

Wyświetlanie właściwości komponentów Konfiguracja: logrotate

Konfigurację logrotate komponentu można znaleźć w pliku $APIGEE_ROOT/<component>/logrotate/logrotate.conf Na przykład w przypadku procesora Edge-message-processor, konfiguracja logrotate węzła może być znaleziono w: $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf.

Włącz program cron logrotate komponentu

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Aby na przykład włączyć oprogramowanie cron logrotate procesora Edge, uruchom polecenie:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Wyłącz program cron logrotate komponentu

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

Aby na przykład wyłączyć narzędzie cron logrotate procesora Edge, uruchom polecenie:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

Zmienianie harmonogramu cron konkretnego polecenia logrotate

W węźle, w którym chcesz zmienić harmonogram cron logrotate, otwórz odpowiednie w pliku zastępowania konfiguracji komponentu. Pliki zastąpień konfiguracji komponentu edge-* podane w poniższej tabeli:

Komponent Plik zastąpienia konfiguracji
edge-message-processor $APIGEE_ROOT/customer/application/message-processor.properties
edge-management-server $APIGEE_ROOT/customer/application/management-server.properties
edge-router $APIGEE_ROOT/customer/application/router.properties
edge-postgres-server $APIGEE_ROOT/customer/application/postgres-server.properties
edge-qpid-server $APIGEE_ROOT/customer/application/qpid-serverproperties

Otwórz odpowiedni plik zastąpień i ustaw następujące zastąpienie konfiguracji. Przykład poniżej zastępuje zadanie cron tak, aby było uruchamiane co 0 minuty każdej godziny.

conf_logrotate_cron_duration=0 * * * *

Aby ustawić zastąpienie konfiguracji:

  1. Upewnij się, że użytkownik apigee może odczytać plik.
  2. Zastosuj nowszy harmonogram cron do komponentu:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Aby na przykład zastosować nowszy harmonogram cron do instancji logrotate przetwarzania wiadomości na brzegu wiadomości, wpisz:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Aby upewnić się, że zmiany zostały zastosowane, sprawdź wpisy w cron lub wyświetl logrotate wpis cron.

Dodatkowe konfiguracje logrotate

Podobnie jak w przypadku kroków opisanych powyżej, aby zmodyfikować harmonogram cron, możesz modyfikować dodatkowe konfiguracje. Tabela poniżej zawiera opis tych konfiguracji:

Konfiguracja Opis
conf_logrotate_bin_location Lokalizacja pliku binarnego logrotate. Domyślnie: /usr/sbin/logrotate
conf_logrotate_status_file Plik stanu rejestrujący stan środowiska wykonawczego logrotate – program ma uprawnienia do odczytu/zapisu dla apigee użytkownika. Domyślny: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Logi do rotacji. Może zawierać symbole wieloznaczne. Domyślne: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate Liczba rotacji. Domyślnie: „5”.
conf_logrotate_compress Określa, czy kompresować obrócone pliki. Domyślnie: „kompresuj”.
conf_logrotate_compress_type Typ kompresji. Wartość domyślna: „delaycompress”. Opóźnia kompresję od ostatniego obróconego pliku do następnego cyklu logrotacji.
conf_logrotate_size Limit rozmiaru logu na potrzeby rotacji. Domyślnie: „10 mln”.

Użyj własnego mechanizmu rotacji logów i programu cron

Jeśli konfiguracja nie spełnia wymagań dotyczących rotacji pliku <component>.log z Apigee, korzystasz z własnego mechanizmu rotacji logów przy użyciu narzędzi takich jak logrotate i innych. Na przykład konfiguracje udostępnione przez Apigee umożliwiają rotację logów według rozmiaru, ale chcesz wyświetlać logi naprzemiennie w oparciu o datę/godzinę lub inne czynniki. W takim przypadku wyłącz usługę cron logrotate udostępniony przez Apigee i w razie potrzeby skonfiguruj własne zadania cron.

Jeśli chcesz odwołać się do wpisu rotacji logów Apigee, znajdziesz go w pliku $APIGEE_ROOT//logrotate/logrotate.cron Na przykład w przypadku edge-message-processor, ten plik nazywa się $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron Ten plik zawiera zarówno wpis cron, jak i polecenie wykonane przez Apigee na potrzeby rotacji logów. Jeśli Chcesz używać narzędzia logrotate, ale nie chcesz korzystać z konfiguracji Apigee, możesz utworzyć należy do Ciebie logrotate i użyj podobnego polecenia logrotate, aby wykonać rotację logów.