diff --git a/monitoring/scoreboard/ci-scoreboard.conf b/monitoring/scoreboard/ci-scoreboard.conf
index 6e00fa3..5429b18 100644
--- a/monitoring/scoreboard/ci-scoreboard.conf
+++ b/monitoring/scoreboard/ci-scoreboard.conf
@@ -3,5 +3,6 @@ GERRIT_USER: some-ci-user
 GERRIT_KEY: /home/ubuntu/.ssh/gerrit_key
 GERRIT_HOSTNAME: review.openstack.org
 GERRIT_PORT: 29418
+GERRIT_KEEPALIVE: 0
 DB_URI: mongodb://localhost:27017
 LOG_FILE_LOCATION: scoreboard.log
diff --git a/monitoring/scoreboard/config.py b/monitoring/scoreboard/config.py
index 6e5bef3..39612b3 100644
--- a/monitoring/scoreboard/config.py
+++ b/monitoring/scoreboard/config.py
@@ -37,6 +37,13 @@ class Config:
     def gerrit_port(self):
         return self._int_value('GERRIT_PORT')
 
+    def gerrit_keepalive(self):
+        keepalive = self._int_value('GERRIT_KEEPALIVE')
+        # 0 is the safe default, meaning no keepalives
+        if keepalive is None:
+            keepalive = 0
+        return keepalive
+
     def db_uri(self):
         return self._value('DB_URI')
 
diff --git a/monitoring/scoreboard/infra/gerrit.py b/monitoring/scoreboard/infra/gerrit.py
index 612102c..0cbbfe5 100644
--- a/monitoring/scoreboard/infra/gerrit.py
+++ b/monitoring/scoreboard/infra/gerrit.py
@@ -26,13 +26,15 @@ import pprint
 class GerritWatcher(threading.Thread):
     log = logging.getLogger("gerrit.GerritWatcher")
 
-    def __init__(self, gerrit, username, hostname, port=29418, keyfile=None):
+    def __init__(self, gerrit, username, hostname, port=29418, keyfile=None,
+                 keepalive=0):
         threading.Thread.__init__(self)
         self.username = username
         self.keyfile = keyfile
         self.hostname = hostname
         self.port = port
         self.gerrit = gerrit
+        self.keepalive = keepalive
 
     def _read(self, fd):
         l = fd.readline()
@@ -54,6 +56,8 @@ class GerritWatcher(threading.Thread):
                            username=self.username,
                            port=self.port,
                            key_filename=self.keyfile)
+            transport = client.get_transport()
+            transport.set_keepalive(self.keepalive)
 
             stdin, stdout, stderr = client.exec_command("gerrit stream-events")
 
@@ -76,7 +80,7 @@ class GerritWatcher(threading.Thread):
 class Gerrit(object):
     log = logging.getLogger("gerrit.Gerrit")
 
-    def __init__(self, hostname, username, port=29418, keyfile=None):
+    def __init__(self, hostname, username, port=29418, keyfile=None, keepalive=0):
         self.username = username
         self.hostname = hostname
         self.port = port
@@ -84,6 +88,7 @@ class Gerrit(object):
         self.watcher_thread = None
         self.event_queue = None
         self.client = None
+        self.keepalive = keepalive
 
     def startWatching(self):
         self.event_queue = Queue.Queue()
@@ -92,7 +97,8 @@ class Gerrit(object):
             self.username,
             self.hostname,
             self.port,
-            keyfile=self.keyfile)
+            keyfile=self.keyfile,
+            keepalive=self.keepalive)
         self.watcher_thread.daemon = True
         self.watcher_thread.start()
 
@@ -186,6 +192,8 @@ class Gerrit(object):
                        username=self.username,
                        port=self.port,
                        key_filename=self.keyfile)
+        transport = client.get_transport()
+        transport.set_keepalive(self.keepalive)
         self.client = client
 
     def _ssh(self, command):
diff --git a/monitoring/scoreboard/scoreboard_gerrit_listener.py b/monitoring/scoreboard/scoreboard_gerrit_listener.py
index 0a4120f..ebf4706 100755
--- a/monitoring/scoreboard/scoreboard_gerrit_listener.py
+++ b/monitoring/scoreboard/scoreboard_gerrit_listener.py
@@ -128,8 +128,10 @@ class GerritCIListener():
         username = self.cfg.gerrit_user()
         port = self.cfg.gerrit_port()
         keyfile = self.cfg.gerrit_key()
+        keepalive = self.cfg.gerrit_keepalive()
 
-        self.g = gerrit.Gerrit(hostname, username, port=port, keyfile=keyfile)
+        self.g = gerrit.Gerrit(hostname, username, port=port,
+                               keyfile=keyfile, keepalive=keepalive)
         self.g.startWatching()
 
         self.periodic_query_users()
@@ -144,4 +146,4 @@ class GerritCIListener():
 
 if __name__ == '__main__':
     listener = GerritCIListener()
-    listener.run()
\ No newline at end of file
+    listener.run()