cloudwatchlogs

package
v0.2.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2020 License: MIT Imports: 11 Imported by: 0

README

aws-sdk-go-v2-wrapper | Cloudwatch Logs

Quick Usage

import (
	"context"
	"encoding/json"
	"strings"

	"github.com/evalphobia/aws-sdk-go-v2-wrapper/cloudwatchlogs"
	"github.com/evalphobia/aws-sdk-go-v2-wrapper/config"
)

func main() {
	svc, err := cloudwatchlogs.New(config.Config{
		AccessKey: "<...>",
		SecretKey: "<...>",
	})
	if err != nil {
		panic(err)
	}
	ctx := context.Background()

	filterValues := []string{
		`fields @timestamp, @message, level`,
		`| filter level = "error"`,
		`| sort @timestamp asc`,
		`| limit 20`,
	}
	// fetch error level logs
	result, err := svc.XQueryResults(ctx, cloudwatchlogs.XQueryResultsRequest{
		LogGroupName: "/aws/lambda/my-lambda-func",
		QueryString:  strings.Join(filterValues, " "),
		StartTime:    time.Now().Add(-1 * 5 * time.Minute), // past 5 mins
		EndTime:      time.Now(),
	})
	switch {
	case err != nil:
		panic(err)
	case len(result.Results) == 0:
		fmt.Printf("No errors are detected.")
	default:
		byt, _ := json.Marshal(res.Results)
		fmt.Printf("Error Hits:[%d], Error Data:[%s]", len(res.Results), string(byt))
	}
	// ...
}

X API

Name Description
XQueryResults executes a query and waits for fetching complete results.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CloudwatchLogs

type CloudwatchLogs struct {
	// contains filtered or unexported fields
}

CloudwatchLogs has CloudwatchLogs client.

func New

func New(conf config.Config) (*CloudwatchLogs, error)

New returns initialized *CloudwatchLogs.

func (*CloudwatchLogs) Errorf

func (svc *CloudwatchLogs) Errorf(format string, v ...interface{})

Errorf logging error information.

func (*CloudwatchLogs) GetClient

func (svc *CloudwatchLogs) GetClient() *SDK.Client

GetClient gets original SDK client.

func (*CloudwatchLogs) GetQueryResults

GetQueryResults executes `GetQueryResults` operation.

func (*CloudwatchLogs) Infof

func (svc *CloudwatchLogs) Infof(format string, v ...interface{})

Infof logging information.

func (*CloudwatchLogs) RawAssociateKmsKey

RawAssociateKmsKey executes `AssociateKmsKey` raw operation.

func (*CloudwatchLogs) RawCancelExportTask

RawCancelExportTask executes `CancelExportTask` raw operation.

func (*CloudwatchLogs) RawCreateExportTask

RawCreateExportTask executes `CreateExportTask` raw operation.

func (*CloudwatchLogs) RawCreateLogGroup

RawCreateLogGroup executes `CreateLogGroup` raw operation.

func (*CloudwatchLogs) RawCreateLogStream

RawCreateLogStream executes `CreateLogStream` raw operation.

func (*CloudwatchLogs) RawDeleteDestination

RawDeleteDestination executes `DeleteDestination` raw operation.

func (*CloudwatchLogs) RawDeleteLogGroup

RawDeleteLogGroup executes `DeleteLogGroup` raw operation.

func (*CloudwatchLogs) RawDeleteLogStream

RawDeleteLogStream executes `DeleteLogStream` raw operation.

func (*CloudwatchLogs) RawDeleteMetricFilter

RawDeleteMetricFilter executes `DeleteMetricFilter` raw operation.

func (*CloudwatchLogs) RawDeleteQueryDefinition

RawDeleteQueryDefinition executes `DeleteQueryDefinition` raw operation.

func (*CloudwatchLogs) RawDeleteResourcePolicy

RawDeleteResourcePolicy executes `DeleteResourcePolicy` raw operation.

func (*CloudwatchLogs) RawDeleteRetentionPolicy

RawDeleteRetentionPolicy executes `DeleteRetentionPolicy` raw operation.

func (*CloudwatchLogs) RawDeleteSubscriptionFilter

RawDeleteSubscriptionFilter executes `DeleteSubscriptionFilter` raw operation.

func (*CloudwatchLogs) RawDescribeDestinations

RawDescribeDestinations executes `DescribeDestinations` raw operation.

func (*CloudwatchLogs) RawDescribeExportTasks

