import logging
import json
from xalarm.sentry_notify import (
xalarm_report,
MINOR_ALM,
MAJOR_ALM,
CRITICAL_ALM,
ALARM_TYPE_OCCUR,
ALARM_TYPE_RECOVER,
)
from syssentry.result import ResultLevel, report_result
class Report:
TASK_NAME = "ai_block_io"
@staticmethod
def report_pass(info: str):
report_result(Report.TASK_NAME, ResultLevel.PASS, json.dumps({"msg": info}))
logging.debug(f'Report {Report.TASK_NAME} PASS: {info}')
@staticmethod
def report_fail(info: str):
report_result(Report.TASK_NAME, ResultLevel.FAIL, json.dumps({"msg": info}))
logging.debug(f'Report {Report.TASK_NAME} FAIL: {info}')
@staticmethod
def report_skip(info: str):
report_result(Report.TASK_NAME, ResultLevel.SKIP, json.dumps({"msg": info}))
logging.debug(f'Report {Report.TASK_NAME} SKIP: {info}')
class Xalarm:
SLOW_IO_ALARM_ID = 1002
@staticmethod
def minor(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, MINOR_ALM, ALARM_TYPE_OCCUR, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} MINOR_ALM: {info_str}")
@staticmethod
def major(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, MAJOR_ALM, ALARM_TYPE_OCCUR, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} MAJOR_ALM: {info_str}")
@staticmethod
def critical(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, CRITICAL_ALM, ALARM_TYPE_OCCUR, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} CRITICAL_ALM: {info_str}")
def minor_recover(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, MINOR_ALM, ALARM_TYPE_RECOVER, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} MINOR_ALM Recover: {info_str}")
def major_recover(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, MAJOR_ALM, ALARM_TYPE_RECOVER, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} MAJOR_ALM Recover: {info_str}")
def critical_recover(info: dict):
info_str = json.dumps(info)
xalarm_report(Xalarm.SLOW_IO_ALARM_ID, CRITICAL_ALM, ALARM_TYPE_RECOVER, info_str)
logging.debug(f"Report {Xalarm.SLOW_IO_ALARM_ID} CRITICAL_ALM Recover: {info_str}")