envoyproxy / envoyproxy/envoy

UDP proxy for upstream health monitoring

Open
#37,824 11 comments 0 reactions 0 assignees View on GitHub
area/health_checking area/udp area/upstream no stalebot question
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

```yaml
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 127.0.0.1
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: UDP
address: 0.0.0.0
port_value: 1234
udp_listener_config:
downstream_socket_config:
max_rx_datagram_size: 9000
listener_filters:
- name: envoy.filters.udp_listener.udp_proxy
typed_config:
'@type': type.googleapis.com/envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig
stat_prefix: service
matcher:
on_no_match:
action:
name: route
typed_config:
'@type': type.googleapis.com/envoy.extensions.filters.udp.udp_proxy.v3.Route
cluster: service_udp
upstream_socket_config:
max_rx_datagram_size: 9000
clusters:
- name: service_udp
type: STATIC
lb_policy: ROUND_ROBIN
connect_timeout: 0.25s
load_assignment:
cluster_name: service_udp
endpoints:
- lb_endpoints:
- endpoint:
health_check_config:
port_value: 64879
address:
socket_address:
address: 1.1.1.1
port_value: 64879
address:
socket_address:
address: 1.1.1.1
port_value: 64879
- endpoint:
health_check_config:
port_value: 64879
address:
socket_address:
address: 2.2.2.2
port_value: 64879
address:
socket_address:
address: 2.2.2.2
port_value: 64879
```
64879 is a service port for Wireguard, which was started on 1.1.1.1 and 2.2.2.2 respectively. Now, stop the Wireguard service in 1.1.1.1 and use curl http://127.0.0.1:9901/cluster I see that the health status of this IP is still normal. May I ask how to solve this? How to perform health check on UDP 64879 port?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.