CloudWatch Logs Insights உதாரண வினவல்கள்
CloudWatch Logs Insights CloudWatch லாக் தரவை பகுப்பாய்வு செய்வதற்கும் வினவுவதற்கும் ஒரு சக்திவாய்ந்த தளத்தை வழங்குகிறது. சில எளிமையான ஆனால் சக்திவாய்ந்த கட்டளைகளுடன் SQL போன்ற வினவல் மொழியைப் பயன்படுத்தி உங்கள் லாக் தரவை ஊடாடும் வகையில் தேட இது உங்களை அனுமதிக்கிறது.
CloudWatch Logs Insights பின்வரும் வகைகளுக்கான உள்ளமைந்த உதாரண வினவல்களை வழங்குகிறது:
- Lambda
- VPC Flow Logs
- CloudTrail
- பொதுவான வினவல்கள்
- Route 53
- AWS AppSync
- NAT Gateway
சிறந்த நடைமுறைகள் வழிகாட்டியின் இந்த பிரிவில், தற்போது உள்ளமைந்த உதாரணங்களில் சேர்க்கப்படாத பிற வகை லாக்குகளுக்கான சில உதாரண வினவல்களை வழங்குகிறோம். இந்த பட்டியல் காலப்போக்கில் உருவாகும் மற்றும் மாறும், நீங்கள் issue ஒன்றை GitHub இல் விட்டு உங்கள் சொந்த உதாரணங்களை மதிப்பாய்வுக்கு சமர்ப்பிக்கலாம்.
API Gateway
HTTP Method வகையை கொண்ட கடைசி 20 செய்திகள்
filter @message like /$METHOD/
| fields @timestamp, @message
| sort @timestamp desc
| limit 20
இந்த வினவல் ஒரு குறிப்பிட்ட HTTP method ஐ கொண்ட கடைசி 20 லாக் செய்திகளை இறங்கு timestamp வரிசையில் திருப்பும். நீங்கள் வினவும் method க்காக METHOD ஐ மாற்றவும். இந்த வினவலை எவ்வாறு பயன்படுத்துவது என்பதற்கான உதாரணம்:
filter @message like /POST/
| fields @timestamp, @message
| sort @timestamp desc
| limit 20
வெவ்வேறு எண்ணிக்கையிலான செய்திகளை திருப்ப $limit மதிப்பை மாற்றலாம்.
IP மூலம் வரிசைப்படுத்தப்பட்ட முதல் 20 பேச்சாளர்கள்
fields @timestamp, @message
| stats count() by ip
| sort ip asc
| limit 20
இந்த வினவல் IP மூலம் வரிசைப்படுத்தப்பட்ட முதல் 20 பேச்சாளர்களை திருப்பும். உங்கள் API க்கு எதிரான தீங்கிழைக்கும் செயல்பாட்டை கண்டறிவதற்கு இது பயனுள்ளதாக இருக்கும்.
அடுத்த படியாக method வகைக்கான கூடுதல் வடிகட்டியை சேர்க்கலாம். உதாரணமாக, இந்த வினவல் IP மூலம் முதல் பேச்சாளர்களை காட்டும் ஆனால் "PUT" method அழைப்பை மட்டும்:
fields @timestamp, @message
| filter @message like /PUT/
| stats count() by ip
| sort ip asc
| limit 20
CloudTrail Logs
பிழை வகையால் குழுவாக்கப்பட்ட API throttling பிழைகள்
stats count(errorCode) as eventCount by eventSource, eventName, awsRegion, userAgent, errorCode
| filter errorCode = 'ThrottlingException'
| sort eventCount desc
இந்த வினவல் வகையால் குழுவாக்கப்பட்ட மற்றும் இறங்கு வரிசையில் காட்டப்படும் API throttling பிழைகளை பார்க்க அனுமதிக்கிறது.
இந்த வினவலைப் பயன்படுத்த நீங்கள் முதலில் CloudTrail லாக்குகளை CloudWatch க்கு அனுப்புவதை உறுதி செய்ய வேண்டும்.
வரி வரைபடத்தில் Root கணக்கு செயல்பாடு
fields @timestamp, @message, userIdentity.type
| filter userIdentity.type='Root'
| stats count() as RootActivity by bin(5m)
இந்த வினவலுடன் வரி வரைபடத்தில் root கணக்கு செயல்பாட்டை காட்சிப்படுத்தலாம். இந்த வினவல் காலப்போக்கில் root செயல்பாட்டை ஒருங்கிணைக் கிறது, ஒவ்வொரு 5-நிமிட இடைவெளியிலும் root செயல்பாட்டின் நிகழ்வுகளை எண்ணுகிறது.
VPC Flow Logs
REJECT செயலுடன் தேர்ந்தெடுக்கப்பட்ட மூல IP முகவரிக்கான flow logs ஐ வடிகட்டுதல்.
fields @timestamp, @message, @logStream, @log | filter srcAddr like '$SOURCEIP' and action = 'REJECT'
| sort @timestamp desc
| limit 20
இந்த வினவல் $SOURCEIP இலிருந்து 'REJECT' கொண்ட கடைசி 20 லாக் செய்திகளை திருப்பும். ட்ராஃபிக் வெளிப்படையாக நிராகரிக்கப்படுகிறதா, அல்லது சிக்கல் ஏதேனும் வகையான கிளையண்ட் பக்க நெட்வொர்க் கட்டமைப்பு பிரச்சனையா என்பதை கண்டறிய இதைப் பயன்படுத்தலாம்.
நீங்கள் ஆர்வமுள்ள IP முகவரியின் மதிப்பை '$SOURCEIP' க்கு மாற்றுவதை உறுதிப்படுத்தவும்
fields @timestamp, @message, @logStream, @log | filter srcAddr like '10.0.0.5' and action = 'REJECT'
| sort @timestamp desc
| limit 20
Availability Zone-களால் நெட்வொர்க் ட்ராஃபிக்கை குழுவாக்குதல்
stats sum(bytes / 1048576) as Traffic_MB by azId as AZ_ID
| sort Traffic_MB desc
இந்த வினவல் Availability Zone (AZ) மூலம் குழுவாக்கப்பட்ட நெட்வொர்க் ட்ராஃபிக் தரவை மீட்டெடுக்கிறது. bytes ஐ கூட்டி MB க்கு மாற்றுவதன் மூலம் மொத்த ட்ராஃபிக்கை மெகாபைட்களில் (MB) கணக்கிடுகிறது. முடிவுகள் ஒவ்வொரு AZ இல் ட்ராஃபிக் அளவின் அடிப்படையில் இறங்கு வரிசையில் வரிசைப்படுத்தப்படுகின்றன.