Logi i metryki CloudWatch
Wykorzystaj Amazon CloudWatch do zbierania, monitorowania i analizowania logów oraz metryk wydajności funkcji Lambda i innych usług AWS.
Logi i metryki CloudWatch to bezpłatna lekcja Serverless AWS Lambda Development na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Serverless AWS Lambda Development, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Serverless AWS Lambda Development zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Your Serverless Watchdog: CloudWatch
Welcome! In this lesson, we'll dive into Amazon CloudWatch, AWS's powerful monitoring and observability service. It's your eyes and ears for understanding what's happening with your AWS resources and applications.
For serverless applications built with AWS Lambda, CloudWatch is absolutely essential to ensure everything runs smoothly.
Why Monitoring Matters for Lambda
Lambda functions execute quickly and often, sometimes hundreds or thousands of times per second. Without proper visibility, it's incredibly hard to know if they're working correctly or encountering issues.
CloudWatch helps you:
- Monitor function health and performance.
- Debug errors efficiently when things go wrong.
- Optimize resource usage and control costs.
Diving into CloudWatch Logs
The first key component is CloudWatch Logs. This is where all your Lambda function's text-based output, runtime messages, and errors are stored. Think of it as a centralized place for all your application's 'print statements' and system messages.
Every time your Lambda function runs, it generates logs. These logs are automatically sent to CloudWatch Logs.
Lambda's Automatic Logging
The great news is you don't need to configure anything special for basic logging. When your Lambda function executes, anything printed to standard output (like console.log in Node.js or print() in Python) is automatically captured.
These captured messages, along with execution details (like start/end times and billing info), are then pushed to CloudWatch Logs without any extra setup from you.
Organizing Your Logs: Groups & Streams
CloudWatch Logs organizes logs into two main concepts:
- Log Group: A container for log streams that share the same retention, monitoring, and access control settings. Each Lambda function typically gets its own Log Group (e.g.,
/aws/lambda/your-function-name). - Log Stream: A sequence of log events from a single source. Each invocation or concurrent execution of your Lambda function typically creates a new log stream within its log group.
Adding Logs in Your Lambda Code
You can add custom log messages to your Lambda function code. This helps you trace execution flow, understand data, and debug issues. Here's a simple Python example using the standard logging module:
import json
import logging
# Configure logging for the Lambda function
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def lambda_handler(event, context):
logger.info("Lambda function started processing event.")
logger.info(f"Received event: {json.dumps(event)}")
message = "Hello from CoddyKit Lambda!"
logger.info(f"Preparing response: {message}")
return {
'statusCode': 200,
'body': json.dumps(message)
}
# Example of how you might test this locally
if __name__ == "__main__":
# Simulate a simple event object
test_event = {"action": "greet", "name": "Learner"}
# The 'context' object is usually provided by Lambda, we can mock it or pass None for basic tests.
result = lambda_handler(test_event, None)
print("--- Lambda Handler Output (Local Test) ---")
print(result)Introducing CloudWatch Metrics
While logs tell you what happened in detail, CloudWatch Metrics tell you how well your functions are performing. Metrics are time-ordered sets of numerical data points that represent a specific measurement.
AWS automatically collects metrics for your Lambda functions, giving you high-level insights into their operational health and performance trends.
Essential Lambda Performance Metrics
Some crucial metrics that CloudWatch automatically collects for your Lambda functions include:
- Invocations: The total number of times your function was triggered.
- Errors: The number of times your function failed during execution.
- Duration: The execution time of your function, measured in milliseconds.
- Throttles: The number of times your function invocations were limited due to concurrency limits.
Monitoring these helps you quickly identify performance bottlenecks or potential issues.
Visualizing Metrics in the Console
You can view these performance metrics as interactive graphs in the CloudWatch console. Simply navigate to the 'Metrics' section, then select 'Lambda', and choose the desired metric for your specific function.
This visual representation makes it easy to spot trends, sudden spikes, or drops in performance, allowing you to react quickly to operational changes and optimize your functions.
Quick Check: Logs vs. Metrics
Let's test your understanding of CloudWatch Logs and Metrics for AWS Lambda.
Recap: CloudWatch for Serverless Insight
We've explored how Amazon CloudWatch is your go-to service for monitoring AWS Lambda functions. You learned about:
- CloudWatch Logs: For collecting, storing, and analyzing detailed runtime messages and custom outputs from your functions.
- CloudWatch Metrics: For tracking key performance indicators like invocations, errors, duration, and throttles.
Together, logs and metrics provide a comprehensive picture of your serverless application's health and performance, empowering you to debug and optimize effectively.
Często zadawane pytania
Czy lekcja „Logi i metryki CloudWatch” jest bezpłatna?
Tak — pełny tekst „Logi i metryki CloudWatch” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Serverless AWS Lambda Development, przejdź na CoddyKit PRO. Kurs Serverless AWS Lambda Development zawiera 4 lekcji w sumie.
Co nauczysz się w „Logi i metryki CloudWatch”?
Wykorzystaj Amazon CloudWatch do zbierania, monitorowania i analizowania logów oraz metryk wydajności funkcji Lambda i innych usług AWS. Ćwiczysz Serverless AWS Lambda Development z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Serverless AWS Lambda Development?
Nie wymagamy żadnego doświadczenia. Serverless AWS Lambda Development w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Logi i metryki CloudWatch”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Serverless AWS Lambda Development?
Tak. Każda lekcja Serverless AWS Lambda Development zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Logi i metryki CloudWatch
- Obsługa błędów i ponowienia
- Debugowanie aplikacji serverless
- Niestandardowe metryki i alarmy CloudWatch