diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index 8b137891791fe96927ad78e64b0aad7bded08bdc..872ebfb4652f343643d360d748f18f8e613dc0e2 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -1 +1 @@
-
+ALTER TABLE `sys_datalog` ADD `session_id` varchar(64) NOT NULL DEFAULT '' AFTER `error`;
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index d3737a3ed9a544643a78eebe82b49d1ecd78d2f1..aacd2ecdb69d6a89ed673808bdb4041e03dc83a4 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1631,6 +1631,7 @@ CREATE TABLE `sys_datalog` (
   `data` longtext,
   `status` set('pending','ok','warning','error') NOT NULL default 'ok',
   `error` mediumtext,
+  `session_id` varchar(64) NOT NULL DEFAULT '',
   PRIMARY KEY  (`datalog_id`),
   KEY `server_id` (`server_id`,`status`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php
index b03ad55676ddb3c30cf01c4e12eed534865d8585..8443d106b1b9c8e3b75bbec659165f9f8c10b50f 100644
--- a/interface/lib/classes/db_mysql.inc.php
+++ b/interface/lib/classes/db_mysql.inc.php
@@ -719,8 +719,8 @@ class db
 			if($action == 'INSERT') $action = 'i';
 			if($action == 'UPDATE') $action = 'u';
 			if($action == 'DELETE') $action = 'd';
-			$sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data) VALUES (?, ?, ?, ?, ?, ?, ?)";
-			$app->db->query($sql, $db_table, $dbidx, $server_id, $action, time(), $username, $diffstr);
+			$sql = "INSERT INTO sys_datalog (dbtable,dbidx,server_id,action,tstamp,user,data,session_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
+			$app->db->query($sql, $db_table, $dbidx, $server_id, $action, time(), $username, $diffstr, session_id());
 		}
 
 		return true;
diff --git a/interface/web/login/index.php b/interface/web/login/index.php
index 558896acb7477d99b14dcff998bd67a16f174864..47030e438d8b6e8fca07394519736b72e3a10119 100644
--- a/interface/web/login/index.php
+++ b/interface/web/login/index.php
@@ -262,7 +262,7 @@ if(count($_POST) > 0) {
 						$app->plugin->raiseEvent('login', $username);
 						
 						//* Save successfull login message to var
-						$authlog = 'Successful login for user \''. $username .'\' from '. $_SERVER['REMOTE_ADDR'] .' at '. date('Y-m-d H:i:s');
+						$authlog = 'Successful login for user \''. $username .'\' from '. $_SERVER['REMOTE_ADDR'] .' at '. date('Y-m-d H:i:s') . ' with session ID ' .session_id();						
 						$authlog_handle = fopen($conf['ispconfig_log_dir'].'/auth.log', 'a');
 						fwrite($authlog_handle, $authlog ."\n");
 						fclose($authlog_handle);
diff --git a/interface/web/monitor/lib/lang/de.lng b/interface/web/monitor/lib/lang/de.lng
index 78954daee6761d4273c27dac4dfa7e151a45e7db..f8fabe7990633066917d01872f7ece90b2e72869 100644
--- a/interface/web/monitor/lib/lang/de.lng
+++ b/interface/web/monitor/lib/lang/de.lng
@@ -40,6 +40,7 @@ $wb['Show Clamav-Log'] = 'ClamAV Protokoll anzeigen';
 $wb['Show ISPConfig-Log'] = 'ISPConfig Protokoll anzeigen';
 $wb['Show RKHunter-Log'] = 'RKHunter Protokoll anzeigen';
 $wb['Show Jobqueue'] = 'Jobwarteschlange anzeigen';
+$wb['Show Data Log History'] = 'Datalog-History anzeigen';
 $wb['Show ISPC Cron-Log'] = 'Cron Protokoll anzeigen';
 $wb['no_data_updates_txt'] = 'Derzeit stehen keine Daten über Updates zur Verfügung. Bitte später erneut überprüfen.';
 $wb['no_data_raid_txt'] = 'Derzeit stehen keine Daten über RAID zur Verfügung. Bitte später erneut überprüfen.';
diff --git a/interface/web/monitor/lib/lang/en.lng b/interface/web/monitor/lib/lang/en.lng
index f4dbbeff9bc4d879ba293249c19f715c69953034..194bbc5030fcfddd210f4ce9cf23f1e5039d367d 100644
--- a/interface/web/monitor/lib/lang/en.lng
+++ b/interface/web/monitor/lib/lang/en.lng
@@ -46,6 +46,7 @@ $wb['Show Clamav-Log'] = 'Show Clamav-Log';
 $wb['Show ISPConfig-Log'] = 'Show ISPConfig-Log';
 $wb['Show RKHunter-Log'] = 'Show RKHunter-Log';
 $wb['Show Jobqueue'] = 'Show Jobqueue';
+$wb['Show Data Log History'] = 'Show Data Log History';
 $wb['Show fail2ban-Log'] = 'Show fail2ban-Log';
 $wb['Show MongoDB-Log'] = 'Show MongoDB-Log';
 $wb['Show IPTables'] = 'Show IPTables';
diff --git a/interface/web/monitor/lib/module.conf.php b/interface/web/monitor/lib/module.conf.php
index cd84ff3b1a735f7a9d4ea2f9437b1bb61f818a77..ddb4972aaef2df3485fae98de3b99c9fab1f3f03 100644
--- a/interface/web/monitor/lib/module.conf.php
+++ b/interface/web/monitor/lib/module.conf.php
@@ -26,6 +26,11 @@ $items[] = array( 'title'  => 'Show Jobqueue',
 	'link' => 'monitor/datalog_list.php',
 	'html_id' => 'jobqueue');
 
+$items[] = array( 'title'  => 'Show Data Log History',
+	'target'  => 'content',
+	'link' => 'monitor/dataloghistory_list.php',
+	'html_id' => 'dataloghistory');
+
 $module["nav"][] = array( 'title' => 'System State (All Servers)',
 	'open'  => 1,
 	'items' => $items);
diff --git a/interface/web/themes/default/assets/stylesheets/ispconfig.css b/interface/web/themes/default/assets/stylesheets/ispconfig.css
index 5cd1bd14110d7146f0a614e356f88a5ef9f8665d..f5e8c46abfec9f60135b9ea07fb2cd5cef597a93 100644
--- a/interface/web/themes/default/assets/stylesheets/ispconfig.css
+++ b/interface/web/themes/default/assets/stylesheets/ispconfig.css
@@ -782,3 +782,16 @@ span.notification_text {
     font-family: inherit;
     color: white;
 }
+.finediff {
+	font-family: monospace;
+}
+.finediff ins {
+	color: green;
+	background: #dfd;
+	text-decoration: none;
+}
+.finediff del {
+	color: red;
+	background: #fdd;
+	text-decoration: none;
+}
\ No newline at end of file