RawDescribeExportTasks executes `DescribeExportTasks` raw operation.

func (*CloudwatchLogs) RawDescribeLogGroups

RawDescribeLogGroups executes `DescribeLogGroups` raw operation.

func (*CloudwatchLogs) RawDescribeLogStreams

RawDescribeLogStreams executes `DescribeLogStreams` raw operation.

func (*CloudwatchLogs) RawDescribeMetricFilters

RawDescribeMetricFilters executes `DescribeMetricFilters` raw operation.

func (*CloudwatchLogs) RawDescribeQueries

RawDescribeQueries executes `DescribeQueries` raw operation.

func (*CloudwatchLogs) RawDescribeQueryDefinitions

RawDescribeQueryDefinitions executes `DescribeQueryDefinitions` raw operation.

func (*CloudwatchLogs) RawDescribeResourcePolicies

RawDescribeResourcePolicies executes `DescribeResourcePolicies` raw operation.

func (*CloudwatchLogs) RawDescribeSubscriptionFilters

RawDescribeSubscriptionFilters executes `DescribeSubscriptionFilters` raw operation.

func (*CloudwatchLogs) RawDisassociateKmsKey

RawDisassociateKmsKey executes `DisassociateKmsKey` raw operation.

func (*CloudwatchLogs) RawFilterLogEvents

RawFilterLogEvents executes `FilterLogEvents` raw operation.

func (*CloudwatchLogs) RawGetLogEvents

func (svc *CloudwatchLogs) RawGetLogEvents(ctx context.Context, in *SDK.GetLogEventsInput) (*SDK.GetLogEventsResponse, error)

RawGetLogEvents executes `GetLogEvents` raw operation.

func (*CloudwatchLogs) RawGetLogGroupFields

RawGetLogGroupFields executes `GetLogGroupFields` raw operation.

func (*CloudwatchLogs) RawGetLogRecord

func (svc *CloudwatchLogs) RawGetLogRecord(ctx context.Context, in *SDK.GetLogRecordInput) (*SDK.GetLogRecordResponse, error)

RawGetLogRecord executes `GetLogRecord` raw operation.

func (*CloudwatchLogs) RawGetQueryResults

RawGetQueryResults executes `GetQueryResults` raw operation.

func (*CloudwatchLogs) RawListTagsLogGroup

RawListTagsLogGroup executes `ListTagsLogGroup` raw operation.

func (*CloudwatchLogs) RawPutDestination

RawPutDestination executes `PutDestination` raw operation.

func (*CloudwatchLogs) RawPutDestinationPolicy

RawPutDestinationPolicy executes `PutDestinationPolicy` raw operation.

func (*CloudwatchLogs) RawPutLogEvents

func (svc *CloudwatchLogs) RawPutLogEvents(ctx context.Context, in *SDK.PutLogEventsInput) (*SDK.PutLogEventsResponse, error)

RawPutLogEvents executes `PutLogEvents` raw operation.

func (*CloudwatchLogs) RawPutMetricFilter

RawPutMetricFilter executes `PutMetricFilter` raw operation.

func (*CloudwatchLogs) RawPutQueryDefinition

RawPutQueryDefinition executes `PutQueryDefinition` raw operation.

func (*CloudwatchLogs) RawPutResourcePolicy

RawPutResourcePolicy executes `PutResourcePolicy` raw operation.

func (*CloudwatchLogs) RawPutRetentionPolicy

RawPutRetentionPolicy executes `PutRetentionPolicy` raw operation.

func (*CloudwatchLogs) RawPutSubscriptionFilter

RawPutSubscriptionFilter executes `PutSubscriptionFilter` raw operation.

func (*CloudwatchLogs) RawStartQuery

func (svc *CloudwatchLogs) RawStartQuery(ctx context.Context, in *SDK.StartQueryInput) (*SDK.StartQueryResponse, error)

RawStartQuery executes `StartQuery` raw operation.

func (*CloudwatchLogs) RawStopQuery

func (svc *CloudwatchLogs) RawStopQuery(ctx context.Context, in *SDK.StopQueryInput) (*SDK.StopQueryResponse, error)

RawStopQuery executes `StopQuery` raw operation.

func (*CloudwatchLogs) RawTagLogGroup

func (svc *CloudwatchLogs) RawTagLogGroup(ctx context.Context, in *SDK.TagLogGroupInput) (*SDK.TagLogGroupResponse, error)

RawTagLogGroup executes `TagLogGroup` raw operation.

