Crate rusoto_logs

Source
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§

AssociateKmsKeyRequest
CancelExportTaskRequest
CloudWatchLogsClient
A client for the Amazon CloudWatch Logs API.
CreateExportTaskRequest
CreateExportTaskResponse
CreateLogGroupRequest
CreateLogStreamRequest
DeleteDestinationRequest
DeleteLogGroupRequest
DeleteLogStreamRequest
DeleteMetricFilterRequest
DeleteQueryDefinitionRequest
DeleteQueryDefinitionResponse
DeleteResourcePolicyRequest
DeleteRetentionPolicyRequest
DeleteSubscriptionFilterRequest
DescribeDestinationsRequest
DescribeDestinationsResponse
DescribeExportTasksRequest
DescribeExportTasksResponse
DescribeLogGroupsRequest
DescribeLogGroupsResponse
DescribeLogStreamsRequest
DescribeLogStreamsResponse
DescribeMetricFiltersRequest
DescribeMetricFiltersResponse
DescribeQueriesRequest
DescribeQueriesResponse
DescribeQueryDefinitionsRequest
DescribeQueryDefinitionsResponse
DescribeResourcePoliciesRequest
DescribeResourcePoliciesResponse
DescribeSubscriptionFiltersRequest
DescribeSubscriptionFiltersResponse
Destination

Represents a cross-account destination that receives subscription log events.

DisassociateKmsKeyRequest
ExportTask

Represents an export task.

ExportTaskExecutionInfo

Represents the status of an export task.

ExportTaskStatus

Represents the status of an export task.

FilterLogEventsRequest
FilterLogEventsResponse
FilteredLogEvent

Represents a matched event.

GetLogEventsRequest
GetLogEventsResponse
GetLogGroupFieldsRequest
GetLogGroupFieldsResponse
GetLogRecordRequest
GetLogRecordResponse
GetQueryResultsRequest
GetQueryResultsResponse
InputLogEvent

Represents a log event, which is a record of activity that was recorded by the application or resource being monitored.

ListTagsLogGroupRequest
ListTagsLogGroupResponse
LogGroup

Represents a log group.

LogGroupField

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.

MetricFilter

Metric filters express how CloudWatch Logs would extract metric observations from ingested log events and transform them into metric data in a CloudWatch metric.

MetricFilterMatchRecord

Represents a matched event.

MetricTransformation

Indicates how to transform ingested log events to metric data in a CloudWatch metric.

OutputLogEvent

Represents a log event.

PutDestinationPolicyRequest
PutDestinationRequest
PutDestinationResponse
PutLogEventsRequest
PutLogEventsResponse
PutMetricFilterRequest
PutQueryDefinitionRequest
PutQueryDefinitionResponse
PutResourcePolicyRequest
PutResourcePolicyResponse
PutRetentionPolicyRequest
PutSubscriptionFilterRequest
QueryCompileError

Reserved.

QueryCompileErrorLocation

Reserved.

QueryDefinition

This structure contains details about a saved CloudWatch Logs Insights query definition.

QueryInfo

Information about one CloudWatch Logs Insights query that matches the request in a DescribeQueries operation.

QueryStatistics

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.

RejectedLogEventsInfo

Represents the rejected events.

ResourcePolicy

A policy enabling one or more entities to put logs to a log group in this account.

ResultField

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.

SearchedLogStream

Represents the search status of a log stream.

StartQueryRequest
StartQueryResponse
StopQueryRequest
StopQueryResponse
SubscriptionFilter

Represents a subscription filter.

TagLogGroupRequest
TestMetricFilterRequest
TestMetricFilterResponse
UntagLogGroupRequest

Enums§

AssociateKmsKeyError
Errors returned by AssociateKmsKey
CancelExportTaskError
Errors returned by CancelExportTask
CreateExportTaskError
Errors returned by CreateExportTask
CreateLogGroupError
Errors returned by CreateLogGroup
CreateLogStreamError
Errors returned by CreateLogStream
DeleteDestinationError
Errors returned by DeleteDestination
DeleteLogGroupError
Errors returned by DeleteLogGroup
DeleteLogStreamError
Errors returned by DeleteLogStream
DeleteMetricFilterError
Errors returned by DeleteMetricFilter
DeleteQueryDefinitionError
Errors returned by DeleteQueryDefinition
DeleteResourcePolicyError
Errors returned by DeleteResourcePolicy
DeleteRetentionPolicyError
Errors returned by DeleteRetentionPolicy
DeleteSubscriptionFilterError
Errors returned by DeleteSubscriptionFilter
DescribeDestinationsError
Errors returned by DescribeDestinations
DescribeExportTasksError
Errors returned by DescribeExportTasks
DescribeLogGroupsError
Errors returned by DescribeLogGroups
DescribeLogStreamsError
Errors returned by DescribeLogStreams
DescribeMetricFiltersError
Errors returned by DescribeMetricFilters
DescribeQueriesError
Errors returned by DescribeQueries
DescribeQueryDefinitionsError
Errors returned by DescribeQueryDefinitions
DescribeResourcePoliciesError
Errors returned by DescribeResourcePolicies
DescribeSubscriptionFiltersError
Errors returned by DescribeSubscriptionFilters
DisassociateKmsKeyError
Errors returned by DisassociateKmsKey
FilterLogEventsError
Errors returned by FilterLogEvents
GetLogEventsError
Errors returned by GetLogEvents
GetLogGroupFieldsError
Errors returned by GetLogGroupFields
GetLogRecordError
Errors returned by GetLogRecord
GetQueryResultsError
Errors returned by GetQueryResults
ListTagsLogGroupError
Errors returned by ListTagsLogGroup
PutDestinationError
Errors returned by PutDestination
PutDestinationPolicyError
Errors returned by PutDestinationPolicy
PutLogEventsError
Errors returned by PutLogEvents
PutMetricFilterError
Errors returned by PutMetricFilter
PutQueryDefinitionError
Errors returned by PutQueryDefinition
PutResourcePolicyError
Errors returned by PutResourcePolicy
PutRetentionPolicyError
Errors returned by PutRetentionPolicy
PutSubscriptionFilterError
Errors returned by PutSubscriptionFilter
StartQueryError
Errors returned by StartQuery
StopQueryError
Errors returned by StopQuery
TagLogGroupError
Errors returned by TagLogGroup
TestMetricFilterError
Errors returned by TestMetricFilter
UntagLogGroupError
Errors returned by UntagLogGroup

Traits§

CloudWatchLogs
Trait representing the capabilities of the Amazon CloudWatch Logs API. Amazon CloudWatch Logs clients implement this trait.