diff --git a/cfg_checker/modules/ceph/__init__.py b/cfg_checker/modules/ceph/__init__.py
index ad4a207..74fdde3 100644
--- a/cfg_checker/modules/ceph/__init__.py
+++ b/cfg_checker/modules/ceph/__init__.py
@@ -98,8 +98,8 @@
     # ceph_info.load_info()
     # end debug
 
-    ceph_info.print_summary()
     ceph_info.generate_archive(_tgzfile)
+    ceph_info.print_summary()
 
     return
 
diff --git a/cfg_checker/modules/ceph/info.py b/cfg_checker/modules/ceph/info.py
index 092c1c7..9b55c3f 100644
--- a/cfg_checker/modules/ceph/info.py
+++ b/cfg_checker/modules/ceph/info.py
@@ -57,9 +57,14 @@
                 continue
             else:
                 # TODO: Consider filtering out or prepare data for the table
+                _osd = _d.pop("osd_name")
+                _node_name = _d.pop("node_name")
                 _date = sorted(_d.keys(), reverse=True)[0]
                 self.ceph_info['ceph_health']['date'] = _date
                 self.ceph_info['ceph_health']['latest'][_n] = _d[_date]
+                self.ceph_info['ceph_health']['latest'][_n]["osd_name"] = _osd
+                self.ceph_info['ceph_health']['latest'][_n]["node_name"] = \
+                    _node_name
 
         return self.ceph_info['ceph_health']['latest']
 
@@ -98,14 +103,18 @@
                 logger_cli.info("{:45} {:<10}".format(_n, "<empty>"))
                 continue
 
-            _status = _d['ata_smart_data']['self_test']['status']['passed']
+            _status = _d['smart_status']['passed']
+            if "interface_speed" in _d:
+                _speed = _d['interface_speed']['current']['string']
+            else:
+                _speed = "-"
 
             _status = 'passed' if _status else 'failed'
             logger_cli.info(
                 _fmt.format(
                     _n,
                     _d['device']['info_name'],
-                    _d['interface_speed']['current']['string'],
+                    _speed,
                     _status,
                     _d['temperature']['current']
                 )
@@ -467,14 +476,24 @@
         logger_cli.info("-> Collecting health metrics")
         _health_metrics = {}
         _devices = _c("ceph device ls")
-        for device in _devices.splitlines():
+        _devices = _devices.splitlines()
+        _progress = Progress(len(_devices)-1)
+        _index = 1
+        for device in _devices:
             _t = device.split()
             _osd = _t[2]
+            _node = _t[1]
             _dev = _t[0]
             if _dev == "DEVICE":
                 continue
             _metric = _cj("ceph device get-health-metrics {}".format(_dev))
-            _health_metrics["{}_{}".format(_osd, _dev)] = _metric
+            _dev_name = "{}_{}".format(_osd, _dev)
+            _health_metrics[_dev_name] = _metric
+            _health_metrics[_dev_name]['node_name'] = _node
+            _health_metrics[_dev_name]['osd_name'] = _osd
+            _progress.write_progress(_index, note=_dev_name)
+            _index += 1
+        _progress.end()
         self._add_ceph_info_item(
             "ceph_health",
             "Ceph Health Metrics",
diff --git a/templates/ceph_info_html.j2 b/templates/ceph_info_html.j2
index 1e461c8..eafa2fa 100644
--- a/templates/ceph_info_html.j2
+++ b/templates/ceph_info_html.j2
@@ -888,14 +888,24 @@
         <tr class="node">
             <td class="dev_name">
                 <div class="text">{{ _p['model_name'] }}, {{ _p['serial_number'] }}</div><br>
-                <div class="note">{{ _p['model_family'] }}; {{ _p['sata_version']['string'] }}</div>
-                <div class="note">{{ _d }}</div>
+                {% if "model_family" in _p %}
+                <div class="note">{{ _p['model_family'] }}</div>
+                {% endif %}
+                <div class="note">{{ _p['node_name'] }}:{{ _p['osd_name'] }}</div>
             </td>
             <td class="dev_param centered">{{ _p['device']['info_name'] }}</td>
             <td class="dev_param centered">{{ _p['device']['protocol'] }}</td>
             <td class="dev_param centered">{{ _p['firmware_version'] }}</td>
+            {% if "interface_speed" in _p %}
             <td class="dev_param centered">{{ _p['interface_speed']['current']['string'] }} / {{ _p['interface_speed']['max']['string'] }}</td>
+            {% else %}
+            <td class="dev_param centered">- / -</td>
+            {% endif%}
+            {% if "physical_block_size" in _p %}
             <td class="dev_param centered">{{ _p['physical_block_size'] }} / {{ _p['logical_block_size'] }}</td>
+            {% else %}
+            <td class="dev_param centered">- / {{ _p['logical_block_size'] }}</td>
+            {% endif %}
             <td class="dev_param centered">{{ _p['power_cycle_count'] }}</td>
             <td class="dev_param centered">{{ _p['temperature']['current'] }}</td>
             {% if _p['smart_status']['passed'] %}
