Current Behavior
The upstream health check is working, but it is not displayed in the "APISIX upstream check status"
http://localhost:9090/v1/healthcheck
Expected Behavior
All health checks and their statuses are displayed
Documentation https://apisix.apache.org/docs/apisix/control-api/
Error Logs
No response
Steps to Reproduce
Create conf/config.yaml
apisix :
node_listen : 9080 # APISIX listening port
enable_ipv6 : false
proxy_mode : http&stream
stream_proxy :
tcp :
- 64738
udp :
- 64738
enable_control : true
control :
ip : " 0.0.0.0"
port : 9090
deployment :
admin :
enable_admin_ui : true
allow_admin : # https://nginx.org/en/docs/http/ngx_http_access_module.html#allow
- 0.0.0.0/0 # We need to restrict ip access rules for security. 0.0.0.0/0 is for test.
admin_key :
- name : " nayls"
key : 1234567890
role : admin # admin: manage all configuration data
etcd :
host : # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
- " http://etcd-1:2379" # multiple etcd address
prefix : " /apisix" # apisix configurations prefix
timeout : 30 # 30 seconds
Create docker-compose.yaml
services :
apisix :
image : " apache/apisix:3.14.1-debian"
restart : always
volumes :
- ./conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
depends_on :
- etcd-1
ports :
- " 9180:9180/tcp"
- " 9080:9080/tcp"
- " 9091:9091/tcp"
- " 9443:9443/tcp"
- " 9090:9090/tcp"
- " 64738:64738/tcp"
- " 64738:64738/udp"
networks :
- apisix
etcd-1 :
image : quay.io/coreos/etcd:v3.6.6
restart : always
networks :
- apisix
ports :
- " 2379:2379"
- " 2380:2380"
volumes :
- etcd-1-data:/etcd-data
command : |
/usr/local/bin/etcd
--name=etcd-1
--initial-advertise-peer-urls=http://etcd-1:2380
--listen-peer-urls=http://0.0.0.0:2380
--advertise-client-urls=http://etcd-1:2379
--listen-client-urls=http://0.0.0.0:2379
--initial-cluster etcd-1=http://etcd-1:2380
--data-dir=/etcd-data
networks :
apisix :
driver : bridge
volumes :
etcd-1-data :
Run environment docker compose up -d
Create upstream
curl http://127.0.0.1:9180/apisix/admin/upstreams/1 -H ' X-API-KEY: 1234567890' -X PUT -d '
{
"name": "upstream_test",
"nodes": {
"192.168.1.50:64738": 1
},
"type": "chash",
"key": "remote_addr",
"hash_on": "vars",
"timeout": {
"connect": 40.0,
"send": 40.0,
"read": 40.0
},
"retries": 3,
"retry_timeout": 40,
"checks": {
"active": {
"type": "tcp",
"port": 64738,
"timeout": 40,
"concurrency": 2,
"healthy": {
"interval": 60,
"successes": 2
},
"unhealthy": {
"interval": 60,
"failures": 2
}
}
}
}'
Create stream-route
curl http://127.0.0.1:9180/apisix/admin/stream_routes/1 -H ' X-API-KEY: 1234567890' -X PUT -d '
{
"name": "stream_test",
"upstream_id": "1",
"server_port": 64738
}'
Environment
APISIX version (run apisix version): 3.14.1
Operating system (run uname -a): Linux 7f7ed4f3925c 6.8.12-16-pve change: added doc of how to load plugin. #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-16 (2025-10-14T08:58Z) x86_64 GNU/Linux
OpenResty / Nginx version (run openresty -V or nginx -V): nginx version: openresty/1.27.1.2
etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info): 3.6.6
APISIX Dashboard version, if relevant:
Plugin runner version, for issues related to plugin runners:
LuaRocks version, for installation issues (run luarocks --version):
Current Behavior
The upstream health check is working, but it is not displayed in the "APISIX upstream check status"
http://localhost:9090/v1/healthcheck

Expected Behavior
All health checks and their statuses are displayed
Documentation https://apisix.apache.org/docs/apisix/control-api/
Error Logs
No response
Steps to Reproduce
docker compose up -dEnvironment
apisix version): 3.14.1uname -a): Linux 7f7ed4f3925c 6.8.12-16-pve change: added doc of how to load plugin. #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-16 (2025-10-14T08:58Z) x86_64 GNU/Linuxopenresty -Vornginx -V): nginx version: openresty/1.27.1.2curl http://127.0.0.1:9090/v1/server_info): 3.6.6luarocks --version):