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
.
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 skonfigurujelogrotate
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 cronlogrotate
komponentu. - Dla komponentu
edge-router
jest dodatkowe zadanie cronlogrotate
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:
- Upewnij się, że użytkownik
apigee
może odczytać plik. - 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/
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.