feat: Operation and maintenance reports support alarm reports (#12794)

This commit is contained in:
2026-05-21 12:39:50 +08:00
committed by zhengkunwang223
parent 46986fba24
commit cf5f1cdb4e
12 changed files with 717 additions and 29 deletions
+68
View File
@@ -3948,6 +3948,7 @@ const message = {
website: 'Website Protection',
resource: 'Runtime Resources',
cronjob: 'Cron Jobs',
alert: 'Alert Notifications',
history: 'Export History',
setting: 'Settings',
page: {
@@ -3976,6 +3977,7 @@ const message = {
scoreCategoryWebsite: 'Websites & Certificates',
scoreCategoryCronjob: 'Cron Jobs',
scoreCategoryResource: 'Runtime Resources',
scoreCategoryAlert: 'Alert Notifications',
scoreDiskHigh: 'Disk {0} usage is {1}%',
scoreDiskMedium: 'Disk {0} usage is {1}%',
scoreResourceHigh: '{0} current usage is {1}%',
@@ -4008,6 +4010,13 @@ const message = {
scoreContainerHigh: '{0} container status is abnormal',
scoreContainerExited: '{0} container has stopped',
scoreContainerResource: '{0} container resource usage is high',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
attentionItems: 'Attention Items',
attentionAssets: 'Attention Assets',
riskItems: 'Risk Items',
@@ -4024,10 +4033,12 @@ const message = {
statLoginDesc: 'Panel {0} · SSH {1}',
statSslDesc: '{0} certificates checked',
statContainerDesc: '{0} containers checked',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetHostDesc: 'Max disk usage {0}%',
assetWebsiteDesc: '{0} certificates expiring soon, {1} abnormal websites',
assetResourceDesc: '{0} abnormal apps, {1} stopped apps, {2} abnormal containers',
assetCronjobDesc: '{0} failure records in the last 7 days, {1} disabled jobs',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
app: 'Apps',
website: 'Websites',
websiteSsl: 'Websites / Certificates',
@@ -4110,6 +4121,62 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
@@ -4238,6 +4305,7 @@ const message = {
generateFailed: 'Failed to generate report',
enabledStatus: 'Enabled',
disabledStatus: 'Disabled',
alertConfigInvalid: 'Invalid Config',
thresholdRule: 'Threshold {0}, trigger after {1} consecutive times',
hours: '{0} hours',
minutes: '{0} minutes',
+68
View File
@@ -4004,6 +4004,7 @@ const message = {
website: 'Protección de sitios web',
resource: 'Recursos de ejecución',
cronjob: 'Tareas programadas',
alert: 'Alert Notifications',
history: 'Historial de exportación',
setting: 'Configuración',
page: {
@@ -4166,6 +4167,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -3988,6 +3988,7 @@ const message = {
website: 'Web サイト保護',
resource: '実行リソース',
cronjob: 'スケジュールタスク',
alert: 'Alert Notifications',
history: 'エクスポート履歴',
setting: '設定',
page: {
@@ -4150,6 +4151,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -3901,6 +3901,7 @@ const message = {
website: '웹사이트 보호',
resource: '실행 리소스',
cronjob: '예약 작업',
alert: 'Alert Notifications',
history: '내보내기 기록',
setting: '설정',
page: {
@@ -4063,6 +4064,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -4042,6 +4042,7 @@ const message = {
website: 'Perlindungan Laman Web',
resource: 'Sumber Operasi',
cronjob: 'Tugas Berjadual',
alert: 'Alert Notifications',
history: 'Sejarah Eksport',
setting: 'Tetapan',
page: {
@@ -4204,6 +4205,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -4181,6 +4181,7 @@ const message = {
website: 'Proteção de sites',
resource: 'Recursos de execução',
cronjob: 'Tarefas agendadas',
alert: 'Alert Notifications',
history: 'Histórico de exportação',
setting: 'Configurações',
page: {
@@ -4343,6 +4344,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -4036,6 +4036,7 @@ const message = {
website: 'Защита сайтов',
resource: 'Ресурсы выполнения',
cronjob: 'Плановые задачи',
alert: 'Alert Notifications',
history: 'История экспорта',
setting: 'Настройки',
page: {
@@ -4198,6 +4199,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -4034,6 +4034,7 @@ const message = {
website: 'Web Sitesi Koruması',
resource: 'Çalışma Kaynakları',
cronjob: 'Zamanlanmış Görevler',
alert: 'Alert Notifications',
history: 'Dışa Aktarma Geçmişi',
setting: 'Ayarlar',
page: {
@@ -4196,6 +4197,73 @@ const message = {
buildCache: 'Build Cache',
alert: 'Alert',
alertConfigured: 'Alerts Configured',
alertOperations: 'Alert Notifications',
alertTaskCount: 'Alert Tasks',
enabledAlertTask: 'Enabled Tasks',
disabledAlertTask: 'Disabled Tasks',
alertChannels: 'Notification Channels',
alertLogCount: 'Alert Logs',
alertSuccessRate: 'Alert Success Rate',
alertFailedLogs: 'Failed Alert Logs',
alertPendingLogs: 'Pending Sync Logs',
alertPending: 'Pending Sync',
alertTaskTypeStats: 'Alert Type Statistics',
alertTaskType: 'Alert Type',
alertLogStatusStats: 'Alert Execution Status',
alertHealthNormal: 'Normal',
alertHealthAttention: 'Needs Attention',
alertHealthRisk: 'High Risk',
alertHealthSummary: 'Alert Health',
alertHealthNormalReason: 'Alert tasks, notification channels, and execution logs are healthy',
alertNoChannelReason: 'No notification channel is enabled',
alertFailedLogReason: '{0} failed alert logs found',
alertPendingReason: '{0} alert logs are pending sync',
alertDisabledTaskReason: '{0} alert tasks are disabled',
alertNoTaskReason: 'No alert tasks are configured',
goAlertConfig: 'Alert Config',
goAlertLogs: 'Alert Logs',
configureAlertChannel: 'Configure Channels',
createAlertTask: 'Create Alert Task',
viewAlertTasks: 'View Alert Tasks',
viewFailedAlertLogs: 'View Failed Logs',
viewAlertLogs: 'View Alert Logs',
alertChannelSummary: '{0} / {1} channels enabled',
alertTaskEnabledDesc: '{0} tasks enabled',
alertTaskSummary: '{0} enabled, {1} disabled',
alertLogSummary: '{0} successful, {1} failed',
alertPendingDesc: '{0} logs pending sync',
alertLogSuccessDesc: 'Notification completed',
alertLogFailedDesc: 'Check channel configuration or delivery path',
alertLogPendingDesc: 'Offline or sync path pending',
failedAlertLogs: 'Failed Alert Logs',
disabledAlertTasks: 'Disabled Alert Tasks',
alertTableDisplayDesc: 'Showing {0} of {1}',
alertMsg: 'Alert Message',
alertMethod: 'Alert Method',
alertRule: 'Alert Rule',
noAlertTask: 'No alert tasks',
noFailedAlertLog: 'No failed alert logs',
noDisabledAlertTask: 'No disabled alert tasks',
alertCronjobType: 'Cron Job: {0}',
alertAllTargets: 'All Targets',
alertAllDisks: 'All Disks',
alertAllCertificates: 'All Certificates',
alertAllWebsites: 'All Websites',
alertDiskRuleShort: '{0} exceeds {1}{2}, {3} times per day',
alertAverageRuleShort: '{0} min average exceeds {1}%, {2} times per day',
alertTimeRuleShort: 'Trigger within {0} days, send {1} times',
alertSendCountRuleShort: 'Send {0} times per day',
alertConfigInvalid: 'Invalid Config',
scoreCategoryAlert: 'Alert Notifications',
scoreAlertNoTask: 'No alert tasks are configured',
scoreAlertNoEnabledTask: 'All alert tasks are disabled',
scoreAlertDisabledTask: '{0} alert tasks are disabled',
scoreAlertNoChannel: 'No alert notification channel is enabled',
scoreAlertFailedHigh: '{0} alert failure logs found',
scoreAlertFailedMedium: '{0} alert failure logs found',
scoreAlertPending: '{0} alert logs are pending sync',
statAlertDesc: '{0} enabled tasks · {1} channels',
assetAlertDesc: '{0} failed logs, {1} pending sync logs',
failedExecutionRecords: 'Failed Execution Records',
taskID: 'Task ID',
executeTime: 'Execution Time',
+68
View File
@@ -3676,6 +3676,7 @@ const message = {
website: '網站防護',
resource: '運行資源',
cronjob: '計劃任務',
alert: '告警通知',
history: '匯出歷史',
setting: '設置',
page: {
@@ -3837,6 +3838,73 @@ const message = {
buildCache: '建構快取',
alert: '告警',
alertConfigured: '已配置告警',
alertOperations: '告警通知',
alertTaskCount: '告警任務',
enabledAlertTask: '啟用任務',
disabledAlertTask: '停用任務',
alertChannels: '通知通道',
alertLogCount: '告警日誌',
alertSuccessRate: '告警成功率',
alertFailedLogs: '失敗告警日誌',
alertPendingLogs: '待同步日誌',
alertPending: '待同步',
alertTaskTypeStats: '告警類型統計',
alertTaskType: '告警類型',
alertLogStatusStats: '告警執行狀態',
alertHealthNormal: '正常',
alertHealthAttention: '需關注',
alertHealthRisk: '高風險',
alertHealthSummary: '告警健康狀態',
alertHealthNormalReason: '告警任務通知通道和執行日誌均處於正常狀態',
alertNoChannelReason: '未啟用通知通道',
alertFailedLogReason: '存在 {0} 條失敗日誌',
alertPendingReason: '存在 {0} 條待同步日誌',
alertDisabledTaskReason: '{0} 個告警任務已停用',
alertNoTaskReason: '未配置告警任務',
goAlertConfig: '告警配置',
goAlertLogs: '告警日誌',
configureAlertChannel: '配置通知通道',
createAlertTask: '建立告警任務',
viewAlertTasks: '查看告警任務',
viewFailedAlertLogs: '查看失敗日誌',
viewAlertLogs: '查看告警日誌',
alertChannelSummary: '已啟用 {0} / {1} 個通道',
alertTaskEnabledDesc: '已啟用 {0} 個任務',
alertTaskSummary: '啟用 {0} 停用 {1} ',
alertLogSummary: '成功 {0} 失敗 {1} ',
alertPendingDesc: '{0} 條日誌等待同步',
alertLogSuccessDesc: '已完成通知',
alertLogFailedDesc: '需檢查通道配置或發送鏈路',
alertLogPendingDesc: '離線或同步鏈路待處理',
failedAlertLogs: '失敗告警日誌',
disabledAlertTasks: '停用告警任務',
alertTableDisplayDesc: '目前顯示 {0} {1} ',
alertMsg: '告警內容',
alertMethod: '告警方式',
alertRule: '告警規則',
noAlertTask: '暫無告警任務',
noFailedAlertLog: '暫無失敗告警日誌',
noDisabledAlertTask: '暫無停用告警任務',
alertCronjobType: '計劃任務{0}',
alertAllTargets: '全部對象',
alertAllDisks: '全部磁碟',
alertAllCertificates: '全部證書',
alertAllWebsites: '全部網站',
alertDiskRuleShort: '{0} 超過 {1}{2}每天 {3} ',
alertAverageRuleShort: '{0} 分鐘均值超過 {1}%每天 {2} ',
alertTimeRuleShort: '剩餘 {0} 天內觸發發送 {1} ',
alertSendCountRuleShort: '每天發送 {0} ',
alertConfigInvalid: '配置異常',
scoreCategoryAlert: '告警通知',
scoreAlertNoTask: '未配置告警任務',
scoreAlertNoEnabledTask: '告警任務均未啟用',
scoreAlertDisabledTask: '存在 {0} 個停用告警任務',
scoreAlertNoChannel: '未啟用告警通知通道',
scoreAlertFailedHigh: '存在 {0} 條告警失敗日誌',
scoreAlertFailedMedium: '存在 {0} 條告警失敗日誌',
scoreAlertPending: '存在 {0} 條告警待同步日誌',
statAlertDesc: '啟用任務 {0} · 通道 {1} ',
assetAlertDesc: '{0} 條失敗日誌{1} 條待同步日誌',
failedExecutionRecords: '失敗執行記錄',
taskID: '任務 ID',
executeTime: '執行時間',
+68
View File
@@ -4264,6 +4264,7 @@ const message = {
website: '网站防护',
resource: '运行资源',
cronjob: '计划任务',
alert: '告警通知',
history: '导出历史',
setting: '设置',
page: {
@@ -4291,6 +4292,7 @@ const message = {
scoreCategoryWebsite: '网站与证书',
scoreCategoryCronjob: '计划任务',
scoreCategoryResource: '运行资源',
scoreCategoryAlert: '告警通知',
scoreDiskHigh: '磁盘 {0} 使用率 {1}%',
scoreDiskMedium: '磁盘 {0} 使用率 {1}%',
scoreResourceHigh: '{0} 当前使用率 {1}%',
@@ -4323,6 +4325,13 @@ const message = {
scoreContainerHigh: '{0} 容器状态异常',
scoreContainerExited: '{0} 容器已停止',
scoreContainerResource: '{0} 容器资源使用率过高',
scoreAlertNoTask: '未配置告警任务',
scoreAlertNoEnabledTask: '告警任务均未启用',
scoreAlertDisabledTask: '存在 {0} 个停用告警任务',
scoreAlertNoChannel: '未启用告警通知通道',
scoreAlertFailedHigh: '存在 {0} 条告警失败日志',
scoreAlertFailedMedium: '存在 {0} 条告警失败日志',
scoreAlertPending: '存在 {0} 条告警待同步日志',
attentionItems: '待关注项',
attentionAssets: '待关注资产',
riskItems: '风险项',
@@ -4339,10 +4348,12 @@ const message = {
statLoginDesc: '面板 {0} · SSH {1} ',
statSslDesc: '共检查 {0} 张证书',
statContainerDesc: '共检查 {0} 个容器',
statAlertDesc: '启用任务 {0} · 通道 {1} ',
assetHostDesc: '磁盘最高使用率 {0}%',
assetWebsiteDesc: '{0} 张证书即将到期{1} 个网站状态异常',
assetResourceDesc: '{0} 个应用异常{1} 个应用已停止{2} 个容器异常',
assetCronjobDesc: ' 7 {0} 条失败记录{1} 个任务未启用',
assetAlertDesc: '{0} 条失败日志{1} 条待同步日志',
app: '应用',
website: '网站',
websiteSsl: '网站 / 证书',
@@ -4425,6 +4436,62 @@ const message = {
buildCache: '构建缓存',
alert: '告警',
alertConfigured: '已配置告警',
alertOperations: '告警通知',
alertTaskCount: '告警任务',
enabledAlertTask: '启用任务',
disabledAlertTask: '停用任务',
alertChannels: '通知通道',
alertLogCount: '告警日志',
alertSuccessRate: '告警成功率',
alertFailedLogs: '失败告警日志',
alertPendingLogs: '待同步日志',
alertPending: '待同步',
alertTaskTypeStats: '告警类型统计',
alertTaskType: '告警类型',
alertLogStatusStats: '告警执行状态',
alertHealthNormal: '正常',
alertHealthAttention: '需关注',
alertHealthRisk: '高风险',
alertHealthSummary: '告警健康状态',
alertHealthNormalReason: '告警任务通知通道和执行日志均处于正常状态',
alertNoChannelReason: '未启用通知通道',
alertFailedLogReason: '存在 {0} 条失败日志',
alertPendingReason: '存在 {0} 条待同步日志',
alertDisabledTaskReason: '{0} 个告警任务已停用',
alertNoTaskReason: '未配置告警任务',
goAlertConfig: '告警配置',
goAlertLogs: '告警日志',
configureAlertChannel: '配置通知通道',
createAlertTask: '创建告警任务',
viewAlertTasks: '查看告警任务',
viewFailedAlertLogs: '查看失败日志',
viewAlertLogs: '查看告警日志',
alertChannelSummary: '已启用 {0} / {1} 个通道',
alertTaskEnabledDesc: '已启用 {0} 个任务',
alertTaskSummary: '启用 {0} 停用 {1} ',
alertLogSummary: '成功 {0} 失败 {1} ',
alertPendingDesc: '{0} 条日志等待同步',
alertLogSuccessDesc: '已完成通知',
alertLogFailedDesc: '需检查通道配置或发送链路',
alertLogPendingDesc: '离线或同步链路待处理',
failedAlertLogs: '失败告警日志',
disabledAlertTasks: '停用告警任务',
alertTableDisplayDesc: '当前展示 {0} {1} ',
noAlertTask: '暂无告警任务',
noFailedAlertLog: '暂无失败告警日志',
noDisabledAlertTask: '暂无停用告警任务',
alertMsg: '告警内容',
alertMethod: '告警方式',
alertRule: '告警规则',
alertCronjobType: '计划任务{0}',
alertAllTargets: '全部对象',
alertAllDisks: '全部磁盘',
alertAllCertificates: '全部证书',
alertAllWebsites: '全部网站',
alertDiskRuleShort: '{0} 超过 {1}{2}每天 {3} ',
alertAverageRuleShort: '{0} 分钟均值超过 {1}%每天 {2} ',
alertTimeRuleShort: '剩余 {0} 天内触发发送 {1} ',
alertSendCountRuleShort: '每天发送 {0} ',
failedExecutionRecords: '失败执行记录',
taskID: '任务 ID',
executeTime: '执行时间',
@@ -4552,6 +4619,7 @@ const message = {
generateFailed: '生成报表失败',
enabledStatus: '已启用',
disabledStatus: '已停用',
alertConfigInvalid: '配置异常',
thresholdRule: '阈值 {0}连续 {1} 次触发',
hours: '{0} 小时',
minutes: '{0} 分钟',
+31 -28
View File
@@ -4,35 +4,21 @@
<el-card>
<div>
<el-button
v-for="item in alertTabs"
:key="item.key"
class="tag-button"
:class="index === '0' ? '' : 'no-active'"
:type="index === '0' ? 'primary' : ''"
@click="changeTab('0')"
:class="index === item.value ? '' : 'no-active'"
:type="index === item.value ? 'primary' : ''"
@click="changeTab(item.value)"
>
{{ $t('xpack.alert.list') }}
</el-button>
<el-button
class="tag-button"
:class="index === '1' ? '' : 'no-active'"
:type="index === '1' ? 'primary' : ''"
@click="changeTab('1')"
>
{{ $t('xpack.alert.logs') }}
</el-button>
<el-button
class="tag-button"
:class="index === '2' ? '' : 'no-active'"
:type="index === '2' ? 'primary' : ''"
@click="changeTab('2')"
>
{{ $t('commons.button.set') }}
{{ $t(item.label) }}
</el-button>
</div>
</el-card>
</div>
<AlertDash v-if="index == '0'" />
<AlertLogs v-if="index == '1'" />
<AlertSetting v-if="index == '2'" />
<AlertDash v-if="index === ALERT_NOTICE_TAB.tasks" />
<AlertLogs v-if="index === ALERT_NOTICE_TAB.logs" />
<AlertSetting v-if="index === ALERT_NOTICE_TAB.config" />
</div>
</template>
<script setup lang="ts">
@@ -40,16 +26,33 @@ import AlertDash from '@/views/setting/alert/dash/index.vue';
import AlertLogs from '@/views/setting/alert/log/index.vue';
import AlertSetting from '@/views/setting/alert/setting/index.vue';
const index = ref('0');
const ALERT_NOTICE_TAB_STORAGE_KEY = 'alert-notice-tab';
const ALERT_NOTICE_TAB = {
tasks: '0',
logs: '1',
config: '2',
} as const;
const alertTabs = [
{ key: 'tasks', value: ALERT_NOTICE_TAB.tasks, label: 'xpack.alert.list' },
{ key: 'logs', value: ALERT_NOTICE_TAB.logs, label: 'xpack.alert.logs' },
{ key: 'config', value: ALERT_NOTICE_TAB.config, label: 'commons.button.set' },
];
type AlertNoticeTabValue = (typeof ALERT_NOTICE_TAB)[keyof typeof ALERT_NOTICE_TAB];
const changeTab = (ind: string) => {
const index = ref<AlertNoticeTabValue>(ALERT_NOTICE_TAB.tasks);
const isAlertNoticeTab = (value: string | null): value is AlertNoticeTabValue => {
return alertTabs.some((item) => item.value === value);
};
const changeTab = (ind: AlertNoticeTabValue) => {
index.value = ind;
localStorage.setItem('alert-notice-tab', index.value);
localStorage.setItem(ALERT_NOTICE_TAB_STORAGE_KEY, index.value);
};
onMounted(async () => {
const tab = localStorage.getItem('alert-notice-tab');
if (tab) {
const tab = localStorage.getItem(ALERT_NOTICE_TAB_STORAGE_KEY);
if (isAlertNoticeTab(tab)) {
index.value = tab;
}
});
@@ -40,7 +40,12 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose" :disabled="loading">{{ $t('commons.button.cancel') }}</el-button>
<el-button v-permission type="primary" @click="submit()" :disabled="loading || deleteInfo != websiteName">
<el-button
v-permission
type="primary"
@click="submit()"
:disabled="loading || deleteInfo != websiteName"
>
{{ $t('commons.button.confirm') }}
</el-button>
</span>