diff --git a/src/device/service/MonitoringLoops.py b/src/device/service/MonitoringLoops.py
index 4d6d3f59147026c3104062cca0684ea9e3a304cf..18faed0d51d8d594368a0c80ef03539a9b0c4d4e 100644
--- a/src/device/service/MonitoringLoops.py
+++ b/src/device/service/MonitoringLoops.py
@@ -129,8 +129,8 @@ class MonitoringLoops:
             # FIXME: uint32 used for intVal results in out of range issues. Temporarily changed to float
             #        extend the 'kpi_value' to support long integers (uint64 / int64 / ...)
             if isinstance(value, int):
-                kpi_value_field_name = 'floatVal'   # 'intVal'
-                kpi_value_field_cast = float        # int
+                kpi_value_field_name = 'int64Val'
+                kpi_value_field_cast = int
             elif isinstance(value, float):
                 kpi_value_field_name = 'floatVal'
                 kpi_value_field_cast = float
@@ -144,7 +144,7 @@ class MonitoringLoops:
             try:
                 self._monitoring_client.IncludeKpi(Kpi(**{
                     'kpi_id'   : {'kpi_id': {'uuid': db_kpi.kpi_uuid}},
-                    'timestamp': datetime.utcfromtimestamp(timestamp).isoformat() + 'Z',
+                    'timestamp': {'timestamp': timestamp},
                     'kpi_value': {kpi_value_field_name: kpi_value_field_cast(value)}
                 }))
             except: # pylint: disable=bare-except