diff --git a/README.md b/README.md index be52d51..47a0d97 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,34 @@ web节点、master节点、agent节点都需要一个名为**app.yaml**的配置 启动web节点需要用到web目录中的**assets**和**views**两部分静态资源 -### master节点配置项示例及说明 +### web节点配置项示例及说明 + +``` yaml +web: + port: 12345 #web节点监听端口 + domain: "asgard.dalong.me" #web节点域名 + cookie_salt: "sdswqeqx" #web节点身份验证加密值(必须为8位字符串) +component: + db: + asgard: #mysql数据库配置 + host: "127.0.0.1" #mysql数据库地址 + port: 3306 #mysql数据库端口 + user: "xxxxxx" #mysql数据库用户名 + password: "xxxxxx" #mysql数据库密码 + database: "Asgard" #mysql数据库库名 + redis: #redis配置 + asgard: + host: "127.0.0.1" #redis地址 + port: 6379 #redis端口号 + password: "" #redis密码 + db: 0 #redis库索引 + log: #日志配置 + console: true #是否输出到控制台 + level: "debug" #日志级别 + dir: "runtime/" #日志存放根目录 +``` + +### 单节点master节点配置项示例及说明 ``` yaml master: @@ -101,13 +128,35 @@ component: dir: "runtime/" #日志存放根目录 ``` -### web节点配置项示例及说明 +### 单节点agent节点配置项示例及说明 ``` yaml -web: - port: 12345 #web节点监听端口 - domain: "asgard.dalong.me" #web节点域名 - cookie_salt: "sdswqeqx" #web节点身份验证加密值(必须为8位字符串) +agent: + moniter: 10 #监控指标上报周期,单位秒 + master: + ip: "127.0.0.1" #master节点地址 + port: 9527 #master节点端口 + rpc: + ip: "127.0.0.1" #agent节点地址 + port: 27149 #agent节点端口 +component: + log: #日志配置 + console: true #是否输出到控制台 + level: "debug" #日志级别 + dir: "runtime/" #日志存放根目录 +``` + +### 高可用master节点配置项示例及说明 + +``` yaml +master: + port: 9527 #master节点监听端口 + cluster: true #标记启用集群模式 + cluster_registry: #etcd集群节点列表 + - "127.0.0.1:2379" + cluster_name: "asgard" #集群名称 + cluster_id: "master-1" #集群节点ID + cluster_ip: "127.0.0.1" #集群节点IP component: db: asgard: #mysql数据库配置 @@ -128,16 +177,16 @@ component: dir: "runtime/" #日志存放根目录 ``` -### agent节点配置项示例及说明 +### 高可用agent节点配置项示例及说明 ``` yaml -system: - moniter: 10 #监控指标上报周期,单位秒 - timer: 10 #定时任务轮询周期,单位秒 agent: - master: #master节点地址 - ip: "127.0.0.1" #master节点端口 - port: 9527 + moniter: 10 #监控指标上报周期,单位秒 + master: + cluster: true #标记启用集群模式 + cluster_registry: #etcd集群节点列表 + - "127.0.0.1:2379" + cluster_name: "asgard" #集群名称 rpc: ip: "127.0.0.1" #agent节点地址 port: 27149 #agent节点端口 diff --git a/cmds/agent/agent.go b/cmds/agent/agent.go index f8e60a9..d483a1d 100644 --- a/cmds/agent/agent.go +++ b/cmds/agent/agent.go @@ -56,13 +56,6 @@ func InitAgent() error { } constants.AGENT_IP = agentIP constants.AGENT_PORT = agentPort - masterIP := viper.GetString("agent.master.ip") - masterPort := viper.GetString("agent.master.port") - if masterIP == "" && masterPort == "" { - return fmt.Errorf("agent master config error") - } - constants.MASTER_IP = masterIP - constants.MASTER_PORT = masterPort constants.AGENT_PID = os.Getpid() constants.AGENT_UUID = uuid.GenerateV4() duration := viper.GetInt("agent.moniter") @@ -80,6 +73,13 @@ func InitAgent() error { return fmt.Errorf("init cluster master client failed:%s", err.Error()) } } else { + masterIP := viper.GetString("agent.master.ip") + masterPort := viper.GetString("agent.master.port") + if masterIP == "" && masterPort == "" { + return fmt.Errorf("agent master config error") + } + constants.MASTER_IP = masterIP + constants.MASTER_PORT = masterPort master, err = clients.NewMaster(constants.MASTER_IP, constants.MASTER_PORT) if err != nil { return fmt.Errorf("init master client failed:%s", err.Error()) diff --git a/constants/agent.go b/constants/agent.go index c995a73..c8845f6 100644 --- a/constants/agent.go +++ b/constants/agent.go @@ -1,12 +1,9 @@ package constants -import "time" - var ( - AGENT_IP = "" - AGENT_PORT = "27149" - AGENT_PID = 0 - AGENT_UUID = "" - AGENT_MONITER = 30 - AGENT_MONITER_TICKER *time.Ticker + AGENT_IP = "" + AGENT_PORT = "27149" + AGENT_PID = 0 + AGENT_UUID = "" + AGENT_MONITER = 30 )