|
|
@@ -2,6 +2,7 @@ package node
|
|
|
|
|
|
import (
|
|
|
"encoding/base64"
|
|
|
+ "encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/coroot/coroot-node-agent/flags"
|
|
|
"github.com/coroot/coroot-node-agent/kube"
|
|
|
@@ -49,6 +50,7 @@ func NewNodeInfo(name, kv, version string) (*NodeInfoT, error) {
|
|
|
AccountID: utils.GetAccountID(),
|
|
|
LicenseKey: *flags.LicenseKey,
|
|
|
AgentVersion: version,
|
|
|
+ SysTag: *flags.SysTag,
|
|
|
}
|
|
|
utils.SaveNodeInfo(n)
|
|
|
return n, nil
|
|
|
@@ -58,6 +60,7 @@ func newNodeInfoFromCommonIni(name, kv, version string) (*NodeInfoT, error) {
|
|
|
if *flags.CommonIni != "" {
|
|
|
iniData, err := ini.Load(*flags.CommonIni)
|
|
|
if err != nil {
|
|
|
+ klog.Errorf("Failed to load common ini file: %v", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
if iniData == nil {
|
|
|
@@ -67,6 +70,7 @@ func newNodeInfoFromCommonIni(name, kv, version string) (*NodeInfoT, error) {
|
|
|
uuid := iniData.Section("common").Key("system_uuid").String()
|
|
|
host_id, err := iniData.Section("common").Key("host_id").Int64()
|
|
|
if err != nil {
|
|
|
+ klog.Errorf("Failed to get host_id: %v", err)
|
|
|
return nil, err
|
|
|
}
|
|
|
token := iniData.Section("common").Key("token").String()
|
|
|
@@ -76,6 +80,17 @@ func newNodeInfoFromCommonIni(name, kv, version string) (*NodeInfoT, error) {
|
|
|
}
|
|
|
account_and_user_string := strings.Split(string(account_and_user_byte), "@")
|
|
|
if len(account_and_user_string) > 0 {
|
|
|
+ tagsStr := iniData.Section("common").Key("tags").String()
|
|
|
+ tagT := struct {
|
|
|
+ HostTag struct {
|
|
|
+ SystemTag []string `json:"sys"`
|
|
|
+ } `json:"host_tag"`
|
|
|
+ }{}
|
|
|
+ err := json.Unmarshal([]byte(tagsStr), &tagT)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ sysTag := strings.Join(tagT.HostTag.SystemTag, ",")
|
|
|
accountId, err := strconv.Atoi(account_and_user_string[0])
|
|
|
if err == nil {
|
|
|
n := &NodeInfoT{
|
|
|
@@ -87,9 +102,13 @@ func newNodeInfoFromCommonIni(name, kv, version string) (*NodeInfoT, error) {
|
|
|
AccountID: accountId,
|
|
|
LicenseKey: *flags.LicenseKey,
|
|
|
AgentVersion: version,
|
|
|
+ SysTag: sysTag,
|
|
|
}
|
|
|
utils.SaveNodeInfo(n)
|
|
|
return n, nil
|
|
|
+ } else {
|
|
|
+ klog.Errorf("Failed to strconv accountId: %v", err)
|
|
|
+ return nil, err
|
|
|
}
|
|
|
}
|
|
|
}
|