2013-06-11 18 views
25

Esiste un'utilità CLI per la codifica dei registri dalle applicazioni Elastic Beanstalk. Specificamente un'applicazione per fiaschi di python.Esiste un CLI to tail logs da AWS Elastic Beanstalk

È possibile utilizzare il loro EB CLI per ottenere un'istantanea ...

eb logs 

Ma mi piacerebbe fare (simile a quello che heroku offers) ...

eb logs --tail 

ha uno qualsiasi compiuto questo?

Grazie!


Alcune referenze:

+0

So che questo è vecchio ma, ti piacerebbe contrassegnare una delle risposte come corretta? Quello che hai finito usando forse? Grazie –

risposta

-5

Non ho un ambiente in cui posso provare questo, ma da guardando il codice sembra che si può do:

eb logs tail

check out constants.py line 129

+0

Sono passato da EB per un paio di motivi. Fammi sapere se qualcuno può confermarlo. – Jonathan

+0

Sfortunatamente non sembra che 'eb logs tail' faccia la differenza rispetto a' eb logs' –

+0

'ERRORE: nessun ambiente trovato per EnvironmentName = 'tail''. –

23

Anche io stavo lottando con questo. L'utilità CLI eb non sembra consentire la codifica dei log delle applicazioni attualmente.

Tuttavia, è possibile coda questi registri per:

  1. Creazione di una coppia di chiavi nella console EC2 (che dovrebbe dare un file .pem)
  2. Collegare l'istanza EB a questa coppia di chiavi (in console EB)
  3. Trovare il DNS pubblico dell'istanza nella console EC2
  4. Collegamento all'istanza via ssh (`ssh -i [yourpemfile.pem] EC2-user @ [your.public.dns]
  5. Ti pedina r file di registro. Per un'applicazione Node.js, è tail -f /var/log/nodejs/nodejs.log. Non so qual è l'equivalente per un'applicazione Flask.

(grazie a Richard Soutar per avermi nella giusta direzione su questo.)

+0

tail -f /var/app/current/log/production.log per un'app Rails distribuita utilizzando AWS Beanstalk –

+11

'eb ssh' consente di saltare 1-4 passaggi e passare direttamente a una delle istanze in esecuzione –

+0

per le rotaie con puma il seguente funziona per me: ** eb ssh ** e quindi ** tail -f /var/log/puma/puma.log** – einSelbst

3

Potrebbe non essere necessario tronchi eb per esso, provare eb ssh prima poi

tail -f /var/log/* 
0

Non è possibile coda registra direttamente come AWS EB aggrega più registri insieme.se è il registro dell'applicazione che ti interessa, puoi andare alla scheda EC2 e premere il pulsante Connetti sul server attuale (potresti dover definire una coppia di chiavi, basta seguire le istruzioni) . Una volta effettuato l'accesso al server, puoi seguire il tuo log da lì.

2

Quindi per gli altri che lo stanno ancora cercando, ho scritto un piccolo strumento per i log di coda per l'ambiente beanstalk elastico, è sufficiente specificare il nome dell'ambiente e il nome del file, eseguirà l'SSH e accoderà il file di ogni istanza .

./eb-tail env-name 

o

./eb-tail env-name -f '/path/to/file' 

https://github.com/ahmednasir91/eb-tail

0

Questo è quello che faccio:

Afferra la posizione del file di log che si desidera da eb logs

eb logs 

Ciascun display EB del registro viene fornito con un ------- precedente/prefisso. Per esempio, per i registri passeggeri su rotaie:

------------------------------------- 
/var/app/support/logs/production.log 
------------------------------------- 

Poi SSH al server e la coda dei tronchi:

eb ssh # may have to eb ssh --setup for first time use 

# from inside the server 
tail -f /var/app/support/logs/production.log 
1

È possibile utilizzare il flag -g per impostare il gruppo di registro, quindi utilizzare --stream per lo streaming i risultati. Non c'è bisogno di ssh su una macchina specifica.

eb logs -g /aws/elasticbeanstalk/yourApp-env/var/log/nodejs/nodejs.log --stream 
0

Questo non utilizza il EB-cli, ma il modo più semplice per lo streaming i registri sarebbe quella di utilizzare eb logs -cw enable quindi la lettura del flusso nel portale CloudWatch.

Problemi correlati