2013-07-09 28 views
7

Zbudowaliśmy stronę internetową przy użyciu AWS EC2 i automatycznego skalowania w typowym stosie LAMP (ubuntu).Jak zachować logi Apache w EC2 podczas automatycznego skalowania AWS?

Skalowanie itp. Działa dobrze, jednak ponieważ instancje są "tymczasowe", nasze rejestry Apache nie są zachowywane (ponieważ nie przechowujemy woluminów ani instancji) po skokach obciążenia.

Czy istnieje "najlepsza praktyka/najbardziej niezawodny" sposób przechowywania naszych dzienników apache dla tych wystąpień?

Jednym z pomysłów było skopiowanie plików dziennika do S3, podczas zamykania, przez napisanie skryptu bash do wykonania przy użyciu funkcji /etc/rc0.d (uruchamianie skryptu przy zamykaniu).

+0

Co tu robiłeś? Patrzę na to samo podejście, ale stwierdzam, że nie mam czasu podczas wyłączania, aby przejść do s3. – digidigo

+0

Poszliśmy z podejściem, które zasugerowałem, co może być niewiarygodne, patrz link poniżej (choć działa jak dotąd). Rozwiązanie dostarczone przez rdrey może być lepsze. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html QUOTE: "Jeśli uruchomisz skrypt na zakończenie instancji, Twoja instancja może mieć nieprawidłowe zakończenie, ponieważ nie mamy możliwości zapewnienia uruchamiane są skrypty zamykania, Amazon EC2 próbuje całkowicie zamknąć instancję i uruchomić dowolne skrypty zamykające system, jednak pewne zdarzenia (takie jak awaria sprzętu) mogą uniemożliwić uruchomienie tych skryptów zamykających system. " – BoomShaka

+0

Kolejny potencjalny dobry odczyt: https://forums.aws.amazon.com/message.jspa?messageID=183672# – BoomShaka

Odpowiedz

8

"Najlepszą praktyką" byłoby agregowanie wszystkich twoich dzienników na serwerze, który pozwala je archiwizować i przeszukiwać. Możesz tworzyć kopie starszych logów w S3 i ostatecznie na lodowcu.

Aby to wszystko działało, musisz skonfigurować apache, aby zapisywać co godzinę lub drobiazgowo logi i pisać cronjob, aby zsynchronizować je z jakimś centralnym miejscem lub przesłać je do S3.

Zapoznaj się z wersją dla rozwiązania open source, które można uruchomić na własną instancję i http://loggly.com/ dla niewolnego, w pełni hostowanego rozwiązania.

EDYCJA: Moją pierwszą myślą było "nie rób tego podczas wyłączania". Będziesz chciał zsynchronizować swoje pliki dziennika tak regularnie, jak to tylko możliwe, a co za tym idzie (jeśli na przykład wykonasz drobiazgowo logi), uzyskasz "prawie w czasie rzeczywistym" rejestrację/tworzenie kopii zapasowych i wyszukiwanie.