def get_monitoring_data(service_definition, formatted=True): if service_definition in service_definitions: service_definition = service_definitions.get(service_definition) exit_code = subprocess.call( service_definition.get("command"), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) if service_definition.get("type") == TYPE_NAGIOS: data = get_nagios_status(service_definition.get("name"), exit_code) else: data = get_up_down_status(service_definition.get("name"), exit_code) else: data = (service_definition, "orange", "NOT FOUND") return format_data(data) if formatted else data
def get_json_data(service_definition): json_data_file = os.path.join(JSON_DATA_DIR, service_definition + ".json") json_fd = open(json_data_file, "r") try: json_data = json.loads(json_fd.readline()) except ValueError: return "%s${alignr} ${color grey}RETRIEVING${color}" % service_definitions.get(service_definition).get("name") finally: json_fd.close() return "%s ${alignr} ${color %s}%s${color}" % ( json_data.get("service_name"), json_data.get("status_color"), json_data.get("status_message"), )