code: func (op *Operator) ServerHealth(args *structs.DCSpecificRequest, reply *autopilot.OperatorHealthReply) error {
  	// This must be sent to the leader, so we fix the args since we are
  	// re-using a structure where we don't support all the options.
  	args.RequireConsistent = true
  	args.AllowStale = false
  	if done, err := op.srv.forward("Operator.ServerHealth", args, args, reply); done {
  		return err
  	}
  
  	// This action requires operator read access.
  	rule, err := op.srv.ResolveToken(args.Token)
  	if err != nil {
  		return err
  	}
  	if rule != nil && !rule.OperatorRead() {
  		return acl.ErrPermissionDenied
  	}
  
  	// Exit early if the min Raft version is too low
  	minRaftProtocol, err := op.srv.autopilot.MinRaftProtocol()
  	if err != nil {
  		return fmt.Errorf("error getting server raft protocol versions: %s", err)
  	}
  	if minRaftProtocol < 3 {
  		return fmt.Errorf("all servers must have raft_protocol set to 3 or higher to use this endpoint")
  	}
  
  	*reply = op.srv.autopilot.GetClusterHealth()
  
  	return nil
  }
docs: // ServerHealth is used to get the current health of the servers.