Expand description
You can use Amazon CloudWatch Logs to monitor, store, and access your log files from EC2 instances, AWS CloudTrail, and other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.
You can use CloudWatch Logs to:
-
Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring so no code changes are required. For example, you can monitor application logs for specific literal terms (such as "NullReferenceException") or count the number of occurrences of a literal term at a particular position in log data (such as "404" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify.
-
Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail. You can use the notification to perform troubleshooting.
-
Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.
If you’re using the service, you’re probably looking for CloudWatchLogsClient and CloudWatchLogs.
§Examples
§Put Log Events
The following code shows a simple example of using Rusoto’s CloudWatchLogs API to send a single log event to the ‘testing’ log stream in the ‘testing’ log group.
use chrono::Utc;
use rusoto_core::Region;
use rusoto_logs::{
CloudWatchLogs, CloudWatchLogsClient, DescribeLogStreamsRequest, InputLogEvent,
PutLogEventsRequest,
};
use std::default::Default;
#[tokio::main]
async fn main() {
const LOG_GROUP_NAME: &str = "testing";
const LOG_STREAM_NAME: &str = "testing";
let client = CloudWatchLogsClient::new(Region::UsEast2);
let input_log_event = InputLogEvent {
message: "Test log message".to_string(),
timestamp: Utc::now().timestamp_millis(), // milliseconds epoch
};
// We need the log stream to get the sequence token
let mut desc_streams_req: DescribeLogStreamsRequest = Default::default();
desc_streams_req.log_group_name = LOG_GROUP_NAME.to_string();
let streams_resp = client.describe_log_streams(desc_streams_req).await;
let log_streams = streams_resp.unwrap().log_streams.unwrap();
let stream = &log_streams
.iter()
.find(|s| s.log_stream_name == Some(LOG_STREAM_NAME.to_string()))
.unwrap();
let sequence_token = stream.upload_sequence_token.clone();
let put_log_events_request = PutLogEventsRequest {
log_events: vec![input_log_event], // > 1 must sort by timestamp ASC
log_group_name: LOG_GROUP_NAME.to_string(),
log_stream_name: LOG_STREAM_NAME.to_string(),
sequence_token,
};
let resp = client.put_log_events(put_log_events_request).await;
println!("{:#?}", resp);
}
Structs§
- Associate
KmsKey Request - Cancel
Export Task Request - Cloud
Watch Logs Client - A client for the Amazon CloudWatch Logs API.
- Create
Export Task Request - Create
Export Task Response - Create
LogGroup Request - Create
LogStream Request - Delete
Destination Request - Delete
LogGroup Request - Delete
LogStream Request - Delete
Metric Filter Request - Delete
Query Definition Request - Delete
Query Definition Response - Delete
Resource Policy Request - Delete
Retention Policy Request - Delete
Subscription Filter Request - Describe
Destinations Request - Describe
Destinations Response - Describe
Export Tasks Request - Describe
Export Tasks Response - Describe
LogGroups Request - Describe
LogGroups Response - Describe
LogStreams Request - Describe
LogStreams Response - Describe
Metric Filters Request - Describe
Metric Filters Response - Describe
Queries Request - Describe
Queries Response - Describe
Query Definitions Request - Describe
Query Definitions Response - Describe
Resource Policies Request - Describe
Resource Policies Response - Describe
Subscription Filters Request - Describe
Subscription Filters Response - Destination
Represents a cross-account destination that receives subscription log events.
- Disassociate
KmsKey Request - Export
Task Represents an export task.
- Export
Task Execution Info Represents the status of an export task.
- Export
Task Status Represents the status of an export task.
- Filter
LogEvents Request - Filter
LogEvents Response - Filtered
LogEvent Represents a matched event.
- GetLog
Events Request - GetLog
Events Response - GetLog
Group Fields Request - GetLog
Group Fields Response - GetLog
Record Request - GetLog
Record Response - GetQuery
Results Request - GetQuery
Results Response - Input
LogEvent Represents a log event, which is a record of activity that was recorded by the application or resource being monitored.
- List
Tags LogGroup Request - List
Tags LogGroup Response - LogGroup
Represents a log group.
- LogGroup
Field The fields contained in log events found by a
GetLogGroupFields
operation, along with the percentage of queried log events in which each field appears.- LogStream
Represents a log stream, which is a sequence of log events from a single emitter of logs.
- Metric
Filter Metric filters express how CloudWatch Logs would extract metric observations from ingested log events and transform them into metric data in a CloudWatch metric.
- Metric
Filter Match Record Represents a matched event.
- Metric
Transformation Indicates how to transform ingested log events to metric data in a CloudWatch metric.
- Output
LogEvent Represents a log event.
- PutDestination
Policy Request - PutDestination
Request - PutDestination
Response - PutLog
Events Request - PutLog
Events Response - PutMetric
Filter Request - PutQuery
Definition Request - PutQuery
Definition Response - PutResource
Policy Request - PutResource
Policy Response - PutRetention
Policy Request - PutSubscription
Filter Request - Query
Compile Error Reserved.
- Query
Compile Error Location Reserved.
- Query
Definition This structure contains details about a saved CloudWatch Logs Insights query definition.
- Query
Info Information about one CloudWatch Logs Insights query that matches the request in a
DescribeQueries
operation.- Query
Statistics Contains the number of log events scanned by the query, the number of log events that matched the query criteria, and the total number of bytes in the log events that were scanned.
- Rejected
LogEvents Info Represents the rejected events.
- Resource
Policy A policy enabling one or more entities to put logs to a log group in this account.
- Result
Field Contains one field from one log event returned by a CloudWatch Logs Insights query, along with the value of that field.
For more information about the fields that are generated by CloudWatch logs, see Supported Logs and Discovered Fields.
- Searched
LogStream Represents the search status of a log stream.
- Start
Query Request - Start
Query Response - Stop
Query Request - Stop
Query Response - Subscription
Filter Represents a subscription filter.
- TagLog
Group Request - Test
Metric Filter Request - Test
Metric Filter Response - Untag
LogGroup Request
Enums§
- Associate
KmsKey Error - Errors returned by AssociateKmsKey
- Cancel
Export Task Error - Errors returned by CancelExportTask
- Create
Export Task Error - Errors returned by CreateExportTask
- Create
LogGroup Error - Errors returned by CreateLogGroup
- Create
LogStream Error - Errors returned by CreateLogStream
- Delete
Destination Error - Errors returned by DeleteDestination
- Delete
LogGroup Error - Errors returned by DeleteLogGroup
- Delete
LogStream Error - Errors returned by DeleteLogStream
- Delete
Metric Filter Error - Errors returned by DeleteMetricFilter
- Delete
Query Definition Error - Errors returned by DeleteQueryDefinition
- Delete
Resource Policy Error - Errors returned by DeleteResourcePolicy
- Delete
Retention Policy Error - Errors returned by DeleteRetentionPolicy
- Delete
Subscription Filter Error - Errors returned by DeleteSubscriptionFilter
- Describe
Destinations Error - Errors returned by DescribeDestinations
- Describe
Export Tasks Error - Errors returned by DescribeExportTasks
- Describe
LogGroups Error - Errors returned by DescribeLogGroups
- Describe
LogStreams Error - Errors returned by DescribeLogStreams
- Describe
Metric Filters Error - Errors returned by DescribeMetricFilters
- Describe
Queries Error - Errors returned by DescribeQueries
- Describe
Query Definitions Error - Errors returned by DescribeQueryDefinitions
- Describe
Resource Policies Error - Errors returned by DescribeResourcePolicies
- Describe
Subscription Filters Error - Errors returned by DescribeSubscriptionFilters
- Disassociate
KmsKey Error - Errors returned by DisassociateKmsKey
- Filter
LogEvents Error - Errors returned by FilterLogEvents
- GetLog
Events Error - Errors returned by GetLogEvents
- GetLog
Group Fields Error - Errors returned by GetLogGroupFields
- GetLog
Record Error - Errors returned by GetLogRecord
- GetQuery
Results Error - Errors returned by GetQueryResults
- List
Tags LogGroup Error - Errors returned by ListTagsLogGroup
- PutDestination
Error - Errors returned by PutDestination
- PutDestination
Policy Error - Errors returned by PutDestinationPolicy
- PutLog
Events Error - Errors returned by PutLogEvents
- PutMetric
Filter Error - Errors returned by PutMetricFilter
- PutQuery
Definition Error - Errors returned by PutQueryDefinition
- PutResource
Policy Error - Errors returned by PutResourcePolicy
- PutRetention
Policy Error - Errors returned by PutRetentionPolicy
- PutSubscription
Filter Error - Errors returned by PutSubscriptionFilter
- Start
Query Error - Errors returned by StartQuery
- Stop
Query Error - Errors returned by StopQuery
- TagLog
Group Error - Errors returned by TagLogGroup
- Test
Metric Filter Error - Errors returned by TestMetricFilter
- Untag
LogGroup Error - Errors returned by UntagLogGroup
Traits§
- Cloud
Watch Logs - Trait representing the capabilities of the Amazon CloudWatch Logs API. Amazon CloudWatch Logs clients implement this trait.