package com.jay.monitor.data.server.store;

import com.jay.monitor.data.core.enums.MsgTypeEnums;
import com.jay.monitor.data.server.enums.AlertMsgEnums;
import com.jay.monitor.data.server.models.config.AlertConfigModel;
import com.jay.monitor.data.server.models.config.AlertRuleConfigModel;

/**
 * @Module 配置管理器
 * @Description 配置管理
 * @Author liukaixiong
 * @Date 2021/1/15 10:28
 */
public interface ConfigStoreManager {

    /**
     * 获取控制台url配置
     *
     * @return
     */
    public String getConsoleUrl();

    /**
     * 获取监控日志的跳转地址
     *
     * @return
     */
    public String getLogMonitorUrl();

    /**
     * 获取服务控制台路径
     *
     * @return
     */
    public String getServerLogConsole();

    /**
     * 告警开启
     *
     * @return
     */
    public boolean alertEnable();

    /**
     * 获取告警配置
     *
     * @param alertMsgEnums
     * @return
     */
    public AlertConfigModel getAlertConfigModel(AlertMsgEnums alertMsgEnums);

    /**
     * 获取告警规则配置
     *
     * @param msgTypeEnums
     * @return
     */
    public AlertRuleConfigModel getAlertRuleConfigModel(MsgTypeEnums msgTypeEnums);

    /**
     * 告警的间隔分钟级别
     *
     * @return
     */
    public Long getAlertIntervalMinutes();

}
