anchor.diff:  	NodesStatus = pmap(fun(Node) -> node_status(Node,StateNum,CStateNum,WorkersOk,Timeout) end, Nodes),
   
   	%check if errors occured
  -	{HealthStatus, HttpStatusCode} = case contains_errors(NodesStatus) or contains_errors(WorkersStatus) of
  -		true -> {"error",500};
  -		false -> {"ok",200}
  -	end,
  +	{HealthStatus, HttpStatusCode} =
  +		case CcmConnError/=none of
  +			true ->
  +				ErrorString = io_lib:format("~p", [{error,CcmConnError}]),
  +				{ErrorString,500};
  +			false ->
  +				case contains_errors(NodesStatus) or contains_errors(WorkersStatus) of
  +					true -> {"{error,unhealthy_member}",500};
  +					false -> {"ok",200}
  +				end
  +		end,
   
   	%prepare current date
   	{{YY, MM, DD}, {Hour, Min, Sec}} = calendar:now_to_local_time(now()),
  
positive.code: handle(Req, State) ->
  	%get data from ccm and env
  	{ok, Timeout} = application:get_env(veil_cluster_node, nagios_healtcheck_timeout),
  	Nodes = gen_server:call({global, ?CCM}, get_nodes, Timeout),
  	{Workers, StateNum} = gen_server:call({global, ?CCM}, get_workers, Timeout),
  	{_, CStateNum} = gen_server:call({global, ?CCM}, get_callbacks, Timeout),
  
  	%check workers
  	WorkersStatus = pmap(fun(Worker) -> worker_status(Worker,Timeout) end,Workers),
  
negative.code: %% Internal Functions
  %% ====================================================================
  
  %% get_data_from_ccm/1
  %% ====================================================================
  %% @doc Get from ccm: nodes, workers, state number, callbak state number,
  %% error (if error occured, 'none' otherwise)
  %% @end
  -spec get_data_from_ccm(Timeout :: integer()) -> Result when
  	Result :: {Nodes :: list(),Worers :: list(),StateNum :: integer(),CStateNum :: integer(),Error},
  	Error :: term() | none.
  %% ====================================================================
  get_data_from_ccm(Timeout) ->
  	try
  		Nodes = gen_server:call({global, ?CCM}, get_nodes, Timeout),
  		{Workers, StateNum} = gen_server:call({global, ?CCM}, get_workers, Timeout),
  		{_, CStateNum} = gen_server:call({global, ?CCM}, get_callbacks, Timeout),
  		{Nodes,Workers,StateNum,CStateNum,none}
  	catch
  		Type:Error  ->
  			lager:error("Ccm connection error: ~p:~p",[Type,Error]),
  			{[],[],none,none,Error}
  	end.
  
  %% node_status/5
  %% ====================================================================
  %% @doc Checks if callbacks num and state num on dispatcher and node manager are same as in ccm,
  