🔨 前端升级.

This commit is contained in:
lijiahangmax
2025-09-24 15:54:01 +08:00
parent e67ee60361
commit 8aa8cda677
67 changed files with 5102 additions and 206 deletions

View File

@@ -0,0 +1,129 @@
import type { TableData } from '@arco-design/web-vue';
import type { DataGrid, OrderDirection, Pagination, ClearRequest } from '@/types/global';
import axios from 'axios';
import qs from 'query-string';
/**
* 告警记录处理请求
*/
export interface AlarmEventHandleRequest {
idList?: Array<number>;
handleStatus?: string;
handleTime?: number;
handleRemark?: string;
}
/**
* 告警记录误报请求
*/
export interface AlarmEventFalseAlarmRequest {
idList?: Array<number>;
}
/**
* 告警记录查询请求
*/
export interface AlarmEventQueryRequest extends Pagination, OrderDirection {
id?: number;
hostId?: number;
agentKey?: string;
policyId?: number;
metricsId?: number;
metricsMeasurement?: string;
alarmLevel?: number;
falseAlarm?: number;
handleStatus?: string;
handleRemark?: string;
handleUserId?: number;
createTimeRange?: string[];
}
/**
* 告警记录清理请求
*/
export interface AlarmEventClearRequest extends AlarmEventQueryRequest, ClearRequest {
}
/**
* 告警记录查询响应
*/
export interface AlarmEventQueryResponse extends TableData {
id: number;
hostId: number;
hostName: string;
hostAddress: string;
agentKey: string;
policyId: number;
metricsId: number;
metricsMeasurement: string;
alarmTags: string;
alarmValue: any;
alarmThreshold: any;
alarmInfo: string;
alarmLevel: number;
triggerCondition: string;
consecutiveCount: number;
falseAlarm: number;
handleStatus: string;
handleTime: number;
handleRemark: string;
handleUserId: number;
handleUsername: string;
createTime: number;
updateTime: number;
updater: string;
}
/**
* 处理告警记录
*/
export function handleAlarmEvent(request: AlarmEventHandleRequest) {
return axios.post<number>('/monitor/alarm-event/handle', request);
}
/**
* 设置为误报
*/
export function setAlarmEventFalse(request: AlarmEventFalseAlarmRequest) {
return axios.post<number>('/monitor/alarm-event/set-false', request);
}
/**
* 分页查询告警记录
*/
export function getAlarmEventPage(request: AlarmEventQueryRequest) {
return axios.post<DataGrid<AlarmEventQueryResponse>>('/monitor/alarm-event/query', request);
}
/**
* 查询告警记录数量
*/
export function getAlarmEventCount(request: AlarmEventQueryRequest) {
return axios.post<number>('/monitor/alarm-event/count', request);
}
/**
* 删除告警记录
*/
export function deleteAlarmEvent(id: number) {
return axios.delete<number>('/monitor/alarm-event/delete', { params: { id } });
}
/**
* 批量删除告警记录
*/
export function batchDeleteAlarmEvent(idList: Array<number>) {
return axios.delete<number>('/monitor/alarm-event/batch-delete', {
params: { idList },
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'comma' });
}
});
}
/**
* 清理告警记录
*/
export function clearMonitorAlarmEvent(request: AlarmEventClearRequest) {
return axios.post<number>('/monitor/alarm-event/clear', request);
}

View File

@@ -0,0 +1,92 @@
import type { TableData } from '@arco-design/web-vue';
import type { DataGrid, OrderDirection, Pagination } from '@/types/global';
import axios from 'axios';
/**
* 监控告警策略创建请求
*/
export interface AlarmPolicyCreateRequest {
name?: string;
description?: string;
notifyIdList?: Array<number>;
}
/**
* 监控告警策略更新请求
*/
export interface AlarmPolicyUpdateRequest extends AlarmPolicyCreateRequest {
id?: number;
updateNotify?: boolean;
}
/**
* 监控告警策略查询请求
*/
export interface AlarmPolicyQueryRequest extends Pagination, OrderDirection {
id?: number;
name?: string;
description?: string;
}
/**
* 监控告警策略查询响应
*/
export interface AlarmPolicyQueryResponse extends TableData {
id: number;
name: string;
description: string;
notifyIdList: Array<number>;
createTime: number;
updateTime: number;
creator: string;
updater: string;
}
/**
* 创建监控告警策略
*/
export function createAlarmPolicy(request: AlarmPolicyCreateRequest) {
return axios.post<number>('/monitor/alarm-policy/create', request);
}
/**
* 更新监控告警策略
*/
export function updateAlarmPolicy(request: AlarmPolicyUpdateRequest) {
return axios.put<number>('/monitor/alarm-policy/update', request);
}
/**
* 复制监控告警策略
*/
export function copyAlarmPolicy(request: AlarmPolicyCreateRequest) {
return axios.post<number>('/monitor/alarm-policy/copy', request);
}
/**
* 查询监控告警策略
*/
export function getAlarmPolicy(id: number) {
return axios.get<AlarmPolicyQueryResponse>('/monitor/alarm-policy/get', { params: { id } });
}
/**
* 查询全部监控告警策略
*/
export function getAlarmPolicyList() {
return axios.get<Array<AlarmPolicyQueryResponse>>('/monitor/alarm-policy/list');
}
/**
* 分页查询监控告警策略
*/
export function getAlarmPolicyPage(request: AlarmPolicyQueryRequest) {
return axios.post<DataGrid<AlarmPolicyQueryResponse>>('/monitor/alarm-policy/query', request);
}
/**
* 删除监控告警策略
*/
export function deleteAlarmPolicy(id: number) {
return axios.delete<number>('/monitor/alarm-policy/delete', { params: { id } });
}

