diff --git a/config/sample-config.yaml b/config/sample-config.yaml index 80870395c..e44b3dcfe 100644 --- a/config/sample-config.yaml +++ b/config/sample-config.yaml @@ -13,6 +13,7 @@ loki: - DstK8S_Type - K8S_FlowLayer - FlowDirection + - UdnId # - Duplicate # - _RecordType # - K8S_ClusterName @@ -82,7 +83,7 @@ frontend: merge: false # The following configuration is taken from Network Observability Operator # see https://github.com/netobserv/network-observability-operator/blob/main/controllers/consoleplugin/config/static-frontend-config.yaml - panels: + panels: # Protocol - Proto_Bytes - sum_Proto_Bytes @@ -152,6 +153,20 @@ frontend: # flow on current scope - Flows - DnsFlows + # UDN + - UdnId_Bytes + - UdnId_Packets + - min_UdnId_TimeFlowRttNs + - max_UdnId_TimeFlowRttNs + - avg_UdnId_TimeFlowRttNs + - p90_UdnId_TimeFlowRttNs + - p99_UdnId_TimeFlowRttNs + - min_UdnId_DnsLatencyMs + - max_UdnId_DnsLatencyMs + - avg_UdnId_DnsLatencyMs + - p90_UdnId_DnsLatencyMs + - p99_UdnId_DnsLatencyMs + - UdnId_Flows columns: - id: StartTime name: Start Time @@ -555,6 +570,13 @@ frontend: field: Interfaces default: false width: 15 + - id: UDN + name: User Defined Network + tooltip: The user defined network identifier. + field: UdnId + filter: udn + default: false + width: 15 - id: Bytes name: Bytes tooltip: The total aggregated number of bytes. @@ -932,6 +954,10 @@ frontend: component: autocomplete placeholder: 'E.g: Ingress, Egress' hint: Specify the direction of the Flow observed at the network interface observation point. + - id: udn + name: User Defined Network + component: autocomplete + hint: Specify a user defined network name. - id: id name: Conversation Id component: text @@ -1154,6 +1180,10 @@ frontend: type: string description: Cluster name or identifier lokiLabel: true + - name: UdnId + type: string + description: User Defined Network + lokiLabel: true - name: _RecordType type: string description: "Type of record: 'flowLog' for regular flow logs, or 'newConnection', 'heartbeat', 'endConnection' for conversation tracking" diff --git a/mocks/loki/flow_metrics_dropped_app.json b/mocks/loki/flow_metrics_dropped_app.json index 90df85801..97513884a 100644 --- a/mocks/loki/flow_metrics_dropped_app.json +++ b/mocks/loki/flow_metrics_dropped_app.json @@ -114,4 +114,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_dropped_namespace.json b/mocks/loki/flow_metrics_dropped_namespace.json index 86e39d27c..cc6942efa 100644 --- a/mocks/loki/flow_metrics_dropped_namespace.json +++ b/mocks/loki/flow_metrics_dropped_namespace.json @@ -5,7 +5,8 @@ "result": [ { "metric": { - "SrcK8S_Namespace": "netobserv" + "SrcK8S_Namespace": "netobserv", + "UdnId": "my-udn" }, "values": [ [ @@ -20,7 +21,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -35,7 +37,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-console-operator" + "SrcK8S_Namespace": "openshift-console-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -50,7 +53,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-insights" + "SrcK8S_Namespace": "openshift-insights", + "UdnId": "my-udn" }, "values": [ [ @@ -65,7 +69,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator" + "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -80,7 +85,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -95,7 +101,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-multus" + "SrcK8S_Namespace": "openshift-multus", + "UdnId": "my-udn" }, "values": [ [ @@ -106,7 +113,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-network-diagnostics" + "SrcK8S_Namespace": "openshift-network-diagnostics", + "UdnId": "my-udn" }, "values": [ [ @@ -121,7 +129,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-service-ca" + "SrcK8S_Namespace": "openshift-service-ca", + "UdnId": "my-udn" }, "values": [ [ @@ -136,7 +145,8 @@ }, { "metric": { - "SrcK8S_Namespace": "openshift-service-ca-operator" + "SrcK8S_Namespace": "openshift-service-ca-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -258,4 +268,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_dropped_owner.json b/mocks/loki/flow_metrics_dropped_owner.json index 73c81a3ec..850b73de2 100644 --- a/mocks/loki/flow_metrics_dropped_owner.json +++ b/mocks/loki/flow_metrics_dropped_owner.json @@ -7,7 +7,8 @@ "metric": { "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", - "SrcK8S_OwnerType": "DaemonSet" + "SrcK8S_OwnerType": "DaemonSet", + "UdnId": "my-udn" }, "values": [ [ @@ -24,7 +25,8 @@ "metric": { "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -41,7 +43,8 @@ "metric": { "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -58,7 +61,8 @@ "metric": { "SrcK8S_Namespace": "openshift-insights", "SrcK8S_OwnerName": "insights-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -75,7 +79,8 @@ "metric": { "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator", "SrcK8S_OwnerName": "kube-storage-version-migrator-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -92,7 +97,8 @@ "metric": { "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -109,7 +115,8 @@ "metric": { "SrcK8S_Namespace": "openshift-multus", "SrcK8S_OwnerName": "network-metrics-daemon", - "SrcK8S_OwnerType": "DaemonSet" + "SrcK8S_OwnerType": "DaemonSet", + "UdnId": "my-udn" }, "values": [ [ @@ -122,7 +129,8 @@ "metric": { "SrcK8S_Namespace": "openshift-network-diagnostics", "SrcK8S_OwnerName": "network-check-source", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -139,7 +147,8 @@ "metric": { "SrcK8S_Namespace": "openshift-service-ca", "SrcK8S_OwnerName": "service-ca", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -156,7 +165,8 @@ "metric": { "SrcK8S_Namespace": "openshift-service-ca-operator", "SrcK8S_OwnerName": "service-ca-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -172,7 +182,8 @@ { "metric": { "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", - "SrcK8S_OwnerType": "Node" + "SrcK8S_OwnerType": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -281,4 +292,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_dropped_resource.json b/mocks/loki/flow_metrics_dropped_resource.json index e9af6782a..9acddf166 100644 --- a/mocks/loki/flow_metrics_dropped_resource.json +++ b/mocks/loki/flow_metrics_dropped_resource.json @@ -11,7 +11,8 @@ "SrcK8S_Name": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -33,7 +34,8 @@ "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -55,7 +57,8 @@ "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator", "SrcK8S_OwnerName": "kube-storage-version-migrator-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -77,7 +80,8 @@ "SrcK8S_Namespace": "openshift-insights", "SrcK8S_OwnerName": "insights-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -99,7 +103,8 @@ "SrcK8S_Namespace": "openshift-network-diagnostics", "SrcK8S_OwnerName": "network-check-source", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -121,7 +126,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -143,7 +149,8 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -165,7 +172,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -187,7 +195,8 @@ "SrcK8S_Namespace": "openshift-multus", "SrcK8S_OwnerName": "network-metrics-daemon", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -205,7 +214,8 @@ "SrcK8S_Namespace": "openshift-service-ca-operator", "SrcK8S_OwnerName": "service-ca-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -227,7 +237,8 @@ "SrcK8S_Namespace": "openshift-service-ca", "SrcK8S_OwnerName": "service-ca", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -249,7 +260,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -267,7 +279,8 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -289,7 +302,8 @@ "SrcK8S_Namespace": "openshift-multus", "SrcK8S_OwnerName": "network-metrics-daemon", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -307,7 +321,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -416,4 +431,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_host.json b/mocks/loki/flow_metrics_host.json index 0126b8180..d0162e35d 100644 --- a/mocks/loki/flow_metrics_host.json +++ b/mocks/loki/flow_metrics_host.json @@ -6,7 +6,8 @@ { "metric": { "DstK8S_HostName": "ip-10-0-1-137.ec2.internal", - "SrcK8S_HostName": "ip-10-0-1-7.ec2.internal" + "SrcK8S_HostName": "ip-10-0-1-7.ec2.internal", + "UdnId": "my-udn" }, "values": [ [ @@ -77,7 +78,8 @@ { "metric": { "DstK8S_HostName": "ip-10-0-1-7.ec2.internal", - "SrcK8S_HostName": "ip-10-0-1-137.ec2.internal" + "SrcK8S_HostName": "ip-10-0-1-137.ec2.internal", + "UdnId": "my-udn" }, "values": [ [ @@ -344,4 +346,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_namespace.json b/mocks/loki/flow_metrics_namespace.json index ab989399d..598c6d6ed 100644 --- a/mocks/loki/flow_metrics_namespace.json +++ b/mocks/loki/flow_metrics_namespace.json @@ -6,7 +6,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "netobserv" + "SrcK8S_Namespace": "netobserv", + "UdnId": "yet-another-udn" }, "values": [ [ @@ -42,7 +43,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-backplane" + "SrcK8S_Namespace": "openshift-backplane", + "UdnId": "another-udn" }, "values": [ [ @@ -54,7 +56,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -90,7 +93,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-console-operator" + "SrcK8S_Namespace": "openshift-console-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -126,7 +130,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-deployment-validation-operator" + "SrcK8S_Namespace": "openshift-deployment-validation-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -162,7 +167,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-image-registry" + "SrcK8S_Namespace": "openshift-image-registry", + "UdnId": "my-udn" }, "values": [ [ @@ -198,7 +204,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-ingress" + "SrcK8S_Namespace": "openshift-ingress", + "UdnId": "my-udn" }, "values": [ [ @@ -234,7 +241,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-insights" + "SrcK8S_Namespace": "openshift-insights", + "UdnId": "my-udn" }, "values": [ [ @@ -250,7 +258,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator" + "SrcK8S_Namespace": "openshift-kube-storage-version-migrator-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -286,7 +295,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -322,7 +332,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-multus" + "SrcK8S_Namespace": "openshift-multus", + "UdnId": "my-udn" }, "values": [ [ @@ -346,7 +357,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-network-diagnostics" + "SrcK8S_Namespace": "openshift-network-diagnostics", + "UdnId": "my-udn" }, "values": [ [ @@ -382,7 +394,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-route-monitor-operator" + "SrcK8S_Namespace": "openshift-route-monitor-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -418,7 +431,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-service-ca" + "SrcK8S_Namespace": "openshift-service-ca", + "UdnId": "my-udn" }, "values": [ [ @@ -454,7 +468,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-service-ca-operator" + "SrcK8S_Namespace": "openshift-service-ca-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -490,7 +505,8 @@ { "metric": { "DstK8S_Namespace": "default", - "SrcK8S_Namespace": "openshift-user-workload-monitoring" + "SrcK8S_Namespace": "openshift-user-workload-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -525,7 +541,8 @@ }, { "metric": { - "DstK8S_Namespace": "default" + "DstK8S_Namespace": "default", + "UdnId": "my-udn" }, "values": [ [ @@ -561,7 +578,8 @@ { "metric": { "DstK8S_Namespace": "netobserv", - "SrcK8S_Namespace": "netobserv" + "SrcK8S_Namespace": "netobserv", + "UdnId": "my-udn" }, "values": [ [ @@ -597,7 +615,8 @@ { "metric": { "DstK8S_Namespace": "netobserv", - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -613,7 +632,8 @@ { "metric": { "DstK8S_Namespace": "netobserv", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -648,7 +668,8 @@ }, { "metric": { - "DstK8S_Namespace": "netobserv" + "DstK8S_Namespace": "netobserv", + "UdnId": "my-udn" }, "values": [ [ @@ -660,7 +681,8 @@ { "metric": { "DstK8S_Namespace": "openshift-console", - "SrcK8S_Namespace": "openshift-ingress" + "SrcK8S_Namespace": "openshift-ingress", + "UdnId": "my-udn" }, "values": [ [ @@ -695,7 +717,8 @@ }, { "metric": { - "DstK8S_Namespace": "openshift-deployment-validation-operator" + "DstK8S_Namespace": "openshift-deployment-validation-operator", + "UdnId": "my-udn" }, "values": [ [ @@ -731,7 +754,8 @@ { "metric": { "DstK8S_Namespace": "openshift-dns", - "SrcK8S_Namespace": "netobserv" + "SrcK8S_Namespace": "netobserv", + "UdnId": "my-udn" }, "values": [ [ @@ -767,7 +791,8 @@ { "metric": { "DstK8S_Namespace": "openshift-dns", - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -783,7 +808,8 @@ { "metric": { "DstK8S_Namespace": "openshift-dns", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -819,7 +845,8 @@ { "metric": { "DstK8S_Namespace": "openshift-ingress", - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -855,7 +882,8 @@ { "metric": { "DstK8S_Namespace": "openshift-ingress", - "SrcK8S_Namespace": "openshift-ingress-canary" + "SrcK8S_Namespace": "openshift-ingress-canary", + "UdnId": "my-udn" }, "values": [ [ @@ -871,7 +899,8 @@ { "metric": { "DstK8S_Namespace": "openshift-ingress", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -907,7 +936,8 @@ { "metric": { "DstK8S_Namespace": "openshift-ingress", - "SrcK8S_Namespace": "openshift-user-workload-monitoring" + "SrcK8S_Namespace": "openshift-user-workload-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -943,7 +973,8 @@ { "metric": { "DstK8S_Namespace": "openshift-ingress-canary", - "SrcK8S_Namespace": "openshift-ingress" + "SrcK8S_Namespace": "openshift-ingress", + "UdnId": "my-udn" }, "values": [ [ @@ -979,7 +1010,8 @@ { "metric": { "DstK8S_Namespace": "openshift-monitoring", - "SrcK8S_Namespace": "netobserv" + "SrcK8S_Namespace": "netobserv", + "UdnId": "my-udn" }, "values": [ [ @@ -1015,7 +1047,8 @@ { "metric": { "DstK8S_Namespace": "openshift-monitoring", - "SrcK8S_Namespace": "openshift-console" + "SrcK8S_Namespace": "openshift-console", + "UdnId": "my-udn" }, "values": [ [ @@ -1051,7 +1084,8 @@ { "metric": { "DstK8S_Namespace": "openshift-monitoring", - "SrcK8S_Namespace": "openshift-ingress" + "SrcK8S_Namespace": "openshift-ingress", + "UdnId": "my-udn" }, "values": [ [ @@ -1087,7 +1121,8 @@ { "metric": { "DstK8S_Namespace": "openshift-monitoring", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -1123,7 +1158,8 @@ { "metric": { "DstK8S_Namespace": "openshift-monitoring", - "SrcK8S_Namespace": "openshift-user-workload-monitoring" + "SrcK8S_Namespace": "openshift-user-workload-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -1158,7 +1194,8 @@ }, { "metric": { - "DstK8S_Namespace": "openshift-monitoring" + "DstK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -1194,7 +1231,8 @@ { "metric": { "DstK8S_Namespace": "openshift-user-workload-monitoring", - "SrcK8S_Namespace": "openshift-ingress" + "SrcK8S_Namespace": "openshift-ingress", + "UdnId": "my-udn" }, "values": [ [ @@ -1230,7 +1268,8 @@ { "metric": { "DstK8S_Namespace": "openshift-user-workload-monitoring", - "SrcK8S_Namespace": "openshift-monitoring" + "SrcK8S_Namespace": "openshift-monitoring", + "UdnId": "my-udn" }, "values": [ [ @@ -1931,4 +1970,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_owner.json b/mocks/loki/flow_metrics_owner.json index b8becafe6..ec63c152c 100644 --- a/mocks/loki/flow_metrics_owner.json +++ b/mocks/loki/flow_metrics_owner.json @@ -10,7 +10,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "yet-another-udn" }, "values": [ [ @@ -50,7 +51,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "another-udn" }, "values": [ [ @@ -90,7 +92,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -130,7 +133,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-deployment-validation-operator", "SrcK8S_OwnerName": "deployment-validation-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -170,7 +174,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-insights", "SrcK8S_OwnerName": "insights-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -190,7 +195,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "cluster-monitoring-operator", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -226,7 +232,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "kube-state-metrics", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -266,7 +273,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -302,7 +310,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-route-monitor-operator", "SrcK8S_OwnerName": "route-monitor-operator-controller-manager", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -342,7 +351,8 @@ "DstK8S_OwnerType": "DaemonSet", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "loki", - "SrcK8S_OwnerType": "Pod" + "SrcK8S_OwnerType": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -382,7 +392,8 @@ "DstK8S_OwnerType": "Pod", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", - "SrcK8S_OwnerType": "DaemonSet" + "SrcK8S_OwnerType": "DaemonSet", + "UdnId": "my-udn" }, "values": [ [ @@ -422,7 +433,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", - "SrcK8S_OwnerType": "DaemonSet" + "SrcK8S_OwnerType": "DaemonSet", + "UdnId": "my-udn" }, "values": [ [ @@ -462,7 +474,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -502,7 +515,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", - "SrcK8S_OwnerType": "DaemonSet" + "SrcK8S_OwnerType": "DaemonSet", + "UdnId": "my-udn" }, "values": [ [ @@ -542,7 +556,8 @@ "DstK8S_OwnerType": "Service", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -582,7 +597,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -622,7 +638,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -662,7 +679,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -702,7 +720,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -742,7 +761,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -782,7 +802,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -822,7 +843,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "kube-state-metrics", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -862,7 +884,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -902,7 +925,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -942,7 +966,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -982,7 +1007,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -1022,7 +1048,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-user-workload-monitoring", "SrcK8S_OwnerName": "prometheus-user-workload", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -1058,7 +1085,8 @@ "DstK8S_OwnerType": "Deployment", "SrcK8S_Namespace": "openshift-user-workload-monitoring", "SrcK8S_OwnerName": "thanos-ruler-user-workload", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -1098,7 +1126,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -1138,7 +1167,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -1178,7 +1208,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -1218,7 +1249,8 @@ "DstK8S_OwnerType": "StatefulSet", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -1257,7 +1289,8 @@ "DstK8S_OwnerType": "Node", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -1295,7 +1328,8 @@ "DstK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "DstK8S_OwnerType": "Node", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", - "SrcK8S_OwnerType": "Node" + "SrcK8S_OwnerType": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -1334,7 +1368,8 @@ "DstK8S_OwnerType": "Node", "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", - "SrcK8S_OwnerType": "Deployment" + "SrcK8S_OwnerType": "Deployment", + "UdnId": "my-udn" }, "values": [ [ @@ -1349,7 +1384,8 @@ "DstK8S_OwnerType": "Node", "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", - "SrcK8S_OwnerType": "StatefulSet" + "SrcK8S_OwnerType": "StatefulSet", + "UdnId": "my-udn" }, "values": [ [ @@ -1387,7 +1423,8 @@ "DstK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "DstK8S_OwnerType": "Node", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", - "SrcK8S_OwnerType": "Node" + "SrcK8S_OwnerType": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -2074,4 +2111,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_metrics_resource.json b/mocks/loki/flow_metrics_resource.json index 6e00bc686..41d0eae6b 100644 --- a/mocks/loki/flow_metrics_resource.json +++ b/mocks/loki/flow_metrics_resource.json @@ -16,7 +16,8 @@ "SrcK8S_Name": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "yet-another-udn" }, "values": [ [ @@ -63,7 +64,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "another-udn" }, "values": [ [ @@ -104,7 +106,8 @@ "SrcK8S_Name": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -145,7 +148,8 @@ "SrcK8S_Name": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -191,7 +195,8 @@ "SrcK8S_Name": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -238,7 +243,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -279,7 +285,8 @@ "SrcK8S_Name": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -320,7 +327,8 @@ "SrcK8S_Name": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_OwnerType": "Node", - "SrcK8S_Type": "Node" + "SrcK8S_Type": "Node", + "UdnId": "my-udn" }, "values": [ [ @@ -367,7 +375,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -391,7 +400,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -435,7 +445,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -475,7 +486,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -523,7 +535,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "kube-state-metrics", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -571,7 +584,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -619,7 +633,8 @@ "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -667,7 +682,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -715,7 +731,8 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -763,7 +780,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -811,7 +829,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -835,7 +854,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -883,7 +903,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -927,7 +948,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -975,7 +997,8 @@ "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1023,7 +1046,8 @@ "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1071,7 +1095,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "loki", "SrcK8S_OwnerType": "Pod", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1119,7 +1144,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "loki", "SrcK8S_OwnerType": "Pod", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1143,7 +1169,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1185,7 +1212,8 @@ "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1227,7 +1255,8 @@ "SrcK8S_Namespace": "openshift-insights", "SrcK8S_OwnerName": "insights-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1249,7 +1278,8 @@ "SrcK8S_Namespace": "openshift-route-monitor-operator", "SrcK8S_OwnerName": "route-monitor-operator-controller-manager", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1291,7 +1321,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1333,7 +1364,8 @@ "SrcK8S_Namespace": "openshift-deployment-validation-operator", "SrcK8S_OwnerName": "deployment-validation-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1375,7 +1407,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "cluster-monitoring-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1413,7 +1446,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "kube-state-metrics", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1455,7 +1489,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1497,7 +1532,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1539,7 +1575,8 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1586,7 +1623,8 @@ "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1633,7 +1671,8 @@ "SrcK8S_Namespace": "openshift-insights", "SrcK8S_OwnerName": "insights-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1660,7 +1699,8 @@ "SrcK8S_Namespace": "openshift-route-monitor-operator", "SrcK8S_OwnerName": "route-monitor-operator-controller-manager", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1707,7 +1747,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1730,7 +1771,8 @@ "SrcK8S_Namespace": "openshift-deployment-validation-operator", "SrcK8S_OwnerName": "deployment-validation-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1777,7 +1819,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "cluster-monitoring-operator", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1820,7 +1863,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "kube-state-metrics", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1867,7 +1911,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_OwnerType": "StatefulSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1898,7 +1943,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1945,7 +1991,8 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -1992,7 +2039,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2035,7 +2083,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2062,7 +2111,8 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "thanos-querier", "SrcK8S_OwnerType": "Deployment", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2094,7 +2144,8 @@ { "metric": { "DstAddr": "172.30.136.217", - "SrcAddr": "169.254.169.2" + "SrcAddr": "169.254.169.2", + "UdnId": "my-udn" }, "values": [ [ @@ -2141,7 +2192,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2188,7 +2240,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2211,7 +2264,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2258,7 +2312,8 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "flowlogs-pipeline", "SrcK8S_OwnerType": "DaemonSet", - "SrcK8S_Type": "Pod" + "SrcK8S_Type": "Pod", + "UdnId": "my-udn" }, "values": [ [ @@ -2529,4 +2584,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_records.json b/mocks/loki/flow_records.json index c61dc8c55..868e22185 100644 --- a/mocks/loki/flow_records.json +++ b/mocks/loki/flow_records.json @@ -9,6 +9,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "yet-another-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -45,6 +46,7 @@ "SrcK8S_Namespace": "openshift-service-ca-operator", "SrcK8S_OwnerName": "service-ca-operator", "SrcK8S_Type": "Pod", + "UdnId": "another-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -60,6 +62,7 @@ "DstK8S_Type": "Node", "FlowDirection": "0", "K8S_FlowLayer": "infra", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -97,6 +100,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -126,6 +130,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -154,6 +159,7 @@ "DstK8S_Type": "Pod", "FlowDirection": "0", "K8S_FlowLayer": "infra", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -173,6 +179,7 @@ "SrcK8S_Namespace": "default", "SrcK8S_OwnerName": "kubernetes", "SrcK8S_Type": "Service", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -196,6 +203,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -219,6 +227,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "telemeter-client", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -246,6 +255,7 @@ "SrcK8S_Namespace": "openshift-dns", "SrcK8S_OwnerName": "dns-default", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -277,6 +287,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -300,6 +311,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -323,6 +335,7 @@ "SrcK8S_Namespace": "openshift-dns", "SrcK8S_OwnerName": "dns-default", "SrcK8S_Type": "Service", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -354,6 +367,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -385,6 +399,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -416,6 +431,7 @@ "SrcK8S_Namespace": "openshift-service-ca-operator", "SrcK8S_OwnerName": "service-ca-operator", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -521,4 +537,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_records_has_dropped.json b/mocks/loki/flow_records_has_dropped.json index 8675b3766..5919dcefa 100644 --- a/mocks/loki/flow_records_has_dropped.json +++ b/mocks/loki/flow_records_has_dropped.json @@ -10,6 +10,7 @@ "SrcK8S_Namespace": "openshift-service-ca-operator", "SrcK8S_OwnerName": "service-ca-operator", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -26,6 +27,7 @@ "SrcK8S_Namespace": "openshift-service-ca", "SrcK8S_OwnerName": "service-ca", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -42,6 +44,7 @@ "SrcK8S_Namespace": "openshift-network-diagnostics", "SrcK8S_OwnerName": "network-check-source", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -58,6 +61,7 @@ "SrcK8S_Namespace": "openshift-console-operator", "SrcK8S_OwnerName": "console-operator", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -74,6 +78,7 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -103,6 +108,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -121,6 +127,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -143,6 +150,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-adapter", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -160,6 +168,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -183,6 +192,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -201,6 +211,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -224,6 +235,7 @@ "SrcK8S_Namespace": "openshift-dns", "SrcK8S_OwnerName": "dns-default", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -243,6 +255,7 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -261,6 +274,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -280,6 +294,7 @@ "SrcK8S_Namespace": "openshift-user-workload-monitoring", "SrcK8S_OwnerName": "prometheus-operator", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -299,6 +314,7 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-controller-manager", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -317,6 +333,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -336,6 +353,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -355,6 +373,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -374,6 +393,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -393,6 +413,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -412,6 +433,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -431,6 +453,7 @@ "SrcK8S_Namespace": "openshift-console", "SrcK8S_OwnerName": "console", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -450,6 +473,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -469,6 +493,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -488,6 +513,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -507,6 +533,7 @@ "SrcK8S_Namespace": "openshift-ingress", "SrcK8S_OwnerName": "router-default", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -530,6 +557,7 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "loki", "SrcK8S_Type": "Service", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -601,6 +629,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -620,6 +649,7 @@ "SrcK8S_Namespace": "netobserv", "SrcK8S_OwnerName": "netobserv-plugin", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -725,4 +755,4 @@ } } } -} +} \ No newline at end of file diff --git a/mocks/loki/flow_records_sent.json b/mocks/loki/flow_records_sent.json index efbd99a45..cffdb4c79 100644 --- a/mocks/loki/flow_records_sent.json +++ b/mocks/loki/flow_records_sent.json @@ -7,6 +7,7 @@ "stream": { "FlowDirection": "1", "K8S_FlowLayer": "infra", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -30,6 +31,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -55,6 +57,7 @@ "stream": { "FlowDirection": "0", "K8S_FlowLayer": "infra", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -125,6 +128,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -144,6 +148,7 @@ "DstK8S_Type": "Node", "FlowDirection": "0", "K8S_FlowLayer": "infra", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -173,6 +178,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -214,6 +220,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -252,6 +259,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "prometheus-k8s", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -270,6 +278,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-7.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -296,6 +305,7 @@ "K8S_FlowLayer": "infra", "SrcK8S_OwnerName": "ip-10-0-1-137.ec2.internal", "SrcK8S_Type": "Node", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -319,6 +329,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -342,6 +353,7 @@ "SrcK8S_Namespace": "openshift-monitoring", "SrcK8S_OwnerName": "alertmanager-main", "SrcK8S_Type": "Pod", + "UdnId": "my-udn", "app": "netobserv-flowcollector" }, "values": [ @@ -451,4 +463,4 @@ } } } -} +} \ No newline at end of file diff --git a/pkg/handler/resources.go b/pkg/handler/resources.go index 7bcfa74ef..8bf0d9295 100644 --- a/pkg/handler/resources.go +++ b/pkg/handler/resources.go @@ -44,6 +44,35 @@ func (h *Handlers) GetClusters(ctx context.Context) func(w http.ResponseWriter, } } +func (h *Handlers) GetUDNs(ctx context.Context) func(w http.ResponseWriter, r *http.Request) { + return func(w http.ResponseWriter, r *http.Request) { + params := r.URL.Query() + namespace := params.Get(namespaceKey) + isDev := namespace != "" + + clients, err := newClients(h.Cfg, r.Header, false, namespace) + if err != nil { + writeError(w, http.StatusInternalServerError, err.Error()) + return + } + var code int + startTime := time.Now() + defer func() { + metrics.ObserveHTTPCall("GetUDNs", code, startTime) + }() + + // Fetch and merge values for K8S_ClusterName + values, code, err := h.getLabelValues(ctx, clients, fields.UDN, isDev) + if err != nil { + writeError(w, code, err.Error()) + return + } + + code = http.StatusOK + writeJSON(w, code, utils.NonEmpty(utils.Dedup(values))) + } +} + func (h *Handlers) GetZones(ctx context.Context) func(w http.ResponseWriter, r *http.Request) { return func(w http.ResponseWriter, r *http.Request) { params := r.URL.Query() diff --git a/pkg/loki/topology_query.go b/pkg/loki/topology_query.go index 3c046f22f..b18e6b2e0 100644 --- a/pkg/loki/topology_query.go +++ b/pkg/loki/topology_query.go @@ -28,6 +28,7 @@ var ( } groupKeyLabels = map[string][]string{ "clusters": {"K8S_ClusterName"}, + "udns": {"UdnId"}, "zones": {"SrcK8S_Zone", "DstK8S_Zone"}, "hosts": {"SrcK8S_HostName", "DstK8S_HostName"}, "namespaces": {"SrcK8S_Namespace", "DstK8S_Namespace"}, diff --git a/pkg/model/fields/fields.go b/pkg/model/fields/fields.go index 46576652b..a57929a16 100644 --- a/pkg/model/fields/fields.go +++ b/pkg/model/fields/fields.go @@ -34,6 +34,7 @@ const ( SrcZone = Src + Zone DstZone = Dst + Zone Cluster = "K8S_ClusterName" + UDN = "UDN" Layer = "K8S_FlowLayer" Packets = "Packets" Proto = "Proto" diff --git a/pkg/server/routes.go b/pkg/server/routes.go index d4a3de92e..fb9d9462b 100644 --- a/pkg/server/routes.go +++ b/pkg/server/routes.go @@ -51,6 +51,7 @@ func setupRoutes(ctx context.Context, cfg *config.Config, authChecker auth.Check // Common endpoints api.HandleFunc("/flow/metrics", h.GetTopology(ctx)) api.HandleFunc("/resources/clusters", h.GetClusters(ctx)) + api.HandleFunc("/resources/udns", h.GetUDNs(ctx)) api.HandleFunc("/resources/zones", h.GetZones(ctx)) api.HandleFunc("/resources/namespaces", h.GetNamespaces(ctx)) api.HandleFunc("/resources/namespace/{namespace}/kind/{kind}/names", h.GetNames(ctx)) diff --git a/web/console-extensions.json b/web/console-extensions.json index 36cadb0a5..dc777d47b 100644 --- a/web/console-extensions.json +++ b/web/console-extensions.json @@ -243,6 +243,23 @@ } } }, + { + "type": "console.tab/horizontalNav", + "properties": { + "model": { + "version": "v1", + "group": "k8s.ovn.org", + "kind": "UserDefinedNetwork" + }, + "component": { + "$codeRef": "netflowTab.default" + }, + "page": { + "name": "%plugin__netobserv-plugin~Network Traffic%", + "href": "netflow" + } + } + }, { "type": "console.tab", "properties": { diff --git a/web/locales/en/plugin__netobserv-plugin.json b/web/locales/en/plugin__netobserv-plugin.json index db26aec49..0fdcbfdea 100644 --- a/web/locales/en/plugin__netobserv-plugin.json +++ b/web/locales/en/plugin__netobserv-plugin.json @@ -9,10 +9,10 @@ "Namespace": "Namespace", "Node": "Node", "Zone": "Zone", - "Cluster": "Cluster", "IP": "IP", "No information available for this content. Change scope to get more details.": "No information available for this content. Change scope to get more details.", "Cluster name": "Cluster name", + "UDN": "UDN", "Source": "Source", "Destination": "Destination", "Stats": "Stats", @@ -63,6 +63,11 @@ "Clusters + Zones": "Clusters + Zones", "Clusters + Namespaces": "Clusters + Namespaces", "Clusters + Owners": "Clusters + Owners", + "UDNs": "UDNs", + "UDNs + Zones": "UDNs + Zones", + "UDNs + Nodes": "UDNs + Nodes", + "UDNs + Namespaces": "UDNs + Namespaces", + "UDNs + Owners": "UDNs + Owners", "Zones": "Zones", "Zones + Nodes": "Zones + Nodes", "Zones + Namespaces": "Zones + Namespaces", @@ -150,6 +155,7 @@ "1 hour": "1 hour", "2 hours": "2 hours", "1 day": "1 day", + "Cluster": "Cluster", "Owner": "Owner", "Resource": "Resource", "Compact": "Compact", diff --git a/web/src/api/ipfix.ts b/web/src/api/ipfix.ts index b34f668ff..5fe80b052 100644 --- a/web/src/api/ipfix.ts +++ b/web/src/api/ipfix.ts @@ -179,6 +179,8 @@ export interface Fields { _IsFirst?: string; /** In conversation tracking, a counter of flow logs per conversation */ numFlowLogs?: number; + /** User Defined Network identifier */ + UdnId?: string; } export type Field = keyof Fields | keyof Labels; diff --git a/web/src/api/loki.ts b/web/src/api/loki.ts index 5cd513f61..99f970b61 100644 --- a/web/src/api/loki.ts +++ b/web/src/api/loki.ts @@ -68,6 +68,7 @@ export interface TopologyMetricPeer { resource?: NameAndType; hostName?: string; zone?: string; + udn?: string; clusterName?: string; resourceKind?: string; isAmbiguous: boolean; diff --git a/web/src/api/routes.ts b/web/src/api/routes.ts index 85072a600..c520d6a43 100644 --- a/web/src/api/routes.ts +++ b/web/src/api/routes.ts @@ -75,6 +75,16 @@ export const getClusters = (forcedNamespace?: string): Promise => { }); }; +export const getUDNs = (forcedNamespace?: string): Promise => { + const params = { namespace: forcedNamespace }; + return axios.get(ContextSingleton.getHost() + '/api/resources/udns', { params }).then(r => { + if (r.status >= 400) { + throw new Error(`${r.statusText} [code=${r.status}]`); + } + return r.data; + }); +}; + export const getZones = (forcedNamespace?: string): Promise => { const params = { namespace: forcedNamespace }; return axios.get(ContextSingleton.getHost() + '/api/resources/zones', { params }).then(r => { diff --git a/web/src/app.tsx b/web/src/app.tsx index b4c8185d2..6b5247a80 100755 --- a/web/src/app.tsx +++ b/web/src/app.tsx @@ -44,6 +44,10 @@ export const pages = [ { id: 'dev-tab', name: 'Dev tab' + }, + { + id: 'udn-tab', + name: 'UDN tab' } ]; @@ -75,6 +79,10 @@ export class App extends React.Component<{}, AppState> { private getPageContent = (id: string) => { console.debug('getPageContent', id); switch (id) { + case 'udn-tab': + return ( + + ); case 'pod-tab': return ; case 'namespace-tab': diff --git a/web/src/components/drawer/element/element-fields.tsx b/web/src/components/drawer/element/element-fields.tsx index 6efc81819..601d1ae16 100644 --- a/web/src/components/drawer/element/element-fields.tsx +++ b/web/src/components/drawer/element/element-fields.tsx @@ -108,22 +108,6 @@ export const ElementFields: React.FC = ({ ); forceLabel = forceAsText = undefined; } - if (data.peer.clusterName) { - fragments.push( - - ); - forceLabel = forceAsText = undefined; - } if (data.peer.addr) { fragments.push( = ({ return ( <> - {fragments.length > 0 ? ( + {fragments.length > 0 || data.peer.clusterName || data.peer.udn ? ( fragments ) : ( diff --git a/web/src/components/drawer/element/element-panel-content.tsx b/web/src/components/drawer/element/element-panel-content.tsx index 4c3b005f2..aa3fae440 100644 --- a/web/src/components/drawer/element/element-panel-content.tsx +++ b/web/src/components/drawer/element/element-panel-content.tsx @@ -75,10 +75,39 @@ export const ElementPanelContent: React.FC = ({ [filterDefinitions, filters, setFilters, t] ); + const udnName = React.useCallback( + (d: NodeData) => { + if (!d.peer.udn) { + return <>; + } + const fields = createPeer({ udn: d.peer.udn }); + const isFiltered = isElementFiltered(fields, filters, filterDefinitions); + return ( + + {t('UDN')} + + {d.peer.udn} + +