Puncte:0

AWS CloudWatch parse JSON nu ține seama de majuscule și minuscule

drapel pk

În secțiunea WAF a consolei AWS există o filă pentru „CloudWatch Log Insights” care oferă câteva exemple de interogări. Una dintre acestea este „Top 100 gazde”.

câmpurile @timestamp, @message
| analizați @mesajul „{"name":"Gazdă","value":"*"}" ca gazdă
| statisticile contează (*) ca cerereNumăr de gazdă
| sort requestCount desc
| limita 100

Acesta este un titlu de raport oarecum înșelător pentru majoritatea oamenilor pe care îi aștept. Găsesc aproximativ jumătate din traficul meu gazdă spre deosebire de Gazdă. Am petrecut 30 de minute încercând să fac această interogare să nu țină seama de majuscule și minuscule când am analizat acel antet, înainte de a renunța și de a decide să întreb aici.

Care este cel mai simplu mod de a realiza acest lucru?

Puncte:2
drapel ua

Asa am rezolvat-o:

câmpurile @timestamp, @message
| parse @message /\{"name":"(H|h)ost","valoare":"(?<gazdă>.*?)"\}/
| statisticile contează (*) ca cerereNumăr de gazdă
| sort requestCount desc
| limita 100

Schimbarea de la modele glob la grupuri de captare regex permite folosirea regexe-urilor și pentru alte potriviri.

drapel kr
Ești un diamant. Primul răspuns fantastic. Mulțumesc!!!!!!
drapel pk
Mulțumiri. Aceasta a funcționat. A ajuns să folosească `(?i)`. Cu filtru complet ca: `| parse @message /(?i)\{"name":"HOST","valoare":"(?.*?|^www\..*)"\}/`

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.