View File

@@ -0,0 +1,84 @@
import type { TableData } from '@arco-design/web-vue';
import axios from 'axios';
/**
* 监控告警规则创建请求
*/
export interface AlarmRuleCreateRequest {
policyId?: number;
metricsId?: number;
tags?: string;
level?: number;
ruleSwitch?: number;
allEffect?: number;
triggerCondition?: string;
threshold?: any;
consecutiveCount?: number;
silencePeriod?: number;
description?: string;
}
/**
* 监控告警规则更新请求
*/
export interface AlarmRuleUpdateRequest extends AlarmRuleCreateRequest {
id?: number;
}
/**
* 监控告警规则查询响应
*/
export interface AlarmRuleQueryResponse extends TableData {
id: number;
policyId: number;
metricsId: number;
metricsMeasurement: string;
tags: string;
ruleSwitch: number;
allEffect: number;
level: number;
triggerCondition: string;
threshold: any;
consecutiveCount?: number;
silencePeriod: number;
description: string;
createTime: number;
updateTime: number;
creator: string;
updater: string;
}
/**
* 创建监控告警规则
*/
export function createAlarmRule(request: AlarmRuleCreateRequest) {
return axios.post<number>('/monitor/alarm-policy-rule/create', request);
}
/**
* 更新监控告警规则
*/
export function updateAlarmRule(request: AlarmRuleUpdateRequest) {
return axios.put<number>('/monitor/alarm-policy-rule/update', request);
}
/**
* 更新监控告警规则
*/
export function updateAlarmRuleSwitch(request: AlarmRuleUpdateRequest) {
return axios.put<number>('/monitor/alarm-policy-rule/update-switch', request);
}
/**
* 查询全部监控告警规则
*/
export function getAlarmRuleList(policyId: number, metricsMeasurement: string = '') {
return axios.get<Array<AlarmRuleQueryResponse>>('/monitor/alarm-policy-rule/list', { params: { policyId, metricsMeasurement } });
}
/**
* 删除监控告警规则
*/
export function deleteAlarmRule(id: number) {
return axios.delete<number>('/monitor/alarm-policy-rule/delete', { params: { id } });
}

View File

@@ -66,13 +66,6 @@ export function updateMetrics(request: MetricsUpdateRequest) {
return axios.put<number>('/monitor/monitor-metrics/update', request);
}
/**
* 查询监控指标
*/
export function getMetrics(id: number) {
return axios.get<MetricsQueryResponse>('/monitor/monitor-metrics/get', { params: { id } });
}
/**
* 查询全部监控指标
*/

View File

@@ -20,7 +20,7 @@ export interface MonitorHostUpdateRequest {
* 监控主机更新请求
*/
export interface MonitorHostSwitchUpdateRequest {
id?: number;
idList?: Array<number>;
alarmSwitch?: number;
}
@@ -57,6 +57,23 @@ export interface MonitorHostChartRequest {
end?: string;
}
/**
* 监控指标数据
*/
export interface MonitorMetricsData {
timestamp: number;
metrics: Array<MonitorMetrics>;
}
/**
* 监控指标
*/
export interface MonitorMetrics {
type: string;
tags: Record<string, string>;
values: Record<string, number>;
}
/**
* 监控主机查询响应
*/
@@ -139,6 +156,13 @@ export function getMonitorHostMetrics(agentKeyList: Array<string>) {
});
}
/**
* 获取监控主机概览
*/
export function getMonitorHostOverride(agentKey: string) {
return axios.get<MonitorMetricsData>('/monitor/monitor-host/override', { params: { agentKey } });
}
/**
* 查询监控主机图表
*/