k8sevent_impl

package
v0.59.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EventLogNEGDiscoveryTask = inspectiontaskbase.NewInspectionTask(
	k8sevent.NEGToBackendServiceDiscoveryTaskID,
	[]coretask.Dependency{k8sevent.ListLogEntriesTaskID.Ref()},
	func(ctx context.Context, taskMode inspectioncore.InspectionTaskModeType) (k8scommon.NEGToBackendServiceMap, error) {
		if taskMode != inspectioncore.TaskModeRun {
			return nil, nil
		}

		logs := coretask.GetTaskResult(ctx, k8sevent.ListLogEntriesTaskID.Ref())
		result := make(k8scommon.NEGToBackendServiceMap)

		for _, l := range logs {
			fs, err := k8sevent.ExtractKubernetesEvent(l.NodeReader)
			if err == nil {
				neg, bs := k8scommon.ExtractNEGToBackendService(fs.Message)
				if neg != "" && bs != "" {
					result[neg] = bs
				}
			}
		}
		return result, nil
	},
	coretask.ProvidesTag(k8scommon.TagNEGToBackendServiceDiscovery),
)

EventLogNEGDiscoveryTask is the discovery task that extracts NEG to BackendService mappings from Kubernetes Event logs.

View Source
var LogGrouperTask = inspectiontaskbase.NewLogGrouperTask(
	k8sevent.LogGrouperTaskID,
	k8sevent.ListLogEntriesTaskID.Ref(),
	func(ctx context.Context, l *log.Log) string {
		event, err := k8sevent.ExtractKubernetesEvent(l.NodeReader)
		if err != nil {
			return "unknown"
		}
		return fmt.Sprintf("cluster=%s,kind=%s,namespace=%s,name=%s", event.ClusterName, event.ResourceKind, event.Namespace, event.Resource)
	},
)

LogGrouperTask groups logs by the event's resource path so they can be mapped to timelines.

LogIngesterTask is the log ingester task for GKE Event Logs.

View Source
var LogToTimelineMapperTask = inspectiontaskbase.NewLogToTimelineMapperTask(
	k8sevent.LogToTimelineMapperTaskID,
	&KubernetesEventTimelineMapper{},
	inspectioncore.FeatureTaskLabel(
		"Kubernetes Event Logs",
		"Gather Kubernetes event logs to visualize cluster events on associated resource timelines.",
		2000,
		true,
	),
)

LogToTimelineMapperTask is the task to map GKE Event Logs into timeline events.

Functions

func GenerateK8sEventQuery

func GenerateK8sEventQuery(cluster k8scommon.GoogleCloudClusterIdentity, namespaceFilter *gcpqueryutil.SetFilterParseResult) string

GenerateK8sEventQuery generates a query string for Kubernetes Event logs.

func GenerateK8sEventStructuredQuery

func GenerateK8sEventStructuredQuery(cluster k8scommon.GoogleCloudClusterIdentity, namespaceFilter *gcpqueryutil.SetFilterParseResult) *logestimator.StructuredLogQuery

GenerateK8sEventStructuredQuery generates a structured query for Kubernetes Event logs.

func MustResolveK8sResourceTimelinePath

func MustResolveK8sResourceTimelinePath(ctx context.Context, event *k8sevent.KubernetesEventFieldSet) *khifilev6.TimelinePath

MustResolveK8sResourceTimelinePath resolves a KubernetesEventFieldSet to a *khifilev6.TimelinePath.

func Register

func Register(registry coreinspection.InspectionTaskRegistry) error

Register registers all googlecloudlogk8sevent inspection tasks to the registry.

Types

type K8sEventListLogEntriesTaskSetting

type K8sEventListLogEntriesTaskSetting struct {
}

func (*K8sEventListLogEntriesTaskSetting) DefaultResourceNames

func (k *K8sEventListLogEntriesTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)

DefaultResourceNames implements gcpcommon.StructuredListLogEntriesTaskSetting.

func (*K8sEventListLogEntriesTaskSetting) Dependencies

Dependencies implements gcpcommon.StructuredListLogEntriesTaskSetting.

func (*K8sEventListLogEntriesTaskSetting) Queries

Queries implements gcpcommon.StructuredListLogEntriesTaskSetting.

func (*K8sEventListLogEntriesTaskSetting) QueryName

QueryName implements gcpcommon.StructuredListLogEntriesTaskSetting.

func (*K8sEventListLogEntriesTaskSetting) TaskID

TaskID implements gcpcommon.StructuredListLogEntriesTaskSetting.

func (*K8sEventListLogEntriesTaskSetting) TimePartitionCount

func (k *K8sEventListLogEntriesTaskSetting) TimePartitionCount(ctx context.Context) (int, error)

TimePartitionCount implements gcpcommon.StructuredListLogEntriesTaskSetting.

type KubernetesEventLogIngester

type KubernetesEventLogIngester struct{}

KubernetesEventLogIngester handles log ingestion into the KHI v6 builder format.

func (*KubernetesEventLogIngester) Dependencies

func (i *KubernetesEventLogIngester) Dependencies() []coretask.Dependency

Dependencies returns additional task dependencies of the ingester.

func (*KubernetesEventLogIngester) ProcessLog

ProcessLog processes a raw log entry and populates its metadata into LogChangeSet.

func (*KubernetesEventLogIngester) RawLogTask

RawLogTask returns the task providing the raw logs to ingest.

type KubernetesEventTimelineMapper

type KubernetesEventTimelineMapper struct {
	inspectiontaskbase.StatelessMapperBase
}

KubernetesEventTimelineMapper maps grouped GKE Event Logs to resource timelines.

func (*KubernetesEventTimelineMapper) Dependencies

Dependencies returns additional task dependencies.

func (*KubernetesEventTimelineMapper) GroupedLogTask

GroupedLogTask returns the task providing grouped logs.

func (*KubernetesEventTimelineMapper) LogIngesterTask

func (m *KubernetesEventTimelineMapper) LogIngesterTask() taskid.TaskReference[struct{}]

LogIngesterTask returns the prerequisite log ingester task.

func (*KubernetesEventTimelineMapper) ProcessLogByGroup

func (m *KubernetesEventTimelineMapper) ProcessLogByGroup(ctx context.Context, l *log.Log, _ struct{}) (*khifilev6.TimelineChangeSet, struct{}, error)

ProcessLogByGroup maps a single GKE Event Log to its resource timeline path and matches any resource UIDs in the message.

Jump to

Keyboard shortcuts

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