Documentation
¶
Index ¶
- func AddPerVerbRequestCount(perVerbRequestCount map[string]*RequestCounts, auditEvent *auditv1.Event)
- func AddSummaryPerVerbRequestCount(lhs, rhs map[string]*RequestCounts)
- func CheckForExcessiveApplies() *excessiveApplies
- func CheckForInvalidMutations() *invalidRequests
- func CheckForLatency() *auditLatencyRecords
- func CheckForRequestsDuringShutdown() *lateRequestTracking
- func CheckForViolations() *auditViolations
- func CountsOverTime(estimatedStartOfCluster metav1.Time) *countTracking
- func GetKubeAuditLogSummary(ctx context.Context, kubeClient kubernetes.Interface, ...) error
- func NewAuditLogAnalyzer(info monitortestframework.MonitorTestInitializationInfo) monitortestframework.MonitorTest
- func NewAuditLogSummarizer() *summarizer
- func NewWatchCountTracking() *watchCountTracking
- func URIToParts(uri string) (string, schema.GroupVersionResource, string, string)
- func WriteAuditLogSummary(artifactDir, timeSuffix string, auditLogSummary *AuditLogSummary) error
- type AuditEventHandler
- type AuditLogSummary
- type CountForSecond
- type CountsForRun
- func (c *CountsForRun) LastSecondWithData() int
- func (c *CountsForRun) SubsetDataAtTime(endTime metav1.Time) *CountsForRun
- func (c *CountsForRun) ToCSV() ([]byte, error)
- func (c *CountsForRun) ToLineChart() (*plot.Plot, error)
- func (c *CountsForRun) TruncateDataAfterLastValue()
- func (c *CountsForRun) WriteContentToStorage(storageDir, name, timeSuffix string) error
- type OperatorKey
- type PerHTTPStatusRequestCount
- type PerResourceRequestCount
- type PerUserRequestCount
- type RequestCount
- type RequestCounts
- type RequestCountsWithVerbs
- type SerializedAuditLogSummary
- type SerializedPerHTTPStatusCount
- type SerializedPerHTTPStatusRequestCount
- type SerializedPerResourceCountOnly
- type SerializedPerResourceCountWithVerbs
- type SerializedPerResourceRequestCount
- type SerializedPerUserCountOnly
- type SerializedPerUserRequestCount
- type SerializedPerUserRequestCountWithVerbs
- type SerializedPerVerbCountOnly
- type SerializedRequestCounts
- type SerializedRequestCountsWithVerbs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddPerVerbRequestCount ¶
func AddPerVerbRequestCount(perVerbRequestCount map[string]*RequestCounts, auditEvent *auditv1.Event)
func AddSummaryPerVerbRequestCount ¶
func AddSummaryPerVerbRequestCount(lhs, rhs map[string]*RequestCounts)
func CheckForExcessiveApplies ¶
func CheckForExcessiveApplies() *excessiveApplies
func CheckForInvalidMutations ¶
func CheckForInvalidMutations() *invalidRequests
func CheckForLatency ¶
func CheckForLatency() *auditLatencyRecords
func CheckForRequestsDuringShutdown ¶
func CheckForRequestsDuringShutdown() *lateRequestTracking
func CheckForViolations ¶
func CheckForViolations() *auditViolations
func CountsOverTime ¶
func GetKubeAuditLogSummary ¶
func GetKubeAuditLogSummary(ctx context.Context, kubeClient kubernetes.Interface, beginning, end *time.Time, auditLogHandlers []AuditEventHandler) error
func NewAuditLogAnalyzer ¶
func NewAuditLogAnalyzer(info monitortestframework.MonitorTestInitializationInfo) monitortestframework.MonitorTest
func NewAuditLogSummarizer ¶
func NewAuditLogSummarizer() *summarizer
func NewWatchCountTracking ¶
func NewWatchCountTracking() *watchCountTracking
func URIToParts ¶
func WriteAuditLogSummary ¶
func WriteAuditLogSummary(artifactDir, timeSuffix string, auditLogSummary *AuditLogSummary) error
Types ¶
type AuditEventHandler ¶
type AuditLogSummary ¶
type AuditLogSummary struct {
// contains filtered or unexported fields
}
every audit log summarizer is not threadsafe. The idea is that you use one per thread and later combine the summarizers together into an overall summary
func NewAuditLogSummary ¶
func NewAuditLogSummary() *AuditLogSummary
func (*AuditLogSummary) Add ¶
func (s *AuditLogSummary) Add(auditEvent *auditv1.Event, auditEventInfo auditEventInfo)
func (*AuditLogSummary) AddSummary ¶
func (s *AuditLogSummary) AddSummary(rhs *AuditLogSummary)
type CountForSecond ¶
type CountForSecond struct {
// NumberOfConcurrentRequestsBeingHandled is the sum of requests that were ongoing (minus watches I think, I'm not sure).
// That includes
// 1. requests that were started before this second and not completed until during or after this second
// 2. requests that were started this second
NumberOfConcurrentRequestsBeingHandled int
NumberOfRequestsReceived int
// NumberOfRequestsReceivedThatLaterGot500 is calculated based on when the request was received instead of completed
// because different requests have different timeouts, so it's more useful to categorize based on received time
NumberOfRequestsReceivedThatLaterGot500 int
}
type CountsForRun ¶
type CountsForRun struct {
NumberOfSeconds int
// CountsForEachSecond is a count for every second of a job run. Every index is one second long and the count starts
// with the creation time of the ClusterVersion resource.
CountsForEachSecond []CountForSecond
EstimatedStartOfCluster metav1.Time
LastAcceptedTime metav1.Time
}
func (*CountsForRun) LastSecondWithData ¶
func (c *CountsForRun) LastSecondWithData() int
func (*CountsForRun) SubsetDataAtTime ¶
func (c *CountsForRun) SubsetDataAtTime(endTime metav1.Time) *CountsForRun
func (*CountsForRun) ToCSV ¶
func (c *CountsForRun) ToCSV() ([]byte, error)
func (*CountsForRun) ToLineChart ¶
func (c *CountsForRun) ToLineChart() (*plot.Plot, error)
func (*CountsForRun) TruncateDataAfterLastValue ¶
func (c *CountsForRun) TruncateDataAfterLastValue()
func (*CountsForRun) WriteContentToStorage ¶
func (c *CountsForRun) WriteContentToStorage(storageDir, name, timeSuffix string) error
type OperatorKey ¶
type PerHTTPStatusRequestCount ¶
type PerHTTPStatusRequestCount struct {
// contains filtered or unexported fields
}
func NewPerStatusRequestCount ¶
func NewPerStatusRequestCount(httpStatus int32) *PerHTTPStatusRequestCount
func (*PerHTTPStatusRequestCount) Add ¶
func (s *PerHTTPStatusRequestCount) Add(auditEvent *auditv1.Event, auditEventInfo auditEventInfo)
func (*PerHTTPStatusRequestCount) AddSummary ¶
func (s *PerHTTPStatusRequestCount) AddSummary(rhs *PerHTTPStatusRequestCount)
type PerResourceRequestCount ¶
type PerResourceRequestCount struct {
// contains filtered or unexported fields
}
func NewPerResourceRequestCount ¶
func NewPerResourceRequestCount(gvr schema.GroupVersionResource) *PerResourceRequestCount
func (*PerResourceRequestCount) Add ¶
func (s *PerResourceRequestCount) Add(auditEvent *auditv1.Event, auditEventInfo auditEventInfo)
func (*PerResourceRequestCount) AddSummary ¶
func (s *PerResourceRequestCount) AddSummary(rhs *PerResourceRequestCount)
type PerUserRequestCount ¶
type PerUserRequestCount struct {
// contains filtered or unexported fields
}
func NewPerUserRequestCount ¶
func NewPerUserRequestCount(user string) *PerUserRequestCount
func (*PerUserRequestCount) Add ¶
func (s *PerUserRequestCount) Add(auditEvent *auditv1.Event, auditEventInfo auditEventInfo)
func (*PerUserRequestCount) AddSummary ¶
func (s *PerUserRequestCount) AddSummary(rhs *PerUserRequestCount)
type RequestCount ¶
type RequestCounts ¶
type RequestCounts struct {
// contains filtered or unexported fields
}
func NewRequestCounts ¶
func NewRequestCounts() *RequestCounts
func (*RequestCounts) Add ¶
func (s *RequestCounts) Add(auditEvent *auditv1.Event)
func (*RequestCounts) AddSummary ¶
func (s *RequestCounts) AddSummary(rhs *RequestCounts)
type RequestCountsWithVerbs ¶
type RequestCountsWithVerbs struct {
// contains filtered or unexported fields
}
func NewRequestCountsWithVerbs ¶
func NewRequestCountsWithVerbs() *RequestCountsWithVerbs
func (*RequestCountsWithVerbs) Add ¶
func (s *RequestCountsWithVerbs) Add(auditEvent *auditv1.Event)
func (*RequestCountsWithVerbs) AddSummary ¶
func (s *RequestCountsWithVerbs) AddSummary(rhs *RequestCountsWithVerbs)
type SerializedAuditLogSummary ¶
type SerializedAuditLogSummary struct {
LineReadFailureCount int
RequestCounts SerializedRequestCounts
PerUserRequestCount []SerializedPerUserRequestCountWithVerbs
PerResourceRequestCount []SerializedPerResourceRequestCount
PerHTTPStatusRequestCount []SerializedPerHTTPStatusRequestCount
}
func NewSerializedAuditLogSummary ¶
func NewSerializedAuditLogSummary(summary AuditLogSummary) SerializedAuditLogSummary
type SerializedPerHTTPStatusRequestCount ¶
type SerializedPerHTTPStatusRequestCount struct {
HTTPStatus int32
RequestCounts SerializedRequestCounts
PerResourceRequestCount []SerializedPerResourceCountOnly
PerUserRequestCount []SerializedPerUserCountOnly
}
func NewSerializedPerStatusRequestCount ¶
func NewSerializedPerStatusRequestCount(summary PerHTTPStatusRequestCount) SerializedPerHTTPStatusRequestCount
type SerializedPerResourceCountOnly ¶
type SerializedPerResourceCountOnly struct {
GroupVersionResource schema.GroupVersionResource
RequestCounts SerializedRequestCounts
}
func NewSerializedPerResourceCountOnly ¶
func NewSerializedPerResourceCountOnly(gvr schema.GroupVersionResource, count RequestCounts) SerializedPerResourceCountOnly
type SerializedPerResourceCountWithVerbs ¶
type SerializedPerResourceCountWithVerbs struct {
GroupVersionResource schema.GroupVersionResource
RequestCounts SerializedRequestCountsWithVerbs
}
func NewSerializedPerResourceCountWithVerbs ¶
func NewSerializedPerResourceCountWithVerbs(gvr schema.GroupVersionResource, count RequestCountsWithVerbs) SerializedPerResourceCountWithVerbs
type SerializedPerResourceRequestCount ¶
type SerializedPerResourceRequestCount struct {
GroupVersionResource schema.GroupVersionResource
RequestCounts SerializedRequestCounts
PerUserRequestCount []SerializedPerUserCountOnly
PerVerbRequestCount []SerializedPerVerbCountOnly
}
func NewSerializedPerResourceRequestCount ¶
func NewSerializedPerResourceRequestCount(summary PerResourceRequestCount) SerializedPerResourceRequestCount
type SerializedPerUserCountOnly ¶
type SerializedPerUserCountOnly struct {
User string
RequestCounts SerializedRequestCounts
}
func NewSerializedPerUserCountOnly ¶
func NewSerializedPerUserCountOnly(user string, count RequestCounts) SerializedPerUserCountOnly
type SerializedPerUserRequestCount ¶
type SerializedPerUserRequestCount struct {
User string
RequestCounts SerializedRequestCounts
PerResourceRequestCount []SerializedPerResourceCountOnly
PerVerbRequestCount []SerializedPerVerbCountOnly
}
type SerializedPerUserRequestCountWithVerbs ¶
type SerializedPerUserRequestCountWithVerbs struct {
User string
RequestCounts SerializedRequestCounts
PerResourceRequestCount []SerializedPerResourceCountWithVerbs
PerVerbRequestCount []SerializedPerVerbCountOnly
}
func NewSerializedPerUserRequestCountWithVerbs ¶
func NewSerializedPerUserRequestCountWithVerbs(summary PerUserRequestCount) SerializedPerUserRequestCountWithVerbs
type SerializedPerVerbCountOnly ¶
type SerializedPerVerbCountOnly struct {
Verb string
RequestCounts SerializedRequestCounts
}
func NewSerializedPerVerbCountOnly ¶
func NewSerializedPerVerbCountOnly(verb string, count RequestCounts) SerializedPerVerbCountOnly
type SerializedRequestCounts ¶
type SerializedRequestCounts struct {
RequestStartedCount int
RequestFinishedCount int
ClientFailedRequestCount int
ServerFailedRequestCount int
PerHTTPStatusRequestCount []SerializedPerHTTPStatusCount
}
func NewSerializedRequestCounts ¶
func NewSerializedRequestCounts(summary RequestCounts) SerializedRequestCounts
type SerializedRequestCountsWithVerbs ¶
type SerializedRequestCountsWithVerbs struct {
SerializedRequestCounts SerializedRequestCounts `json:",inline"`
PerVerbRequestCount []SerializedPerVerbCountOnly
}
func NewSerializedRequestCountsWithVerbs ¶
func NewSerializedRequestCountsWithVerbs(summary RequestCountsWithVerbs) SerializedRequestCountsWithVerbs
Source Files
¶
- audit_log_summarizer.go
- audit_log_summary_serialization.go
- handle_audit_latency.go
- handle_audit_violation.go
- handle_count_tracking.go
- handle_excessive_applies.go
- handle_invalid_requests.go
- handle_operator_watch_count_tracking.go
- handle_requests_during_graceful_shutdown.go
- handle_summarizer.go
- monitortest.go
- node_log.go
Click to show internal directories.
Click to hide internal directories.