Documentation
¶
Index ¶
- Variables
- func GenerateK8sEventQuery(cluster googlecloudk8scommon_contract.GoogleCloudClusterIdentity, ...) string
- func GenerateK8sEventStructuredQuery(cluster googlecloudk8scommon_contract.GoogleCloudClusterIdentity, ...) *logestimator.StructuredLogQuery
- func MustResolveK8sResourceTimelinePath(ctx context.Context, ...) *khifilev6.TimelinePath
- func Register(registry coreinspection.InspectionTaskRegistry) error
- type K8sEventListLogEntriesTaskSetting
- func (k *K8sEventListLogEntriesTaskSetting) DefaultResourceNames(ctx context.Context) ([]string, error)
- func (k *K8sEventListLogEntriesTaskSetting) Dependencies() []taskid.UntypedTaskReference
- func (k *K8sEventListLogEntriesTaskSetting) Queries(ctx context.Context) ([]*logestimator.StructuredLogQuery, error)
- func (k *K8sEventListLogEntriesTaskSetting) QueryName() string
- func (k *K8sEventListLogEntriesTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
- func (k *K8sEventListLogEntriesTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
- type KubernetesEventLogIngester
- type KubernetesEventTimelineMapper
- func (m *KubernetesEventTimelineMapper) Dependencies() []taskid.UntypedTaskReference
- func (m *KubernetesEventTimelineMapper) GroupedLogTask() taskid.TaskReference[inspectiontaskbase.LogGroupMap]
- func (m *KubernetesEventTimelineMapper) LogIngesterTask() taskid.TaskReference[struct{}]
- func (m *KubernetesEventTimelineMapper) ProcessLogByGroup(ctx context.Context, l *log.Log, _ struct{}) (*khifilev6.TimelineChangeSet, struct{}, error)
Constants ¶
This section is empty.
Variables ¶
var ClusterIdentityAliasTask = coretask.NewAliasTask( googlecloudlogk8sevent_contract.ClusterIdentityTaskID, googlecloudk8scommon_contract.ClusterIdentityTaskID.Ref(), )
var EventLogNEGDiscoveryTask = googlecloudk8scommon_contract.NEGToBackendServiceInventoryBuilder.DiscoveryTask( googlecloudlogk8sevent_contract.NEGToBackendServiceDiscoveryTaskID, []taskid.UntypedTaskReference{googlecloudlogk8sevent_contract.ListLogEntriesTaskID.Ref()}, func(ctx context.Context, taskMode inspectioncore_contract.InspectionTaskModeType, progress *inspectionmetadata.TaskProgressMetadata) (googlecloudk8scommon_contract.NEGToBackendServiceMap, error) { if taskMode != inspectioncore_contract.TaskModeRun { return nil, nil } logs := coretask.GetTaskResult(ctx, googlecloudlogk8sevent_contract.ListLogEntriesTaskID.Ref()) result := make(googlecloudk8scommon_contract.NEGToBackendServiceMap) for _, l := range logs { fs, err := googlecloudlogk8sevent_contract.ExtractKubernetesEvent(l.NodeReader) if err == nil { neg, bs := googlecloudk8scommon_contract.ExtractNEGToBackendService(fs.Message) if neg != "" && bs != "" { result[neg] = bs } } } return result, nil }, )
EventLogNEGDiscoveryTask is the discovery task that extracts NEG to BackendService mappings from Kubernetes Event logs.
var ListLogEntriesTask = googlecloudcommon_contract.NewStructuredListLogEntriesTask(&K8sEventListLogEntriesTaskSetting{})
var LogGrouperTask = inspectiontaskbase.NewLogGrouperTask( googlecloudlogk8sevent_contract.LogGrouperTaskID, googlecloudlogk8sevent_contract.ListLogEntriesTaskID.Ref(), func(ctx context.Context, l *log.Log) string { event, err := googlecloudlogk8sevent_contract.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.
var LogIngesterTask = inspectiontaskbase.NewLogIngesterTask( googlecloudlogk8sevent_contract.LogIngesterTaskID, &KubernetesEventLogIngester{}, )
LogIngesterTask is the log ingester task for GKE Event Logs.
var LogToTimelineMapperTask = inspectiontaskbase.NewLogToTimelineMapperTask( googlecloudlogk8sevent_contract.LogToTimelineMapperTaskID, &KubernetesEventTimelineMapper{}, inspectioncore_contract.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 googlecloudk8scommon_contract.GoogleCloudClusterIdentity, namespaceFilter *gcpqueryutil.SetFilterParseResult) string
GenerateK8sEventQuery generates a query string for Kubernetes Event logs.
func GenerateK8sEventStructuredQuery ¶ added in v0.58.2
func GenerateK8sEventStructuredQuery(cluster googlecloudk8scommon_contract.GoogleCloudClusterIdentity, namespaceFilter *gcpqueryutil.SetFilterParseResult) *logestimator.StructuredLogQuery
GenerateK8sEventStructuredQuery generates a structured query for Kubernetes Event logs.
func MustResolveK8sResourceTimelinePath ¶ added in v0.56.0
func MustResolveK8sResourceTimelinePath(ctx context.Context, event *googlecloudlogk8sevent_contract.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 googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
func (*K8sEventListLogEntriesTaskSetting) Dependencies ¶
func (k *K8sEventListLogEntriesTaskSetting) Dependencies() []taskid.UntypedTaskReference
Dependencies implements googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
func (*K8sEventListLogEntriesTaskSetting) Queries ¶ added in v0.58.2
func (k *K8sEventListLogEntriesTaskSetting) Queries(ctx context.Context) ([]*logestimator.StructuredLogQuery, error)
Queries implements googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
func (*K8sEventListLogEntriesTaskSetting) QueryName ¶ added in v0.58.2
func (k *K8sEventListLogEntriesTaskSetting) QueryName() string
QueryName implements googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
func (*K8sEventListLogEntriesTaskSetting) TaskID ¶
func (k *K8sEventListLogEntriesTaskSetting) TaskID() taskid.TaskImplementationID[[]*log.Log]
TaskID implements googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
func (*K8sEventListLogEntriesTaskSetting) TimePartitionCount ¶
func (k *K8sEventListLogEntriesTaskSetting) TimePartitionCount(ctx context.Context) (int, error)
TimePartitionCount implements googlecloudcommon_contract.StructuredListLogEntriesTaskSetting.
type KubernetesEventLogIngester ¶ added in v0.56.0
type KubernetesEventLogIngester struct{}
KubernetesEventLogIngester handles log ingestion into the KHI v6 builder format.
func (*KubernetesEventLogIngester) Dependencies ¶ added in v0.56.0
func (i *KubernetesEventLogIngester) Dependencies() []taskid.UntypedTaskReference
Dependencies returns additional task dependencies of the ingester.
func (*KubernetesEventLogIngester) ProcessLog ¶ added in v0.56.0
func (i *KubernetesEventLogIngester) ProcessLog(ctx context.Context, l *log.Log) (*khifilev6.LogChangeSet, error)
ProcessLog processes a raw log entry and populates its metadata into LogChangeSet.
func (*KubernetesEventLogIngester) RawLogTask ¶ added in v0.56.0
func (i *KubernetesEventLogIngester) RawLogTask() taskid.TaskReference[[]*log.Log]
RawLogTask returns the task providing the raw logs to ingest.
type KubernetesEventTimelineMapper ¶ added in v0.56.0
type KubernetesEventTimelineMapper struct {
inspectiontaskbase.StatelessMapperBase
}
KubernetesEventTimelineMapper maps grouped GKE Event Logs to resource timelines.
func (*KubernetesEventTimelineMapper) Dependencies ¶ added in v0.56.0
func (m *KubernetesEventTimelineMapper) Dependencies() []taskid.UntypedTaskReference
Dependencies returns additional task dependencies.
func (*KubernetesEventTimelineMapper) GroupedLogTask ¶ added in v0.56.0
func (m *KubernetesEventTimelineMapper) GroupedLogTask() taskid.TaskReference[inspectiontaskbase.LogGroupMap]
GroupedLogTask returns the task providing grouped logs.
func (*KubernetesEventTimelineMapper) LogIngesterTask ¶ added in v0.56.0
func (m *KubernetesEventTimelineMapper) LogIngesterTask() taskid.TaskReference[struct{}]
LogIngesterTask returns the prerequisite log ingester task.
func (*KubernetesEventTimelineMapper) ProcessLogByGroup ¶ added in v0.56.0
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.