@@ -6,6 +6,7 @@ package main
66import (
77 "fmt"
88 "os"
9+ "path/filepath"
910 "time"
1011
1112 "github.com/Azure/azure-container-networking/cni"
@@ -50,6 +51,25 @@ func printVersion() {
5051}
5152
5253func rootExecute () error {
54+ // Enrich all CNI loggers with host metadata so ETW events carry VM identity for diagnostics.
55+ metadataFile := filepath .Join (os .TempDir (), "azuremetadata.json" )
56+ if metadata , err := common .GetHostMetadata (metadataFile ); err == nil {
57+ host , _ := os .Hostname ()
58+ zaplog .SetMetadata (
59+ zap .String ("hostname" , host ),
60+ zap .String ("version" , version ),
61+ zap .String ("kubernetes_apiserver" , os .Getenv ("KUBERNETES_SERVICE_HOST" )),
62+ zap .String ("account" , metadata .SubscriptionID ),
63+ zap .String ("anonymous_user_id" , metadata .VMName ),
64+ zap .String ("location" , metadata .Location ),
65+ zap .String ("resource_group" , metadata .ResourceGroupName ),
66+ zap .String ("vm_size" , metadata .VMSize ),
67+ zap .String ("os_version" , metadata .OSVersion ),
68+ zap .String ("vm_id" , metadata .VMID ),
69+ zap .String ("session_id" , metadata .VMID ),
70+ )
71+ }
72+
5373 var config common.PluginConfig
5474
5575 config .Version = version
0 commit comments