diff --git a/Dockerfile b/Dockerfile
index 546cf31..29765d8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@
 COPY . cvp-sanity-checks/
 
 RUN apt-get update && \
-    apt-get install -y python-pip git curl wget vim inetutils-ping && \
+    apt-get install -y python-pip git curl wget vim inetutils-ping libsasl2-dev python-dev libldap2-dev libssl-dev && \
     python -m pip install --upgrade pip && \
     pip install -r cvp-sanity-checks/requirements.txt && \
     apt-get -y autoremove; apt-get -y clean
diff --git a/cvp_checks/tests/test_stacklight.py b/cvp_checks/tests/test_stacklight.py
index 75dcf1c..1ffb118 100644
--- a/cvp_checks/tests/test_stacklight.py
+++ b/cvp_checks/tests/test_stacklight.py
@@ -39,6 +39,21 @@
 
 
 @pytest.mark.usefixtures('check_kibana')
+def test_kibana_status(local_salt_client):
+    proxies = {"http": None, "https": None}
+    IP = utils.get_monitoring_ip('stacklight_log_address')
+    resp = requests.get('http://{}:5601/api/status'.format(IP),
+                        proxies=proxies).content
+    body = json.loads(resp)
+    assert body['status']['overall']['state'] == "green", \
+        "Kibana status is not expected: {}".format(
+        body['status']['overall'])
+    for i in body['status']['statuses']:
+        assert i['state'] == "green", \
+            "Kibana statuses are unexpected: {}".format(i)
+
+
+@pytest.mark.usefixtures('check_kibana')
 def test_elasticsearch_node_count(local_salt_client):
     now = datetime.datetime.now()
     today = now.strftime("%Y.%m.%d")
diff --git a/cvp_checks/utils/__init__.py b/cvp_checks/utils/__init__.py
index 132bfea..aeb4cd8 100644
--- a/cvp_checks/utils/__init__.py
+++ b/cvp_checks/utils/__init__.py
@@ -39,13 +39,6 @@
                                     proxies=proxies)
 
             response = request.json()['return'][0]
-            not_responded = [k for k,v in response.iteritems() if v is False]
-            if not_responded:
-                print ("WARNING: Some nodes are unavailable and removed "
-                      "from response: {}".format(', '.join(not_responded))
-                )
-            for node in not_responded:
-                del response[node]
             return response
 
         except Exception as e:
