feat: update

parent a3e6a236
...@@ -242,15 +242,20 @@ class ESCommandRecorder(CommandRecorder, metaclass=Singleton): ...@@ -242,15 +242,20 @@ class ESCommandRecorder(CommandRecorder, metaclass=Singleton):
class S3ReplayRecorder(ServerReplayRecorder): class S3ReplayRecorder(ServerReplayRecorder):
def __init__(self, app): def __init__(self, app):
super().__init__(app) super().__init__(app)
self.bucket = app.config["REPLAY_RECORD_ENGINE"].get("BUCKET", "jumpserver") self.bucket = app.config["REPLAY_STORAGE"].get("BUCKET", "jumpserver")
self.s3 = boto3.client('s3') self.s3 = boto3.client('s3')
def push_to_server(self, session_id): def push_to_server(self, session_id):
try:
self.s3.upload_file( self.s3.upload_file(
os.path.join(self.app.config['LOG_DIR'], session_id + '.replay.gz'), os.path.join(self.app.config['LOG_DIR'], session_id + '.replay.gz'),
self.bucket, self.bucket,
time.strftime('%Y-%m-%d', time.localtime( time.strftime('%Y-%m-%d', time.localtime(
self.starttime)) + '/' + session_id + '.replay.gz') self.starttime)) + '/' + session_id + '.replay.gz')
except:
return self.app.service.push_session_replay(
os.path.join(self.app.config['LOG_DIR'], session_id + '.replay.gz'),
session_id)
def get_command_recorder_class(config): def get_command_recorder_class(config):
...@@ -263,8 +268,10 @@ def get_command_recorder_class(config): ...@@ -263,8 +268,10 @@ def get_command_recorder_class(config):
def get_replay_recorder_class(config): def get_replay_recorder_class(config):
replay_engine = config["REPLAY_RECORD_ENGINE"] replay_storage = config["REPLAY_STORAGE"]
if replay_engine == "s3": if replay_storage['TYPE'] == "s3":
return S3ReplayRecorder return S3ReplayRecorder
elif replay_storage['TYPE'] == "locale":
return ServerReplayRecorder
else: else:
return ServerReplayRecorder return ServerReplayRecorder
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment