mirror of
https://github.com/didi/KnowStreaming.git
synced 2026-01-10 09:04:26 +08:00
kafka-manager 2.0
This commit is contained in:
190
kafka-manager-console/src/store/alarm.ts
Normal file
190
kafka-manager-console/src/store/alarm.ts
Normal file
@@ -0,0 +1,190 @@
|
||||
import { observable, action } from 'mobx';
|
||||
import { message } from 'component/antd';
|
||||
import { IMonitorStrategies, IMonitorAlerts, IMonitorSilences, IMonitorGroups, IAlertsDetail, IMonitorAlert, IMonitorMetric, IMonitorType } from 'types/base-type';
|
||||
import { getMonitorStrategies, deteleMonitorStrategies, getMonitorAlerts, getAlertsDetail, createSilences, getMonitorSilences, modifyMask, getSilencesDetail, deleteSilences, getMonitorType, addMonitorStrategy, getMonitorDetail, modifyMonitorStrategy, getMonitorNotifyGroups } from 'lib/api';
|
||||
import { getMonitorMetricOption } from 'lib/line-charts-config';
|
||||
import { IRequestParams, IMonitorStrategyDetail, IMonitorMetricType, IMetricType } from 'types/alarm';
|
||||
import { urlPrefix } from 'constants/left-menu';
|
||||
|
||||
class Alarm {
|
||||
|
||||
@observable
|
||||
public loading: boolean = false;
|
||||
|
||||
@observable
|
||||
public monitorStrategies: IMonitorStrategies[] = [];
|
||||
|
||||
@observable
|
||||
public monitorAlerts: IMonitorAlerts[] = [];
|
||||
|
||||
@observable
|
||||
public alertsDetail: IAlertsDetail;
|
||||
|
||||
@observable
|
||||
public monitorAlert: IMonitorAlert;
|
||||
|
||||
@observable
|
||||
public monitorMetric: IMonitorMetric;
|
||||
|
||||
@observable
|
||||
public monitorSilences: IMonitorSilences[] = [];
|
||||
|
||||
@observable
|
||||
public silencesDetail: IMonitorSilences;
|
||||
|
||||
@observable
|
||||
public monitorGroups: IMonitorGroups[] = [];
|
||||
|
||||
@observable
|
||||
public monitorType: string = '';
|
||||
|
||||
@observable
|
||||
public currentTopic: string = '';
|
||||
|
||||
@observable
|
||||
public monitorTypeList: IMetricType[] = [];
|
||||
|
||||
@observable
|
||||
public monitorStrategyDetail: IMonitorStrategyDetail = {} as IMonitorStrategyDetail;
|
||||
|
||||
@action.bound
|
||||
public setLoading(value: boolean) {
|
||||
this.loading = value;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public changeMonitorStrategyType(type: string) {
|
||||
this.monitorType = type;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public changeTopic(topic: string) {
|
||||
this.currentTopic = topic;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setMonitorStrategies(data: IMonitorStrategies[]) {
|
||||
this.monitorStrategies = data ? data.map((item, index) => {
|
||||
item.key = index;
|
||||
return item;
|
||||
}) : [];
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setMonitorAlerts(data: IMonitorAlerts[]) {
|
||||
this.monitorAlerts = data ? data.map((item, index) => {
|
||||
item.key = index;
|
||||
return item;
|
||||
}) : [];
|
||||
this.setLoading(false);
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setAlertsDetail(data: IAlertsDetail) {
|
||||
this.alertsDetail = data;
|
||||
this.monitorAlert = data.monitorAlert;
|
||||
this.monitorMetric = data.monitorMetric;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setMonitorSilences(data: IMonitorSilences[]) {
|
||||
this.monitorSilences = data ? data.map((item, index) => {
|
||||
item.key = index;
|
||||
return item;
|
||||
}) : [];
|
||||
}
|
||||
@action.bound
|
||||
public setMonitorType(data: IMonitorMetricType) {
|
||||
this.monitorTypeList = data.metricNames || [];
|
||||
this.monitorType = this.monitorTypeList[0].metricName;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setMonitorStrategyDetail(data: IMonitorStrategyDetail) {
|
||||
this.monitorStrategyDetail = data || {} as IMonitorStrategyDetail;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setSilencesDetail(data: IMonitorSilences) {
|
||||
this.silencesDetail = data;
|
||||
}
|
||||
|
||||
@action.bound
|
||||
public setMonitorGroups(data: IMonitorGroups[]) {
|
||||
this.monitorGroups = data;
|
||||
}
|
||||
|
||||
public getMetircHistoryChartOptions = () => {
|
||||
return getMonitorMetricOption(this.monitorMetric.metric, this.monitorMetric.values);
|
||||
}
|
||||
|
||||
public getMonitorStrategies() {
|
||||
getMonitorStrategies().then(this.setMonitorStrategies);
|
||||
}
|
||||
|
||||
public deteleMonitorStrategies(monitorId: number) {
|
||||
return deteleMonitorStrategies(monitorId).then(() => this.getMonitorStrategies());
|
||||
}
|
||||
|
||||
public getMonitorAlerts(monitorId: number, startTime: number, endTime: number) {
|
||||
this.setLoading(true);
|
||||
getMonitorAlerts(monitorId, startTime, endTime).then(this.setMonitorAlerts);
|
||||
}
|
||||
|
||||
public getAlertsDetail(alertId: number) {
|
||||
return getAlertsDetail(alertId).then(this.setAlertsDetail);
|
||||
}
|
||||
|
||||
public createSilences(params: IMonitorSilences, monitorId: number) {
|
||||
return createSilences(params).then(() => {
|
||||
this.getMonitorSilences(monitorId);
|
||||
});
|
||||
}
|
||||
|
||||
public getMonitorSilences(monitorId: number) {
|
||||
getMonitorSilences(monitorId).then(this.setMonitorSilences);
|
||||
}
|
||||
|
||||
public modifyMask(params: IMonitorSilences, monitorId: number) {
|
||||
return modifyMask(params).then(() => {
|
||||
this.getMonitorSilences(monitorId);
|
||||
});
|
||||
}
|
||||
|
||||
public getSilencesDetail(silenceId: number) {
|
||||
return getSilencesDetail(silenceId).then(this.setSilencesDetail);
|
||||
}
|
||||
|
||||
public deleteSilences(monitorId: number, silenceId: number) {
|
||||
return deleteSilences(monitorId, silenceId).then(() => {
|
||||
this.getMonitorSilences(monitorId);
|
||||
});
|
||||
}
|
||||
|
||||
public getMonitorType() {
|
||||
return getMonitorType().then(this.setMonitorType);
|
||||
}
|
||||
|
||||
public addMonitorStategy(params: IRequestParams) {
|
||||
this.setLoading(true);
|
||||
return addMonitorStrategy(params).then(() => {
|
||||
message.success('操作成功');
|
||||
window.location.href = `${urlPrefix}/alarm`;
|
||||
}).finally(() => this.setLoading(false));
|
||||
}
|
||||
|
||||
public async getMonitorDetail(id: number) {
|
||||
return getMonitorDetail(id).then(this.setMonitorStrategyDetail);
|
||||
}
|
||||
|
||||
public modifyMonitorStrategy(params: IRequestParams) {
|
||||
return modifyMonitorStrategy(params).then(() => {
|
||||
message.success('操作成功');
|
||||
}).finally(() => this.setLoading(false));
|
||||
}
|
||||
|
||||
public getMonitorGroups() {
|
||||
return getMonitorNotifyGroups(); // this.setMonitorGroups
|
||||
}
|
||||
}
|
||||
export const alarm = new Alarm();
|
||||
Reference in New Issue
Block a user