hy-app-monitor/.env.example
zhx f89ebe797e fix: drain internal CLB targets before restarting service instances
部署/滚动重启非 gateway 实例时,先把该实例在内网 CLB(app-internal/pay-internal)
上的后端权重摘到 0 并等待排空,实例恢复健康后再还原权重。

此前只做 Nacos 摘流,但业务服务之间(如 live -> other)经内网 CLB 固定 VIP
互调,Nacos 摘流对这部分流量无效:容器被杀后 CLB 健康检查(5s x 3 次)摘除
死后端之前,调用方请求持续打到死后端,把调用方线程池拖垮,表现为
“部署 other 时 live 挂掉一个”(health 探测超时 60-70 秒)。

通过 INTERNAL_CLB_IDS 配置启用;未配置时保持历史行为。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:56:27 +08:00

142 lines
4.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

APP_BIND=0.0.0.0
APP_PORT=2026
YUMI_INTERNAL_HOST=127.0.0.1
YUMI_INTERNAL_PORT=2027
HAIYI_INTERNAL_HOST=127.0.0.1
HAIYI_INTERNAL_PORT=2028
INTERNAL_PROXY_SHARED_SECRET=change-me
GATEWAY_PROXY_TIMEOUT_SECONDS=600
AUTH_DB_PATH=/opt/hy-app-monitor/run/auth.sqlite3
AUTH_SESSION_TTL_HOURS=24
AUTH_COOKIE_SECURE=0
DEFAULT_REFRESH_INTERVAL_SECONDS=10
REFRESH_INTERVAL_OPTIONS=5,10,15,30,60
PROBE_TIMEOUT_SECONDS=3
PROBE_CACHE_TTL_SECONDS=5
PROBE_MAX_WORKERS=12
HOST_METRIC_CACHE_TTL_SECONDS=25
HOST_METRIC_TIMEOUT_SECONDS=30
HOST_METRIC_CPU_SAMPLE_SECONDS=1
TAT_METRIC_TIMEOUT_SECONDS=30
TAT_CPU_SAMPLE_SECONDS=1
SSH_USER=root
SSH_USE_SUDO=0
SSH_PORT=22
SSH_CONNECT_TIMEOUT_SECONDS=10
SSH_STRICT_HOST_KEY_CHECKING=accept-new
SSH_PRIVATE_KEY_PATH=/opt/hy-app-monitor/run/ssh/id_ed25519
SSH_KNOWN_HOSTS_PATH=/opt/hy-app-monitor/run/ssh/known_hosts
SERVICE_LOG_PREVIEW_LINES=1000
SERVICE_LOG_EXPORT_MAX_LINES=10000
ROLLING_RESTART_TIMEOUT_SECONDS=180
ROLLING_RESTART_POLL_SECONDS=2
ROLLING_RESTART_STABILIZE_SECONDS=2
NACOS_RELEASE_DRAIN_SERVICES=other
NACOS_RELEASE_DRAIN_SECONDS=8
NACOS_RELEASE_DRAIN_TIMEOUT_SECONDS=30
SERVICE_BUILD_TIMEOUT_SECONDS=3600
SERVICE_PULL_TIMEOUT_SECONDS=600
SERVICE_BUILD_CACHE_ROOT=/opt/deploy/build-cache
JAVA_MAVEN_THREADS=1C
JAVA_IMAGE_BUILD_MAX_WORKERS=3
NACOS_BASE_URL=http://10.2.1.17:8848
NACOS_NAMESPACE_ID=f7a8594e-090c-4830-a3ad-b5c0f9afcc07
NACOS_NAMESPACE_NAME=RedCircleServiceProd
NACOS_DISCOVERY_GROUP=DEFAULT_GROUP
NACOS_DISCOVERY_CLUSTER_NAME=DEFAULT
NACOS_CACHE_TTL_SECONDS=15
HARBOR_REGISTRY=10.2.1.3:18082
HARBOR_PROJECT=likei
HARBOR_USERNAME=
HARBOR_PASSWORD=
BUILD_DOCKER_PLATFORM=linux/amd64
UPDATE_DEFAULT_JAVA_GIT_REF=main
UPDATE_DEFAULT_GO_GIT_REF=main
UPDATE_DEFAULT_ADMIN_GIT_REF=main
JAVA_REPO_ROOT=/opt/deploy/sources/chatapp3-java
GOLANG_REPO_ROOT=/opt/deploy/sources/chatapp3-golang
ADMIN_FRONTEND_ENABLED=1
ADMIN_FRONTEND_SERVICE_NAME=admin
ADMIN_FRONTEND_REPO_URL=git@gitea.haiyihy.com:hy/chatapp3-admin.git
ADMIN_FRONTEND_REPO_ROOT=/opt/deploy/sources/chatapp3-admin
ADMIN_FRONTEND_HOST=admin-platform
ADMIN_FRONTEND_IP=10.2.1.2
ADMIN_FRONTEND_INSTANCE_ID=ins-p11begwe
ADMIN_FRONTEND_SSH_HOST=10.2.1.2
ADMIN_FRONTEND_SSH_USER=root
ADMIN_FRONTEND_SSH_PORT=22
ADMIN_FRONTEND_SSH_USE_SUDO=0
ADMIN_FRONTEND_REMOTE_DIR=/opt/yumi-admin/frontend-admin
ADMIN_FRONTEND_SITE_DIR=/opt/yumi-admin/frontend-admin/site/yumiadmin-acc
ADMIN_FRONTEND_COMPOSE_FILE=/opt/yumi-admin/frontend-admin/docker-compose.yml
ADMIN_FRONTEND_COMPOSE_SERVICE=caddy
ADMIN_FRONTEND_RELEASE_META_PATH=/opt/yumi-admin/frontend-admin/.hy-app-monitor-admin-release.json
ADMIN_FRONTEND_BUILD_SCRIPT=build:antdv-next
ADMIN_FRONTEND_DIST_DIR=apps/dist
ADMIN_FRONTEND_PUBLIC_URL=https://yumiadmin-acc.global-interaction.com
CHATAPP_CRON_ENABLED=1
CHATAPP_CRON_REPO_URL=git@gitea.haiyihy.com:hy/chatapp-cron.git
CHATAPP_CRON_REPO_ROOT=/opt/deploy/sources/chatapp-cron
CHATAPP_CRON_DEFAULT_GIT_REF=main
CHATAPP_CRON_SERVICE_NAME=chatapp-cron
CHATAPP_CRON_HOST=cron-sg-1
CHATAPP_CRON_IP=10.3.1.14
CHATAPP_CRON_INSTANCE_ID=ins-nt6bsay0
CHATAPP_CRON_SSH_HOST=10.3.1.14
CHATAPP_CRON_SSH_USER=root
CHATAPP_CRON_SSH_PORT=22
CHATAPP_CRON_SSH_USE_SUDO=0
CHATAPP_CRON_REMOTE_DIR=/opt/likei/cron-sg-1
CHATAPP_CRON_COMPOSE_FILE=/opt/likei/cron-sg-1/docker-compose.yml
CHATAPP_CRON_COMPOSE_SERVICE=week-star-job
CHATAPP_CRON_BINARY_PATH=/opt/likei/cron-sg-1/week-star-job/service
CHATAPP_CRON_RELEASE_META_PATH=/opt/likei/cron-sg-1/.hy-app-monitor-chatapp-cron-release.json
MONGO_URI=
MONGO_DB_NAME=tarab_all
MONGO_INSTANCE_ID=ins-o9mmob66
MONGO_CACHE_TTL_SECONDS=20
MYSQL_HOST=
MYSQL_PORT=3306
MYSQL_USER=
MYSQL_PASSWORD=
MYSQL_DEFAULT_DATABASE=
MYSQL_CACHE_TTL_SECONDS=10
MYSQL_CONNECT_TIMEOUT_SECONDS=5
MYSQL_READ_TIMEOUT_SECONDS=15
MYSQL_WRITE_TIMEOUT_SECONDS=15
MYSQL_DEFAULT_PAGE_SIZE=100
MYSQL_MAX_PAGE_SIZE=200
MYSQL_QUERY_MAX_ROWS=500
CPU_WARN_PERCENT=60
CPU_BAD_PERCENT=85
MEMORY_WARN_PERCENT=70
MEMORY_BAD_PERCENT=90
DISK_WARN_PERCENT=75
DISK_BAD_PERCENT=90
PROCESS_WARN_COUNT=180
PROCESS_BAD_COUNT=260
SERVICE_LATENCY_WARN_MS=1000
SERVICE_LATENCY_BAD_MS=3000
DEPLOY_REGION=me-saudi-arabia
DEPLOY_INSTANCE_ID=
TENCENT_SECRET_ID=
TENCENT_SECRET_KEY=
GATEWAY_CLB_LOAD_BALANCER_ID=
GATEWAY_CLB_LISTENER_IDS=
GATEWAY_CLB_ALLOWED_DOMAINS=
CDN_ALLOWED_DOMAINS=h5.haiyihy.com
CDN_PURGE_TASK_LIMIT=20
GATEWAY_CLB_POLL_SECONDS=2
GATEWAY_CLB_TASK_TIMEOUT_SECONDS=120
GATEWAY_CLB_DRAIN_SECONDS=0
# 业务服务互调走的内网 CLB如 app-internal / pay-internal
# 配置后,发布/滚动重启任何非 gateway 实例前会先把它在这些 CLB 上的后端权重摘到 0
# 恢复健康后再还原权重;不配置则跳过内网 CLB 摘流(历史行为)。
INTERNAL_CLB_IDS=
INTERNAL_CLB_DRAIN_SECONDS=10
DEPLOY_SSH_HOST=
DEPLOY_SSH_USER=root
DEPLOY_SSH_PORT=22
DEPLOY_SSH_IDENTITY_FILE=
MONITOR_REMOTE_DIR=/opt/hy-app-monitor