diff --git a/nezha-fronted/src/components/common/language/cn.js b/nezha-fronted/src/components/common/language/cn.js index 7abec81e5..8395449ab 100644 --- a/nezha-fronted/src/components/common/language/cn.js +++ b/nezha-fronted/src/components/common/language/cn.js @@ -1003,7 +1003,29 @@ const cn = { sysLogo: '系统Logo', scrapeTimeout: '指标抓取超时', snmpTrapPort: 'SNMP trap端口', - logoTip: 'Logo支持格式为jpg、jpeg、png且大小小于2M的图片' + logoTip: 'Logo支持格式为jpg、jpeg、png且大小小于2M的图片', + mfa: 'Mfa auth enable' + }, + monitor: { + monitor: '监控', + alertApi: 'Alert api', + prometheusFederation: 'Prometheus federation', + asset_ping_from: 'Asset ping from', + metrics_storage_retention: '指标存储天数', + metrics_storage_type: '指标存储模式', + metrics_storage_s3_endpoint: '指标 s3 endpoint', + metrics_storage_s3_bucket: '指标 s3 bucket', + metrics_storage_s3_access_key: '指标 s3 access', + metrics_storage_s3_secret_access_key: '指标 s3 secret access', + logs_storage_retention: '日志存储天数', + logs_storage_type: '日志存储模式', + logs_storage_s3_endpoint: '日志 s3 endpoint', + logs_storage_s3_bucket: '日志 s3 bucket', + logs_storage_s3_access_key: '日志 s3 access', + logs_storage_s3_secret_access_key: '日志 s3 secret access', + logs_query_range_default_limit: '日志查询最大条数', + local: '本地文件存储', + s3: 'S3对象存储' }, email: { email: '邮件', diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 26c0c1679..b63170f33 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -984,7 +984,7 @@ const en = { day: 'day', sessionTimeout: 'Session timeout', minute: 'minute', - maxSeries: 'Query max series', + maxSeries: 'Metrics query max series', unsaved: 'Unsaved prompt', mapConfig: 'Map center', mapTitle: 'Configurate map', @@ -995,7 +995,29 @@ const en = { sysLogo: 'System logo', scrapeTimeout: 'Scrape timeout', snmpTrapPort: 'SNMP trap port', - logoTip: 'Logo format only can be jpg、jpeg、png,and less than 2M' + logoTip: 'Logo format only can be jpg、jpeg、png,and less than 2M', + mfa: 'Mfa auth enable' + }, + monitor: { + monitor: 'Monitor', + alertApi: 'Alert api', + prometheusFederation: 'Prometheus federation', + asset_ping_from: 'Asset ping from', + metrics_storage_retention: 'Metrics storage days', + metrics_storage_type: 'Metrics storage mode', + metrics_storage_s3_endpoint: 'Metrics s3 endpoint', + metrics_storage_s3_bucket: 'Metrics s3 bucket', + metrics_storage_s3_access_key: 'Metrics s3 access', + metrics_storage_s3_secret_access_key: 'Metrics s3 secret access', + logs_storage_retention: 'Logs storage days', + logs_storage_type: 'Logs storage mode', + logs_storage_s3_endpoint: 'Logs s3 endpoint', + logs_storage_s3_bucket: 'Logs s3 bucket', + logs_storage_s3_access_key: 'Logs s3 access', + logs_storage_s3_secret_access_key: 'Logs s3 secret access', + logs_query_range_default_limit: 'Logs query max series', + local: 'LocalStorage', + s3: 'S3 object storage' }, email: { email: 'Email', diff --git a/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue b/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue index b7aad8fda..da6a29816 100644 --- a/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue +++ b/nezha-fronted/src/components/common/rightBox/editEndpointBoxNew.vue @@ -40,9 +40,26 @@ - - - + + + + @@ -228,16 +245,16 @@ - + - + - + @@ -652,6 +669,37 @@ export default { } ] }], + columns: [ + { title: 'id', data: 'id' }, + { + title: 'name', + data: function (row) { + if (row.name.length > 15) { + return row.name.substring(0, 12) + '...' + } + return row.name + } + }, + { title: 'Manage Ip', data: 'manageIp' }, + { + title: 'Type', + data: (row) => { + return row.type ? row.type.name : '' + } + }, + { + title: 'Model', + data: (row) => { + return row.model ? row.model.name : '' + } + }, + { + title: 'Datacenter', + data: (row) => { + return row.dc ? row.dc.name : '' + } + } + ], timestampList: ['ANSIC', 'UnixDate', 'RubyDate', 'RFC822', 'RFC822Z', 'RFC850', 'RFC1123', 'RFC1123Z', 'RFC3339', 'RFC3339Nano', 'Unix', 'UnixMs', 'UnixUs', 'UnixNs'], metricsShow: true, logsShow: true diff --git a/nezha-fronted/src/components/common/rightBox/moduleBox.vue b/nezha-fronted/src/components/common/rightBox/moduleBox.vue index cb2cb80aa..360d2688b 100644 --- a/nezha-fronted/src/components/common/rightBox/moduleBox.vue +++ b/nezha-fronted/src/components/common/rightBox/moduleBox.vue @@ -225,16 +225,16 @@ - + - + - + diff --git a/nezha-fronted/src/components/common/table/settings/moduleTable.vue b/nezha-fronted/src/components/common/table/settings/moduleTable.vue index aaa21cd06..61f68e333 100644 --- a/nezha-fronted/src/components/common/table/settings/moduleTable.vue +++ b/nezha-fronted/src/components/common/table/settings/moduleTable.vue @@ -103,11 +103,6 @@ export default { show: true, minWidth: 200, sortable: 'custom' - }, { - label: this.$t('project.module.type'), - prop: 'type', - show: false, - width: 200 }, { label: this.$t('project.project.projectName'), prop: 'project', diff --git a/nezha-fronted/src/components/page/config/system.vue b/nezha-fronted/src/components/page/config/system.vue index 1bb9f3f37..f1915de5e 100644 --- a/nezha-fronted/src/components/page/config/system.vue +++ b/nezha-fronted/src/components/page/config/system.vue @@ -21,37 +21,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -73,7 +47,11 @@ - + + + + + @@ -86,6 +64,111 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
@@ -300,6 +383,42 @@ export default { email_test_account: '', email_security_type: 'NONE' }, + monitor: { + alert_api: '', + asset_ping_from: '', + asset_ping_interval: '', + default_scrape_interval: '', + default_scrape_timeout: '', + logs_query_range_default_limit: '', + logs_storage_retention: '', + logs_storage_s3_access_key: '', + logs_storage_s3_bucket: '', + logs_storage_s3_endpoint: '', + logs_storage_s3_secret_access_key: '', + logs_storage_type: '', + metrics_query_max_series: '', + metrics_storage_retention: '', + metrics_storage_s3_access_key: '', + metrics_storage_s3_bucket: '', + metrics_storage_s3_endpoint: '', + metrics_storage_s3_secret_access_key: '', + metrics_storage_type: '', + prometheus_federation_enabled: '' + }, + monitorRules: { + alert_api: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + asset_ping_from: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + asset_ping_interval: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + default_scrape_interval: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + default_scrape_timeout: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + logs_query_range_default_limit: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + logs_storage_retention: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + logs_storage_type: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + metrics_query_max_series: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + metrics_storage_retention: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + metrics_storage_type: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], + prometheus_federation_enabled: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }] + }, emailCopy: null, emailRules: { email_host: [ @@ -436,6 +555,9 @@ export default { if (type == 'email') { this.email.email_auth_password = '' this.$refs.emailForm.clearValidate() + } + if (type == 'monitor') { + } this[type + 'Copy'] = Object.assign({}, this[type]) }