节点因阈值切换到备用IP时保持在线状态

This commit is contained in:
刘祥超
2021-12-16 10:09:19 +08:00
parent 55034efa87
commit 7d82c3abf6
2 changed files with 24 additions and 0 deletions

View File

@@ -146,6 +146,26 @@ func (this *HealthCheckExecutor) Run() ([]*HealthCheckResult, error) {
}
if isChanged {
// 发送消息
var message = ""
var messageType string
var messageLevel string
if result.IsOk {
message = "健康检查成功,节点\"" + result.Node.Name + "\"IP\"" + result.NodeAddr + "\"已恢复上线"
messageType = models.MessageTypeHealthCheckNodeUp
messageLevel = models.MessageLevelSuccess
} else {
message = "健康检查失败,节点\"" + result.Node.Name + "\"IP\"" + result.NodeAddr + "\"已自动下线"
messageType = models.MessageTypeHealthCheckNodeDown
messageLevel = models.MessageLevelError
}
err = models.NewMessageDAO().CreateNodeMessage(nil, nodeconfigs.NodeRoleNode, this.clusterId, int64(result.Node.Id), messageType, messageLevel, message, message, nil, false)
if err != nil {
remotelogs.Error("HEALTH_CHECK_EXECUTOR", err.Error())
return
}
// 触发阈值
err = models.SharedNodeIPAddressDAO.FireThresholds(nil, nodeconfigs.NodeRoleNode, int64(result.Node.Id))
if err != nil {
@@ -153,6 +173,9 @@ func (this *HealthCheckExecutor) Run() ([]*HealthCheckResult, error) {
return
}
}
// 我们只处理IP的上下线不修改节点的状态
return
}
// 修改节点状态