chg: Improved diagnostic tool

diagnosticTool
mokaddem 2019-06-14 16:59:00 +02:00
parent a50c5c6fdb
commit 51095d685c
2 changed files with 25 additions and 8 deletions

View File

@ -8,6 +8,7 @@ import configparser
import diagnostic_util
import redis
import zmq
import json
from halo import Halo
from pprint import pprint
@ -174,12 +175,25 @@ def check_buffer_queue(spinner):
@add_spinner
def check_subscriber_status(spinner):
return (False, '')
def check_subscriber_dispatcher_status(spinner):
redis_server = redis.StrictRedis(
host=configuration_file.get('RedisGlobal', 'host'),
port=configuration_file.getint('RedisGlobal', 'port'),
db=configuration_file.getint('RedisLIST', 'db'))
redis_server.rpush(configuration_file.get('RedisLIST', 'listName'),
json.dumps({'zmq_name': 'diagnostic_channel', 'content': time.time()})
)
counter = 0
while True:
reply = redis_server.get('diagnostic_tool_response')
elements_in_list = redis_server.llen(configuration_file.get('RedisLIST', 'listName'))
if reply is None:
time.sleep(0.2)
spinner.text = f'No response yet. Element in queue {elements_in_list}'
counter += 1
else:
return (True, f'Took {reply} to complete.')
@add_spinner
def check_dispatcher_status(spinner):
return (False, '')
@ -203,10 +217,9 @@ def start_diagnostic():
return
check_file_permission()
check_redis()
check_zmq()
# check_zmq()
check_buffer_queue()
check_subscriber_status()
check_dispatcher_status()
check_subscriber_dispatcher_status()
check_server_listening()
check_static_endpoint()
check_dynamic_enpoint()

View File

@ -238,6 +238,9 @@ def handler_attribute(zmq_name, jsonobj, hasAlreadyBeenContributed=False, parent
# Push to log
live_helper.publish_log(zmq_name, attributeType, jsonobj)
def handler_diagnostic_tool(zmq_name, jsonobj):
res = time.time() - jsonobj['content']
serv_list.set('diagnostic_tool_response', str(res))
###############
## MAIN LOOP ##
@ -281,6 +284,7 @@ dico_action = {
"misp_json_conversation": handler_conversation,
"misp_json_object_reference": handler_skip,
"misp_json_audit": handler_audit,
"diagnostic_channel": handler_diagnostic_tool
}