feat(topup-log): add NODE_NAME env var for audit logs

Introduce NODE_NAME environment variable to identify node identity in top-up
audit logs, improving readability over auto-detected container internal IPs
in Docker/K8s deployments. Surface node_name in admin expanded log rows and
add it as a commented example to docker-compose.yml.
This commit is contained in:
CaIon
2026-04-18 00:51:04 +08:00
parent 6ff8c7ab03
commit 209645e26b
12 changed files with 20 additions and 0 deletions
+4
View File
@@ -116,6 +116,10 @@ var RetryTimes = 0
var IsMasterNode bool
// NodeName 节点名称,从 NODE_NAME 环境变量读取;
// 用于审计日志中标识节点身份,在容器/K8s 部署时比自动探测到的容器内网 IP 更具可读性。
var NodeName = ""
var requestInterval int
var RequestInterval time.Duration
+1
View File
@@ -82,6 +82,7 @@ func InitEnv() {
DebugEnabled = os.Getenv("DEBUG") == "true"
MemoryCacheEnabled = os.Getenv("MEMORY_CACHE_ENABLED") == "true"
IsMasterNode = os.Getenv("NODE_TYPE") != "slave"
NodeName = os.Getenv("NODE_NAME")
TLSInsecureSkipVerify = GetEnvOrDefaultBool("TLS_INSECURE_SKIP_VERIFY", false)
if TLSInsecureSkipVerify {
if tr, ok := http.DefaultTransport.(*http.Transport); ok && tr != nil {
+1
View File
@@ -32,6 +32,7 @@ services:
- TZ=Asia/Shanghai
- ERROR_LOG_ENABLED=true # 是否启用错误日志记录 (Whether to enable error log recording)
- BATCH_UPDATE_ENABLED=true # 是否启用批量更新 (Whether to enable batch update)
- NODE_NAME=new-api-node-1 # 节点名称,用于审计日志中标识节点身份;多节点/容器部署时建议设置 (Node name used in audit logs; recommended when running multiple instances or in containers)
# - STREAMING_TIMEOUT=300 # 流模式无响应超时时间,单位秒,默认120秒,如果出现空补全可以尝试改为更大值 (Streaming timeout in seconds, default is 120s. Increase if experiencing empty completions
# - SESSION_SECRET=random_string # 多机部署时设置,必须修改这个随机字符串!! (multi-node deployment, set this to a random string!!!!!!!
# - SYNC_FREQUENCY=60 # Uncomment if regular database syncing is needed
+1
View File
@@ -118,6 +118,7 @@ func RecordTopupLog(userId int, content string, callerIp string, paymentMethod s
username, _ := GetUsernameById(userId, false)
adminInfo := map[string]interface{}{
"server_ip": common.GetIp(),
"node_name": common.NodeName,
"caller_ip": callerIp,
"payment_method": paymentMethod,
"callback_payment_method": callbackPaymentMethod,
+6
View File
@@ -740,6 +740,12 @@ export const useLogsData = () => {
value: adminInfo.server_ip,
});
}
if (adminInfo.node_name) {
expandDataLocal.push({
key: t('节点名称'),
value: adminInfo.node_name,
});
}
if (adminInfo.version) {
expandDataLocal.push({
key: t('系统版本'),
+1
View File
@@ -1957,6 +1957,7 @@
"服务可用性": "Service Status",
"服务商": "Service Provider",
"服务器IP": "Server IP",
"节点名称": "Node Name",
"服务器地址": "Server Address",
"服务器日志功能未启用(未配置日志目录)": "Server logging is not enabled (log directory not configured)",
"服务器日志管理": "Server Log Management",
+1
View File
@@ -1950,6 +1950,7 @@
"服务可用性": "État du service",
"服务商": "Service Provider",
"服务器IP": "IP du serveur",
"节点名称": "Nom du nœud",
"服务器地址": "Adresse du serveur",
"服务器日志功能未启用(未配置日志目录)": "La journalisation du serveur n'est pas activée (répertoire de journaux non configuré)",
"服务器日志管理": "Gestion des journaux du serveur",
+1
View File
@@ -1921,6 +1921,7 @@
"服务可用性": "サービスの可用性",
"服务商": "Service Provider",
"服务器IP": "サーバーIP",
"节点名称": "ノード名",
"服务器地址": "サーバーURL",
"服务器日志功能未启用(未配置日志目录)": "サーバーログ機能が有効になっていません(ログディレクトリが未設定)",
"服务器日志管理": "サーバーログ管理",
+1
View File
@@ -1968,6 +1968,7 @@
"服务可用性": "Доступность сервиса",
"服务商": "Service Provider",
"服务器IP": "IP сервера",
"节点名称": "Имя узла",
"服务器地址": "Адрес сервера",
"服务器日志功能未启用(未配置日志目录)": "Ведение журнала сервера не включено (каталог журналов не настроен)",
"服务器日志管理": "Управление журналами сервера",
+1
View File
@@ -1922,6 +1922,7 @@
"服务可用性": "Trạng thái dịch vụ",
"服务商": "Service Provider",
"服务器IP": "IP máy chủ",
"节点名称": "Tên nút",
"服务器地址": "Địa chỉ máy chủ",
"服务器日志功能未启用(未配置日志目录)": "Ghi nhật ký máy chủ chưa được bật (chưa cấu hình thư mục nhật ký)",
"服务器日志管理": "Quản lý nhật ký máy chủ",
+1
View File
@@ -1915,6 +1915,7 @@
"服务可用性": "服务可用性",
"服务商": "服务商",
"服务器IP": "服务器IP",
"节点名称": "节点名称",
"服务器地址": "服务器地址",
"服务器日志功能未启用(未配置日志目录)": "服务器日志功能未启用(未配置日志目录)",
"服务器日志管理": "服务器日志管理",
+1
View File
@@ -1926,6 +1926,7 @@
"服务可用性": "服務可用性",
"服务商": "服務商",
"服务器IP": "伺服器IP",
"节点名称": "節點名稱",
"服务器地址": "伺服器位址",
"服务器日志功能未启用(未配置日志目录)": "伺服器日誌功能未啟用(未配置日誌目錄)",
"服务器日志管理": "伺服器日誌管理",