Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Krótki opis problemu
Na serwerze Postgres z danymi Analytics skończyło się miejsce.
W poniższym przykładzie widać, że dysk /u01 zajmuje 90% (176 GB/207 GB) miejsca na dysku.
$df -g Filesystem Size User Avail Use% Mounted on /dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01
Komunikaty o błędach
Komunikat o błędzie może pojawić się dopiero wtedy, gdy na serwerze Postgres zostanie całkowicie zapełnione miejsce na dysku.
Możliwe przyczyny
W tabeli poniżej znajdziesz możliwe przyczyny tego problemu:
Przyczyna | Dla: |
---|---|
Za mało miejsca na dysku | Użytkownicy chmury Private Cloud |
Brak skracania danych Analytics | Użytkownicy chmury Private Cloud |
Za mało miejsca na dysku
Diagnostyka
Jedną z typowych przyczyn błędów dotyczących miejsca na dysku na serwerach Postgres jest brak wystarczającej ilości miejsca na dysku, aby przechowywać duże ilości danych analitycznych. Poniższe czynności pomogą Ci określić, czy masz wystarczającą ilość miejsca na dysku, i podjąć odpowiednie działania, aby rozwiązać problem.
- Określ tempo ruchu przychodzącego z interfejsu API do Edge, korzystając z panelu wydajności serwera proxy Analytics.
Przykładowa wydajność serwera proxy ze średnią wartością TPS
- Rozważ taki scenariusz:
- Ruch przychodzący do interfejsu API dla Twojej organizacji wynosi 22 TPS (transakcje na sekundę).
- Oznacza to, że ruch przez interfejs API wynosi 1 900 800 transakcji dziennie (22 * 60 * 60 * 24).
- Pamiętaj, że każda transakcja/wiadomość w Analytics ma rozmiar 1,5 tys.bajtów.
- Oznacza to, że każdego dnia generuje 2,7 GB danych Analytics (1 900 800 * 1,5 tys.).
- Na serwerach Postgres musisz przechowywać dane Analytics przez 30 dni w celach informacyjnych.
- Łączna ilość danych wygenerowanych przez 30 dni = 81 GB (2,7 GB * 30)
- Dlatego, aby przechowywać dane Analytics przez 30 dni z szybkością 22 TPS, musisz mieć 150 GB miejsca na dysku.
- 81 GB (dane Analytics) + 50 GB (inne dane, np. logi itp.) + 20 GB (dodatkowe miejsce na bufor) = 150 GB.
- Ruch przychodzący do interfejsu API dla Twojej organizacji wynosi 22 TPS (transakcje na sekundę).
- Jeśli w systemie jest mniej miejsca, tj. mniej niż 150 GB miejsca (zgodnie z przykładem powyżej), oznacza to, że nie ma wystarczającej ilości miejsca na dysku do przechowywania danych Analytics.
Rozdzielczość
Dodaj odpowiednią ilość miejsca na dysku na maszynie serwera Postgres.
Brak przycinania danych Analytics
Diagnostyka
Wraz ze wzrostem ruchu interfejsu API do Edge wzrośnie też ilość danych analitycznych przechowywanych w bazie danych Postgres. Ilość danych analitycznych, które można przechowywać w bazie danych Postgres, jest ograniczona przez ilość miejsca dostępnego na dysku w systemie.
Dlatego nie możesz kontynuować przechowywania dodatkowych danych Analytics w bazie danych Postgres bez wykonania 1 z tych czynności:
-
Zwiększ ilość miejsca na dysku.
Nie jest to skalowalna opcja, ponieważ nie możemy zwiększać ilości miejsca na dysku ze względu na ograniczenia i koszty.
-
Przycinanie danych po dłuższym czasie przechowywania.
Jest to preferowane rozwiązanie, ponieważ masz pewność, że dane, które nie są już wymagane, są usuwane w regularnych odstępach czasu.
Jeśli nie skracasz danych w regularnych odstępach czasu ręcznie lub za pomocą zadania cron, ilość danych analitycznych stale się zwiększa, co może doprowadzić do wyczerpania miejsca na dysku w systemie.
Rozdzielczość
Aby usunąć dane, które przekroczyły wymagany okres przechowywania:
- Określ interwał przechowywania, czyli czas, przez jaki chcesz przechowywać dane Analytics w bazie danych Postgres.
- Uruchom to polecenie, aby przyciąć dane dla określonej organizacji i środowiska:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
Skrypt zawiera te opcje:
Delete-from-parent-fact
Domyślnie : nie. Z nadrzędnej tabeli faktów zostaną też usunięte dane starsze niż dni przechowywania.Skip-confirmation-prompt
. Domyślnie: nie. Jeśli nie, skrypt poprosi o potwierdzenie, zanim usunie dane z informacji nadrzędnej. Ustaw wartość „Tak”, jeśli skrypt trwałego usuwania jest zautomatyzowany.
Więcej informacji znajdziesz w artykule Przycinanie danych Analytics.
Jeśli problem będzie nadal występował, skontaktuj się z zespołem pomocy Apigee Edge.