func (*CloudwatchLogs) RawTestMetricFilter

RawTestMetricFilter executes `TestMetricFilter` raw operation.

func (*CloudwatchLogs) RawUntagLogGroup

func (svc *CloudwatchLogs) RawUntagLogGroup(ctx context.Context, in *SDK.UntagLogGroupInput) (*SDK.UntagLogGroupResponse, error)

RawUntagLogGroup executes `UntagLogGroup` raw operation.

func (*CloudwatchLogs) SetLogger

func (svc *CloudwatchLogs) SetLogger(logger log.Logger)

SetLogger sets logger.

func (*CloudwatchLogs) StartQuery

StartQuery executes `StartQuery` operation.

func (*CloudwatchLogs) StopQuery

StopQuery executes `StopQuery` operation.

func (*CloudwatchLogs) XQueryResults

XQueryResults executes a query and waits for fetching complete results.

type GetQueryResultsRequest

type GetQueryResultsRequest struct {
	QueryID string
}

GetQueryResultsRequest has parameters for `GetQueryResults` operation.

func (GetQueryResultsRequest) ToInput

type GetQueryResultsResult

type GetQueryResultsResult struct {
	Results                  QueryResults
	StatisticsBytesScanned   float64
	StatisticsRecordsMatched float64
	StatisticsRecordsScanned float64
	Status                   QueryStatus
}

type QueryResults

type QueryResults struct {
	List [][]ResultField
}

QueryResults contains results of GetQueryREsults.

func NewQueryResults

func NewQueryResults(list [][]SDK.ResultField) QueryResults

func (QueryResults) FilterFieldContains

func (r QueryResults) FilterFieldContains(s string) [][]ResultField

FilterFieldContains filters the result whose field equals given string.

func (QueryResults) FilterFieldEqual

func (r QueryResults) FilterFieldEqual(s string) [][]ResultField

FilterFieldEqual filters the result whose field equals given string.

func (QueryResults) FilterValueContains

func (r QueryResults) FilterValueContains(s string) [][]ResultField

FilterValueContains filters the result whose value equals given string.

func (QueryResults) FilterValueEqual

func (r QueryResults) FilterValueEqual(s string) [][]ResultField

FilterValueEqual filters the result whose value equals given string.

type QueryStatus

type QueryStatus string

func (QueryStatus) IsCancelled

func (v QueryStatus) IsCancelled() bool

func (QueryStatus) IsComplete

func (v QueryStatus) IsComplete() bool

func (QueryStatus) IsFailed

func (v QueryStatus) IsFailed() bool

func (QueryStatus) IsRunning

func (v QueryStatus) IsRunning() bool

func (QueryStatus) IsScheduled

func (v QueryStatus) IsScheduled() bool

type ResultField

type ResultField struct {
	Field string
	Value string
}

func NewResultField

func NewResultField(o SDK.ResultField) ResultField

func NewResultFieldList

func NewResultFieldList(list []SDK.ResultField) []ResultField

type StartQueryRequest

type StartQueryRequest struct {
	QueryString  string
	StartTime    time.Time
	StartTimeInt int64
	EndTime      time.Time
	EndTimeInt   int64

	// optional
	Limit         int64
	LogGroupName  string
	LogGroupNames []string
}

StartQueryRequest has parameters for `StartQuery` operation.

func (StartQueryRequest) ToInput

func (r StartQueryRequest) ToInput() *SDK.StartQueryInput

type StartQueryResult

type StartQueryResult struct {
	QueryID string
}

func NewStartQueryResult

func NewStartQueryResult(o *SDK.StartQueryResponse) *StartQueryResult

type StopQueryRequest

type StopQueryRequest struct {
	QueryID string
}

StopQueryRequest has parameters for `StopQuery` operation.

func (StopQueryRequest) ToInput

func (r StopQueryRequest) ToInput() *SDK.StopQueryInput

type StopQueryResult

type StopQueryResult struct {
	Success bool
}

func NewStopQueryResult

func NewStopQueryResult(o *SDK.StopQueryResponse) *StopQueryResult

type XQueryResultsRequest

type XQueryResultsRequest struct {
	QueryString  string
	StartTime    time.Time
	StartTimeInt int64
	EndTime      time.Time
	EndTimeInt   int64

	// optional
	Limit         int64
	LogGroupName  string
	LogGroupNames []string

	// extension
	MaxRetry int         // default=5
	WaitFunc func(i int) // waiting strategy, default=exponential backoff with full jitter from 1sec
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL