When implementing networking-related configuration or telemetry parsing, avoid brittle assumptions about IP/host formats and instead use portable defaults plus canonical resolution.
1) Container/network config: prefer portable defaults
ports: publishing for out-of-the-box operation.Example pattern (portable default):
services:
app:
build: .
image: myapp:local
ports:
- "514:514/udp"
- "514:514/tcp"
restart: unless-stopped
# Optional advanced macvlan/dedicated IP configuration goes here as a commented section.
2) Log/parser network identity: preserve and resolve FQDNs
Example pattern (canonicalize host identity):
| extend
ResolvedHost = _ASIM_ResolveDvcFQDN('HostName')
| project
HostName = ResolvedHost.Hostname,
Domain = ResolvedHost.Domain,
DomainType = ResolvedHost.DomainType,
FQDN = ResolvedHost.FQDN
Apply this standard to both runtime networking (Compose/Kubernetes) and network identity in parsing so outputs are stable across hosts, DNS styles, and deployment environments.