După cum se menționează aici[1] în documentele aws, Amplify stochează jurnalele de acces pentru toate aplicațiile pe care le găzduiești în Amplify. Cu alte cuvinte, nu este stocat într-unul dintre jurnalele dvs. CloudWatch și doar vizibil pe tabloul de bord Amplify Console, ci este stocat și accesat direct prin intermediul Amplify Console. Ca atare, nu veți putea găsi jurnalele menționate în niciunul dintre grupurile dvs. de jurnal CloudWatch. Acest lucru este indicat și în fila jurnal Amplify Console Access.Faceți clic pe butonul „Editați intervalul de timp” și ar trebui să vedeți: „Puteți accesa jurnalele pentru orice perioadă de două săptămâni, începând cu data și ora furnizate mai jos, dacă doriți să accesați jurnalele mai vechi, va trebui să configurați o funcție Lambda care rulează la fiecare două săptămâni și stochează rezultatele în S3'. După cum putem vedea, spre deosebire de jurnalele CloudWatch, dacă vrem să accesăm jurnale vechi Amplify, trebuie să le exportăm și să le stocăm în mod explicit undeva, fie local, fie în magazine de date precum S3.
În cazul în care doriți să faceți procesări suplimentare asupra acestor jurnale, îl puteți descărca prin Consolă și faceți acest lucru. În cazul în care doriți să construiți o soluție automată pentru procesarea jurnalelor Amplify Access, puteți utiliza pașii de mai jos:
Putem folosi apelul AWS Api „GenerateAccessLogs”[2] pentru a obține jurnalele de acces la site-ul web pentru un interval de timp specific, folosind o adresă URL presemnată. Consultați secțiunea cea mai de jos a acestui document[2], cu link-uri către comenzile AWS CLI sau apelurile SDK corespunzătoare pentru această acțiune. Putem folosi acest apel CLI/API/SDK în scripturile sau codul nostru pentru a prelua jurnalele de acces în mod programatic și a le stoca undeva (fie în fișierul local, fie în S3).
Dacă doriți să automatizați exportul de jurnalele de mai sus, programați scriptul să ruleze local sau puteți, de asemenea, să rulați același cod (de exemplu, un script Python) prin AWS Lambda și să programați lambda să se execute la fiecare două săptămâni prin AWS EventBridge.
Odată ce avem jurnalele de acces exportate, să spunem S3 programatic sau manual, putem face procesări suplimentare pe acele date. De exemplu, așa cum este menționat în secțiunile „Analizarea jurnalelor de acces” de sub această secțiune aici[2], puteți utiliza AWS Athena pentru a analiza jurnalele S3. De asemenea, puteți împinge rezultatele Athena la valorile CloudWatch dacă este necesar[3].
Referinţă
[1] https://docs.aws.amazon.com/amplify/latest/userguide/access-logs.html#using-access-logs
[2] https://docs.aws.amazon.com/amplify/latest/APIReference/API_GenerateAccessLogs.html
[3] https://stackoverflow.com/questions/63715926/creating-a-cloudwatch-metrics-from-the-athena-query-results