Quellcode durchsuchen

Feature #TASK_QT-18250 对接采控平台规则-omni默认上报op

Carl vor 2 Monaten
Ursprung
Commit
50054cdd32

+ 3 - 7
config/apply.go

@@ -99,13 +99,9 @@ func applyConfig(v *viper.Viper, isHotReload bool) {
 	if v.IsSet("server.server_prefix") {
 		newVal := v.GetString("server.server_prefix")
 		oldVal := *flags.ServerPrefix
-		if *flags.ServerPrefix == "" {
-			if newVal != oldVal {
-				*flags.ServerPrefix = newVal
-				klog.Infof("✅ [CONFIG] server.server_prefix UPDATED: %s -> %s", oldVal, newVal)
-			}
-		} else {
-			klog.Infof("⏭️  [CONFIG] server.server_prefix SKIPPED (set via command line: %s)", *flags.ServerPrefix)
+		if newVal != oldVal {
+			*flags.ServerPrefix = newVal
+			klog.Infof("✅ [CONFIG] server.server_prefix UPDATED: %s -> %s", oldVal, newVal)
 		}
 	}
 	if v.IsSet("server.license_key") {

+ 13 - 0
config/manager.go

@@ -77,6 +77,9 @@ func (c *Config) Init(viperInstance *viper.Viper) {
 
 	// 5. 收集 common.ini 中的值(特殊处理)
 	c.collectCommonIniValues()
+
+	// 6. 将配置文件中的值同步到 flags(使 *flags.XXX 在启动时也能反映配置文件优先级)
+	c.syncFlagsValues()
 }
 
 // collectCmdLineValues 收集命令行参数值
@@ -412,6 +415,16 @@ func (c *Config) syncFlagsValues() {
 		if val := getValueUnsafe("server.server_prefix"); val != nil {
 			if s, ok := val.(string); ok {
 				*flags.ServerPrefix = s
+				// 重新计算 TracesEndpoint,使 /data/receive 也使用更新后的前缀
+				dataServer := *flags.DataServer
+				if dataServer != "" {
+					if !strings.HasPrefix(dataServer, "http") {
+						dataServer = "http://" + dataServer
+					}
+					if u, err := url.Parse(dataServer); err == nil && u != nil {
+						*flags.TracesEndpoint = u.JoinPath(s + "/api/v2/data/receive")
+					}
+				}
 			}
 		}
 	}

+ 1 - 1
dist/aarch64/scripts/package.sh

@@ -24,7 +24,7 @@ readonly XZDEC_NAME="xzdec"
 readonly INSTALL_TEMP_FILE_NAME="install_temp.sh"
 readonly INSTALL_VERSION_FILE_NAME="installer.version"
 #== {productName}-installer-{version}.sh 即 cwserveragent-installer-1.1.0.sh
-ARCH="aarch64"
+ARCH="arm64"
 TARGET_INSTALL_FILE_NAME="${BRAND_AGENT_PRODUCT_NAME}-installer-Linux-${ARCH}-${AGENT_INSTALLER_VERSION}.sh"
 #TARGET_INSTALL_FILE_NAME="${BRAND_PRODUCT_NAME_LOWER}-installer-${AGENT_INSTALLER_VERSION}.sh"
 

+ 1 - 1
pkg/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client_apm.go

@@ -73,7 +73,7 @@ func (d *client) UploadApmTraces(ctx context.Context, rootData []otlptrace.RootD
 				}
 				msg := respJsonData.Msg
 				code := respJsonData.Code
-				klog.Infof("data/receive response body: %s\n", respData.String())
+				klog.Infof("data/receive url: %s, response body: %s\n", request.Request.URL.String(), respData.String())
 				if msg != "send ok" || code != 1000 {
 					return fmt.Errorf("resp error msg:<%s> code:<%d>", msg, code)
 				}

+ 1 - 1
utils/worker/serverWorker.go

@@ -441,7 +441,7 @@ func NewServerHTTPWorker() (*ServerHTTPWorker, error) {
 //		return w.currentIndex
 //	}
 func (w *ServerHTTPWorker) requestServer(uri string, data interface{}) ([]byte, error) {
-	uri = w.prefix + uri
+	uri = *flags.ServerPrefix + uri
 	byteData, err := json.Marshal(data)
 	if err != nil {
 		log.WithError(err).Errorf("[requestServer] marshal request error.")