Globus transfers not being handled properly by MONIT
Motivation
----------

The protocol is not properly extracted, see:
https://monit-grafana.cern.ch/dashboard/snapshot/en9K4Tc2vSpD54ToTLr5pydfei1GSAil

Modification
------------

Not sure whether something to address on our side or MONIT’s.
diff --git a/lib/rucio/core/request.py b/lib/rucio/core/request.py
index 7a9767237..7485d1ee7 100644
--- a/lib/rucio/core/request.py
+++ b/lib/rucio/core/request.py
@@ -1571,8 +1571,12 @@ def add_monitor_message(new_state, request, additional_fields, session=None):
 
     if message['started_at'] and message['transferred_at']:
         message['duration'] = (message['transferred_at'] - message['started_at']).seconds
-    if message['dst-url']:
-        message['protocol'] = message['dst-url'].split(':')[0]
+    if not message.get('protocol'):
+        dst_url = message['dst-url']
+        if dst_url and ':' in dst_url:
+            message['protocol'] = dst_url.split(':')[0]
+        elif request.get('transfertool'):
+            message['protocol'] = request['transfertool']
     if not message.get('src-rse'):
         src_rse_id = request.get('source_rse_id', None)
         if src_rse_id:
diff --git a/lib/rucio/transfertool/globus.py b/lib/rucio/transfertool/globus.py
index 19248e8e8..4b0a2865b 100644
--- a/lib/rucio/transfertool/globus.py
+++ b/lib/rucio/transfertool/globus.py
@@ -80,7 +80,7 @@ class GlobusTransferStatusReport(TransferStatusReport):
         pass
 
     def get_monitor_msg_fields(self, session, logger=logging.log):
-        return {}
+        return {'protocol': 'globus'}
 
 
 class GlobusTransferTool(Transfertool):
['lib/rucio/transfertool/globus.py', 'lib/rucio/core/request.py']