{ | |
"node": { | |
"id": "sidecar~1.2.3.4~foo~bar", | |
"cluster": "istio-proxy", | |
"locality": { | |
}, | |
"metadata": {"ENVOY_PROMETHEUS_PORT":15090,"ENVOY_STATUS_PORT":15021,"INSTANCE_IPS":"10.3.3.3,10.4.4.4,10.5.5.5,10.6.6.6","OUTLIER_LOG_PATH":"/dev/stdout","PILOT_SAN":["spiffe://cluster.local/ns/dubbo-system/sa/istio-pilot-service-account"],"PROXY_CONFIG":{"binaryPath":"/usr/local/bin/envoy","configPath":"/tmp/bootstrap/tracing_lightstep","customConfigFile":"envoy_bootstrap.json","discoveryAddress":"istio-pilot:15010","drainDuration":"2s","parentShutdownDuration":"3s","proxyAdminPort":15000,"serviceCluster":"istio-proxy","statusPort":15020,"tracing":{"lightstep":{"accessToken":"abcdefg1234567","address":"lightstep-satellite:8080"}}}} | |
}, | |
"layered_runtime": { | |
"layers": [ | |
{ | |
"name": "global config", | |
"static_layer": {"envoy.deprecated_features:envoy.config.listener.v3.Listener.hidden_envoy_deprecated_use_original_dst":"true","envoy.reloadable_features.http_reject_path_with_fragment":"false","envoy.reloadable_features.no_extension_lookup_by_name":"false","envoy.reloadable_features.require_strict_1xx_and_204_response_headers":"false","overload.global_downstream_max_connections":"2147483647","re2.max_program_size.error_level":"32768"} | |
}, | |
{ | |
"name": "admin", | |
"admin_layer": {} | |
} | |
] | |
}, | |
"stats_config": { | |
"use_all_default_tags": false, | |
"stats_tags": [ | |
{ | |
"tag_name": "cluster_name", | |
"regex": "^cluster\\.((.+?(\\..+?\\.svc\\.cluster\\.local)?)\\.)" | |
}, | |
{ | |
"tag_name": "tcp_prefix", | |
"regex": "^tcp\\.((.*?)\\.)\\w+?$" | |
}, | |
{ | |
"regex": "(response_code=\\.=(.+?);\\.;)|_rq(_(\\.d{3}))$", | |
"tag_name": "response_code" | |
}, | |
{ | |
"tag_name": "response_code_class", | |
"regex": "_rq(_(\\dxx))$" | |
}, | |
{ | |
"tag_name": "http_conn_manager_listener_prefix", | |
"regex": "^listener(?=\\.).*?\\.http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" | |
}, | |
{ | |
"tag_name": "http_conn_manager_prefix", | |
"regex": "^http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" | |
}, | |
{ | |
"tag_name": "listener_address", | |
"regex": "^listener\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)" | |
}, | |
{ | |
"tag_name": "mongo_prefix", | |
"regex": "^mongo\\.(.+?)\\.(collection|cmd|cx_|op_|delays_|decoding_)(.*?)$" | |
}, | |
{ | |
"regex": "(reporter=\\.=(.*?);\\.;)", | |
"tag_name": "reporter" | |
}, | |
{ | |
"regex": "(source_namespace=\\.=(.*?);\\.;)", | |
"tag_name": "source_namespace" | |
}, | |
{ | |
"regex": "(source_workload=\\.=(.*?);\\.;)", | |
"tag_name": "source_workload" | |
}, | |
{ | |
"regex": "(source_workload_namespace=\\.=(.*?);\\.;)", | |
"tag_name": "source_workload_namespace" | |
}, | |
{ | |
"regex": "(source_principal=\\.=(.*?);\\.;)", | |
"tag_name": "source_principal" | |
}, | |
{ | |
"regex": "(source_app=\\.=(.*?);\\.;)", | |
"tag_name": "source_app" | |
}, | |
{ | |
"regex": "(source_version=\\.=(.*?);\\.;)", | |
"tag_name": "source_version" | |
}, | |
{ | |
"regex": "(source_cluster=\\.=(.*?);\\.;)", | |
"tag_name": "source_cluster" | |
}, | |
{ | |
"regex": "(destination_namespace=\\.=(.*?);\\.;)", | |
"tag_name": "destination_namespace" | |
}, | |
{ | |
"regex": "(destination_workload=\\.=(.*?);\\.;)", | |
"tag_name": "destination_workload" | |
}, | |
{ | |
"regex": "(destination_workload_namespace=\\.=(.*?);\\.;)", | |
"tag_name": "destination_workload_namespace" | |
}, | |
{ | |
"regex": "(destination_principal=\\.=(.*?);\\.;)", | |
"tag_name": "destination_principal" | |
}, | |
{ | |
"regex": "(destination_app=\\.=(.*?);\\.;)", | |
"tag_name": "destination_app" | |
}, | |
{ | |
"regex": "(destination_version=\\.=(.*?);\\.;)", | |
"tag_name": "destination_version" | |
}, | |
{ | |
"regex": "(destination_service=\\.=(.*?);\\.;)", | |
"tag_name": "destination_service" | |
}, | |
{ | |
"regex": "(destination_service_name=\\.=(.*?);\\.;)", | |
"tag_name": "destination_service_name" | |
}, | |
{ | |
"regex": "(destination_service_namespace=\\.=(.*?);\\.;)", | |
"tag_name": "destination_service_namespace" | |
}, | |
{ | |
"regex": "(destination_port=\\.=(.*?);\\.;)", | |
"tag_name": "destination_port" | |
}, | |
{ | |
"regex": "(destination_cluster=\\.=(.*?);\\.;)", | |
"tag_name": "destination_cluster" | |
}, | |
{ | |
"regex": "(request_protocol=\\.=(.*?);\\.;)", | |
"tag_name": "request_protocol" | |
}, | |
{ | |
"regex": "(request_operation=\\.=(.*?);\\.;)", | |
"tag_name": "request_operation" | |
}, | |
{ | |
"regex": "(request_host=\\.=(.*?);\\.;)", | |
"tag_name": "request_host" | |
}, | |
{ | |
"regex": "(response_flags=\\.=(.*?);\\.;)", | |
"tag_name": "response_flags" | |
}, | |
{ | |
"regex": "(grpc_response_status=\\.=(.*?);\\.;)", | |
"tag_name": "grpc_response_status" | |
}, | |
{ | |
"regex": "(connection_security_policy=\\.=(.*?);\\.;)", | |
"tag_name": "connection_security_policy" | |
}, | |
{ | |
"regex": "(source_canonical_service=\\.=(.*?);\\.;)", | |
"tag_name": "source_canonical_service" | |
}, | |
{ | |
"regex": "(destination_canonical_service=\\.=(.*?);\\.;)", | |
"tag_name": "destination_canonical_service" | |
}, | |
{ | |
"regex": "(source_canonical_revision=\\.=(.*?);\\.;)", | |
"tag_name": "source_canonical_revision" | |
}, | |
{ | |
"regex": "(destination_canonical_revision=\\.=(.*?);\\.;)", | |
"tag_name": "destination_canonical_revision" | |
}, | |
{ | |
"regex": "(cache\\.(.+?)\\.)", | |
"tag_name": "cache" | |
}, | |
{ | |
"regex": "(component\\.(.+?)\\.)", | |
"tag_name": "component" | |
}, | |
{ | |
"regex": "(tag\\.(.+?);\\.)", | |
"tag_name": "tag" | |
}, | |
{ | |
"regex": "(wasm_filter\\.(.+?)\\.)", | |
"tag_name": "wasm_filter" | |
}, | |
{ | |
"tag_name": "authz_enforce_result", | |
"regex": "rbac(\\.(allowed|denied))" | |
}, | |
{ | |
"tag_name": "authz_dry_run_action", | |
"regex": "(\\.istio_dry_run_(allow|deny)_)" | |
}, | |
{ | |
"tag_name": "authz_dry_run_result", | |
"regex": "(\\.shadow_(allowed|denied))" | |
} | |
], | |
"stats_matcher": { | |
"inclusion_list": { | |
"patterns": [ | |
{ | |
"prefix": "reporter=" | |
}, | |
{ | |
"prefix": "cluster_manager" | |
}, | |
{ | |
"prefix": "listener_manager" | |
}, | |
{ | |
"prefix": "server" | |
}, | |
{ | |
"prefix": "cluster.xds-grpc" | |
}, | |
{ | |
"prefix": "wasm" | |
}, | |
{ | |
"suffix": "rbac.allowed" | |
}, | |
{ | |
"suffix": "rbac.denied" | |
}, | |
{ | |
"suffix": "shadow_allowed" | |
}, | |
{ | |
"suffix": "shadow_denied" | |
}, | |
{ | |
"prefix": "component" | |
} | |
] | |
} | |
} | |
}, | |
"admin": { | |
"access_log_path": "/dev/null", | |
"profile_path": "/var/lib/istio/data/envoy.prof", | |
"address": { | |
"socket_address": { | |
"address": "127.0.0.1", | |
"port_value": 15000 | |
} | |
} | |
}, | |
"dynamic_resources": { | |
"lds_config": { | |
"ads": {}, | |
"initial_fetch_timeout": "0s", | |
"resource_api_version": "V3" | |
}, | |
"cds_config": { | |
"ads": {}, | |
"initial_fetch_timeout": "0s", | |
"resource_api_version": "V3" | |
}, | |
"ads_config": { | |
"api_type": "GRPC", | |
"set_node_on_first_message_only": true, | |
"transport_api_version": "V3", | |
"grpc_services": [ | |
{ | |
"envoy_grpc": { | |
"cluster_name": "xds-grpc" | |
} | |
} | |
] | |
} | |
}, | |
"static_resources": { | |
"clusters": [ | |
{ | |
"name": "prometheus_stats", | |
"type": "STATIC", | |
"connect_timeout": "0.250s", | |
"lb_policy": "ROUND_ROBIN", | |
"load_assignment": { | |
"cluster_name": "prometheus_stats", | |
"endpoints": [{ | |
"lb_endpoints": [{ | |
"endpoint": { | |
"address":{ | |
"socket_address": { | |
"protocol": "TCP", | |
"address": "127.0.0.1", | |
"port_value": 15000 | |
} | |
} | |
} | |
}] | |
}] | |
} | |
}, | |
{ | |
"name": "agent", | |
"type": "STATIC", | |
"connect_timeout": "0.250s", | |
"lb_policy": "ROUND_ROBIN", | |
"load_assignment": { | |
"cluster_name": "agent", | |
"endpoints": [{ | |
"lb_endpoints": [{ | |
"endpoint": { | |
"address":{ | |
"socket_address": { | |
"protocol": "TCP", | |
"address": "127.0.0.1", | |
"port_value": 15020 | |
} | |
} | |
} | |
}] | |
}] | |
} | |
}, | |
{ | |
"name": "sds-grpc", | |
"type": "STATIC", | |
"typed_extension_protocol_options": { | |
"envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { | |
"@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", | |
"explicit_http_config": { | |
"http2_protocol_options": {} | |
} | |
} | |
}, | |
"connect_timeout": "1s", | |
"lb_policy": "ROUND_ROBIN", | |
"load_assignment": { | |
"cluster_name": "sds-grpc", | |
"endpoints": [{ | |
"lb_endpoints": [{ | |
"endpoint": { | |
"address":{ | |
"pipe": { | |
"path": "./var/run/secrets/workload-spiffe-uds/socket" | |
} | |
} | |
} | |
}] | |
}] | |
} | |
}, | |
{ | |
"name": "xds-grpc", | |
"type" : "STATIC", | |
"connect_timeout": "1s", | |
"lb_policy": "ROUND_ROBIN", | |
"load_assignment": { | |
"cluster_name": "xds-grpc", | |
"endpoints": [{ | |
"lb_endpoints": [{ | |
"endpoint": { | |
"address":{ | |
"pipe": { | |
"path": "/tmp/XDS" | |
} | |
} | |
} | |
}] | |
}] | |
}, | |
"circuit_breakers": { | |
"thresholds": [ | |
{ | |
"priority": "DEFAULT", | |
"max_connections": 100000, | |
"max_pending_requests": 100000, | |
"max_requests": 100000 | |
}, | |
{ | |
"priority": "HIGH", | |
"max_connections": 100000, | |
"max_pending_requests": 100000, | |
"max_requests": 100000 | |
} | |
] | |
}, | |
"upstream_connection_options": { | |
"tcp_keepalive": { | |
"keepalive_time": 300 | |
} | |
}, | |
"max_requests_per_connection": 1, | |
"typed_extension_protocol_options": { | |
"envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { | |
"@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", | |
"explicit_http_config": { | |
"http2_protocol_options": {} | |
} | |
} | |
} | |
} | |
, | |
{ | |
"name": "lightstep", | |
"typed_extension_protocol_options": { | |
"envoy.extensions.upstreams.http.v3.HttpProtocolOptions": { | |
"@type": "type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions", | |
"explicit_http_config": { | |
"http2_protocol_options": {} | |
} | |
} | |
}, | |
"type": "STRICT_DNS", | |
"respect_dns_ttl": true, | |
"dns_lookup_family": "V4_ONLY", | |
"connect_timeout": "1s", | |
"lb_policy": "ROUND_ROBIN", | |
"load_assignment": { | |
"cluster_name": "lightstep", | |
"endpoints": [{ | |
"lb_endpoints": [{ | |
"endpoint": { | |
"address":{ | |
"socket_address": {"address": "lightstep-satellite", "port_value": 8080} | |
} | |
} | |
}] | |
}] | |
} | |
} | |
], | |
"listeners":[ | |
{ | |
"address": { | |
"socket_address": { | |
"protocol": "TCP", | |
"address": "0.0.0.0", | |
"port_value": 15090 | |
} | |
}, | |
"filter_chains": [ | |
{ | |
"filters": [ | |
{ | |
"name": "envoy.filters.network.http_connection_manager", | |
"typed_config": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", | |
"codec_type": "AUTO", | |
"stat_prefix": "stats", | |
"route_config": { | |
"virtual_hosts": [ | |
{ | |
"name": "backend", | |
"domains": [ | |
"*" | |
], | |
"routes": [ | |
{ | |
"match": { | |
"prefix": "/stats/prometheus" | |
}, | |
"route": { | |
"cluster": "prometheus_stats" | |
} | |
} | |
] | |
} | |
] | |
}, | |
"http_filters": [{ | |
"name": "envoy.filters.http.router", | |
"typed_config": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" | |
} | |
}] | |
} | |
} | |
] | |
} | |
] | |
}, | |
{ | |
"address": { | |
"socket_address": { | |
"protocol": "TCP", | |
"address": "0.0.0.0", | |
"port_value": 15021 | |
} | |
}, | |
"filter_chains": [ | |
{ | |
"filters": [ | |
{ | |
"name": "envoy.filters.network.http_connection_manager", | |
"typed_config": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager", | |
"codec_type": "AUTO", | |
"stat_prefix": "agent", | |
"route_config": { | |
"virtual_hosts": [ | |
{ | |
"name": "backend", | |
"domains": [ | |
"*" | |
], | |
"routes": [ | |
{ | |
"match": { | |
"prefix": "/healthz/ready" | |
}, | |
"route": { | |
"cluster": "agent" | |
} | |
} | |
] | |
} | |
] | |
}, | |
"http_filters": [{ | |
"name": "envoy.filters.http.router", | |
"typed_config": { | |
"@type": "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router" | |
} | |
}] | |
} | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
, | |
"tracing": { | |
"http": { | |
"name": "envoy.tracers.lightstep", | |
"typed_config": { | |
"@type": "type.googleapis.com/envoy.config.trace.v3.LightstepConfig", | |
"collector_cluster": "lightstep", | |
"access_token_file": "/test-path/lightstep_access_token.txt" | |
} | |
} | |
} | |
, | |
"cluster_manager": { | |
"outlier_detection": { | |
"event_log_path": "/dev/stdout" | |
} | |
} | |
} |