AWS Lambda ফাংশনগুলির কার্যক্রম ট্র্যাক করতে এবং ডিবাগ করতে, AWS CloudWatch Logs ব্যবহার করা হয়। এটি AWS Lambda ফাংশন থেকে লোগ ডেটা সংগ্রহ এবং বিশ্লেষণ করার একটি শক্তিশালী উপায়। যখন আপনি AWS Lambda ফাংশন চালান, তখন আপনি সেই ফাংশনের লগ দেখতে এবং ট্র্যাক করতে পারেন, যা আপনাকে কোডের আউটপুট এবং সমস্যা চিহ্নিত করতে সাহায্য করে।
Logs Group এবং Logs Stream এর মাধ্যমে AWS Lambda-এর লোগিং কনফিগারেশন সেটআপ করা হয়। Axure RP প্রোটোটাইপের মধ্যে Lambda ফাংশন ব্যবহৃত হলে, সেই Lambda ফাংশনের লোগগুলো AWS CloudWatch Logs এ কনফিগার করা যেতে পারে।
এই প্রক্রিয়া আপনাকে Lambda ফাংশনের কার্যক্রম এবং আউটপুট লগ পর্যবেক্ষণ করতে সাহায্য করবে।
Logs Group এবং Logs Stream কী?
- Logs Group: এটি একটি গ্রুপ যার মধ্যে AWS Lambda বা অন্যান্য সার্ভিস থেকে আসা সমস্ত লগ ফাইল জমা হয়। একাধিক Logs Stream থাকতে পারে একটি Logs Group এর মধ্যে।
- Logs Stream: এটি একটি লগ ফাইল, যা নির্দিষ্ট সময়ের মধ্যে AWS Lambda ফাংশনের কার্যক্রম এবং আউটপুট ধারণ করে। প্রতিটি Lambda ফাংশনের জন্য আলাদা লগ স্ট্রিম তৈরি হয়।
Lambda এর লগ কনফিগারেশন (Logs Group এবং Logs Stream)
AWS Lambda ফাংশনটি কনফিগার করার সময় CloudWatch Logs ব্যবহারের জন্য আপনাকে কিছু সেটিংস করতে হবে। সাধারণত, এটি AWS IAM রোলের মাধ্যমে কনফিগার করা হয়, যাতে Lambda ফাংশনটি লগ ডেটা পাঠাতে পারে।
1. IAM রোল কনফিগার করা
Lambda ফাংশনের জন্য একটি IAM Role প্রয়োজন যা CloudWatch Logs এ ডেটা লিখতে পারবে। এই রোলটি Lambda ফাংশন তৈরি করার সময় তৈরি করা হয়, অথবা আপনি একটি বিদ্যমান রোল নির্বাচন করতে পারেন।
- IAM Role তৈরি করুন:
- AWS Management Console এ লগইন করুন।
- IAM সেকশনে যান এবং একটি নতুন Role তৈরি করুন।
- রোলের পলিসি হিসেবে
AWSLambdaBasicExecutionRoleনির্বাচন করুন, যা Lambda ফাংশনকে CloudWatch Logs এ লগ পাঠানোর অনুমতি দেয়। - এই রোলটি Lambda ফাংশনের সাথে যুক্ত করুন।
2. Lambda ফাংশনে লোগিং কনফিগারেশন
Lambda ফাংশন তৈরি বা সম্পাদনা করুন:
- AWS Management Console এ গিয়ে Lambda ফাংশনটি নির্বাচন করুন অথবা নতুন একটি ফাংশন তৈরি করুন।
- ফাংশনের কোডে লোগিং অ্যাকশন যুক্ত করতে হবে। উদাহরণস্বরূপ, আপনি
console.log()ব্যবহার করে Lambda ফাংশনে লোগ যুক্ত করতে পারেন।
Node.js উদাহরণ:
exports.handler = async (event) => { console.log("Lambda function started"); console.log("Received event: " + JSON.stringify(event)); // আপনার কোড console.log("Lambda function ended"); };CloudWatch Logs Group এবং Logs Stream অটোমেটিক কনফিগারেশন:
- Lambda ফাংশন চালানোর সময় AWS নিজেই একটি Logs Group এবং Logs Stream তৈরি করে, যেখানে আপনার লগ সংরক্ষণ করা হয়।
- লগের গোষ্ঠী এবং স্ট্রিমের নাম সাধারণত
/aws/lambda/<LambdaFunctionName>ফরম্যাটে থাকে।
উদাহরণ:
- Logs Group:
/aws/lambda/MyLambdaFunction - Logs Stream:
2024/12/06/[$LATEST]abcdefgh1234567890
3. CloudWatch Logs তে লগ দেখুন
Lambda ফাংশনটির লগ CloudWatch Logs এ দেখা যাবে। আপনি এখানে লোগগুলি পরীক্ষা করে দেখতে পারবেন, যেমন:
- CloudWatch Console তে যান:
- AWS Management Console থেকে CloudWatch সেকশন নির্বাচন করুন।
- Logs অপশনে ক্লিক করুন।
- Logs Group খুঁজে বের করুন:
/aws/lambda/<LambdaFunctionName>নামে একটি Logs Group থাকবে।
- Logs Stream নির্বাচন করুন:
- এখানে প্রতিটি Lambda ফাংশন চালানোর জন্য আলাদা Logs Stream থাকবে। আপনি সেই স্ট্রিমটি নির্বাচন করলে লগটি দেখতে পারবেন।
4. Lambda ফাংশন থেকে CloudWatch Logs এর মাধ্যমে আউটপুট ট্র্যাক করা
Lambda ফাংশনের আউটপুট এবং লোগগুলি ট্র্যাক করা খুবই গুরুত্বপূর্ণ, বিশেষ করে যখন আপনি প্রোটোটাইপ বা API ইন্টিগ্রেশন পরীক্ষা করছেন। Logs Group এবং Logs Stream এর মাধ্যমে আপনি Lambda ফাংশনের প্রতি রিকোয়েস্টের লগ দেখতে পারেন।
উদাহরণ: Logs Group এবং Logs Stream
Logs Group:
/aws/lambda/MyLambdaFunction
Logs Stream:
2024/12/06/[$LATEST]abcdefgh1234567890
Log Entry Example:
2024-12-06T14:30:00.000Z abcdefgh1234567890 Lambda function started
2024-12-06T14:30:05.000Z abcdefgh1234567890 Received event: {"key": "value"}
2024-12-06T14:30:10.000Z abcdefgh1234567890 Lambda function ended
5. Lambda Logs ব্যবহার করে ডিবাগিং
Error Logs: Lambda ফাংশনের মধ্যে যদি কোনো ত্রুটি থাকে, তাহলে তা Error Logs হিসেবে CloudWatch Logs-এ দেখা যাবে। আপনি
console.error()ব্যবহার করে ত্রুটি লগ করতে পারেন।Node.js ত্রুটি লগ উদাহরণ:
exports.handler = async (event) => { try { // আপনার কোড } catch (error) { console.error("Error occurred:", error); throw error; } };- Performance Monitoring: Lambda ফাংশনের পারফরম্যান্স ট্র্যাক করতে, আপনি CloudWatch Metrics এবং CloudWatch Alarms ব্যবহার করতে পারেন।
সারাংশ
AWS Lambda ফাংশনগুলির লগিং কনফিগারেশন CloudWatch Logs এর মাধ্যমে করা হয়, যেখানে Logs Group এবং Logs Stream ব্যবহার করা হয়। Lambda ফাংশনের কার্যক্রম এবং আউটপুট ট্র্যাক করতে আপনি console.log() বা console.error() ব্যবহার করে লোগগুলি CloudWatch Logs-এ দেখতে পারেন। এই লোগগুলি ডিবাগিং এবং পারফরম্যান্স মনিটরিং এর জন্য অত্যন্ত গুরুত্বপূর্ণ। Lambda ফাংশন চালানোর সময় AWS নিজে থেকেই Logs Group এবং Logs Stream তৈরি করে, যাতে আপনি সহজেই আপনার ফাংশনের আউটপুট পর্যবেক্ষণ করতে পারেন।
Read more