fix wrong agent status of host
This commit is contained in:
parent
4b9fddcf8d
commit
605c89222e
|
@ -82,17 +82,6 @@ func (h *APIHandler) enrollHost(w http.ResponseWriter, req *http.Request, ps htt
|
|||
log.Error(err)
|
||||
continue
|
||||
}
|
||||
if hi.Source == "agent" {
|
||||
sm := common2.GetStateManager()
|
||||
ag, _ := sm.GetAgent(hostInfo.AgentID)
|
||||
err = sm.GetAgentClient().DiscoveredHost(nil, ag.GetEndpoint(), util.MapStr{
|
||||
"host_id": hostInfo.ID,
|
||||
})
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
resBody := util.MapStr{
|
||||
"success": true,
|
||||
|
|
|
@ -73,6 +73,7 @@ func (h *APIHandler) createInstance(w http.ResponseWriter, req *http.Request, ps
|
|||
obj.IPS = res.IPS
|
||||
}
|
||||
|
||||
obj.Status = common2.StatusOnline
|
||||
err = orm.Create(nil, obj)
|
||||
if err != nil {
|
||||
h.WriteError(w, err.Error(), http.StatusInternalServerError)
|
||||
|
@ -116,13 +117,6 @@ func bindAgentToHostByIP(ag *agent.Instance) error{
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = sm.GetAgentClient().DiscoveredHost(nil, ag.GetEndpoint(), util.MapStr{
|
||||
"host_id": hostInfo.ID,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -38,28 +38,6 @@ func (client *Client) GetHostInfo(ctx context.Context, agentBaseURL string) (*ho
|
|||
return resBody.HostInfo, nil
|
||||
}
|
||||
|
||||
func (client *Client) DiscoveredHost(ctx context.Context, agentBaseURL string, body interface{}) error {
|
||||
req := &util.Request{
|
||||
Method: http.MethodPut,
|
||||
Url: fmt.Sprintf("%s/host/discover", agentBaseURL),
|
||||
Context: ctx,
|
||||
}
|
||||
reqBody, err := util.ToJSONBytes(body)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
req.Body = reqBody
|
||||
resBody := map[string]interface{}{}
|
||||
err = client.doRequest(req, &resBody)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if resBody["success"] != true {
|
||||
return fmt.Errorf("discover host callback error: %v", resBody["error"])
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (client *Client) GetElasticProcess(ctx context.Context, agentBaseURL string, agentID string)(interface{}, error) {
|
||||
req := &util.Request{
|
||||
Method: http.MethodGet,
|
||||
|
|
|
@ -25,7 +25,6 @@ func RegisterClient(client ClientAPI) {
|
|||
}
|
||||
type ClientAPI interface {
|
||||
GetHostInfo(ctx context.Context, agentBaseURL string) (*host.HostInfo, error)
|
||||
DiscoveredHost(ctx context.Context, agentBaseURL string, body interface{}) error
|
||||
GetElasticProcess(ctx context.Context, agentBaseURL string, agentID string)(interface{}, error)
|
||||
GetElasticLogFiles(ctx context.Context, agentBaseURL string, logsPath string)(interface{}, error)
|
||||
GetElasticLogFileContent(ctx context.Context, agentBaseURL string, body interface{})(interface{}, error)
|
||||
|
|
|
@ -70,6 +70,7 @@ func (sm *StateManager) checkAgentStatus() {
|
|||
for agentID, status := range sm.agentIds {
|
||||
if _, ok := onlineAgentIDs[agentID]; ok {
|
||||
sm.syncSettings(agentID)
|
||||
host.UpdateHostAgentStatus(agentID, StatusOnline)
|
||||
if status == StatusOnline {
|
||||
continue
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue