From 2407133ef6dc140920f5c853752a82b200f2ca8c Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 26 Jul 2019 14:49:32 -0500 Subject: [PATCH] telemetry/server: record reports to file Record (cleaned up) reports to a file. Only do the % mangling for ES's benefit. Signed-off-by: Sage Weil --- .../server/ceph_telemetry/rest/report.py | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/telemetry/server/ceph_telemetry/rest/report.py b/src/telemetry/server/ceph_telemetry/rest/report.py index 4e6bb5bab03..996d16f4341 100644 --- a/src/telemetry/server/ceph_telemetry/rest/report.py +++ b/src/telemetry/server/ceph_telemetry/rest/report.py @@ -3,7 +3,8 @@ from flask_restful import Resource from elasticsearch import Elasticsearch import datetime import hashlib - +import json +import copy class Report(Resource): def __init__(self, report=None): @@ -93,12 +94,24 @@ class Report(Resource): # clean up self._crashes_to_list() - self._dots_to_percent() self._purge_hostname_from_crash() self._obfuscate_entity_name() + self.post_to_file() + self.post_to_es() + + return jsonify(status=True) + + def post_to_file(self): + id = self._report_id() + with open('/opt/telemetry/raw/%s' % id, 'w') as f: + f.write(json.dumps(self.report, indent=4)) + f.close() + + def post_to_es(self): + r = copy.deepcopy(self.report) + self._dots_to_percent(r) es_id = self._report_id() es = Elasticsearch() es.index(index='telemetry', doc_type='report', id=es_id, - body=self.report) - return jsonify(status=True) + body=r) -- 2.39.5