feat(web): yarn任务日志直接跳转grafana查看
This commit is contained in:
@@ -2,5 +2,23 @@ function commonInfo() {
|
||||
return {
|
||||
// baseUrl: 'http://132.126.207.131:35690/hudi_services/service_web',
|
||||
baseUrl: '/hudi_services/service_web',
|
||||
loki: {
|
||||
hudi: {
|
||||
url: 'http://132.126.207.125:35700',
|
||||
datasource: 'f648174e-7593-45cf-8fe8-8f8d5cf0fdde',
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
function targetHudiSyncLokiUrlByAlias(flinkJobId) {
|
||||
return `${commonInfo().loki.hudi.url}/explore?panes=%7B%22LWF%22:%7B%22datasource%22:%22${commonInfo().loki.hudi.datasource}%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22hudi-sync%5C%22,%20flink_job_id%3D%5C%22${flinkJobId}%5C%22%7D%5Cn%7C%20regexp%20%5C%22%5C%5C%5C%5Cd%7B4%7D-%28%3FP%3Ctime%3E%5C%5C%5C%5Cd%7B2%7D-%5C%5C%5C%5Cd%7B2%7D%5C%5C%5C%5Cs%2A%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D%29.%2B%23@%23%5C%5C%5C%5Cs%2A:%5C%5C%5C%5Cs%2A%28%3FP%3Ccontent%3E%5B%5C%5C%5C%5Cw%5C%5C%5C%5CW%5D%2B%29%5C%22%5Cn%7C%20line_format%20%60%7B%7B.time%7D%7D%20%5B%7B%7B.host%7D%7D%5D%20%5B%7B%7B.level%7D%7D%5D%20%5B%7B%7B.app%7D%7D%5D%20%7B%7B.content%7D%7D%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22f648174e-7593-45cf-8fe8-8f8d5cf0fdde%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&schemaVersion=1&orgId=1`
|
||||
}
|
||||
|
||||
function targetHudiCompactionLokiUrlByAlias(alias) {
|
||||
return `${commonInfo().loki.hudi.url}/explore?panes=%7B%22LWF%22:%7B%22datasource%22:%22${commonInfo().loki.hudi.datasource}%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp%3D%5C%22hudi-compaction%5C%22,%20alias%3D%5C%22${alias}%5C%22%7D%5Cn%7C%20regexp%20%5C%22%5C%5C%5C%5Cd%7B4%7D-%28%3FP%3Ctime%3E%5C%5C%5C%5Cd%7B2%7D-%5C%5C%5C%5Cd%7B2%7D%5C%5C%5C%5Cs%2A%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D%29.%2B%23@%23%5C%5C%5C%5Cs%2A:%5C%5C%5C%5Cs%2A%28%3FP%3Ccontent%3E%5B%5C%5C%5C%5Cw%5C%5C%5C%5CW%5D%2B%29%5C%22%5Cn%7C%20line_format%20%60%7B%7B.time%7D%7D%20%5B%7B%7B.host%7D%7D%5D%20%5B%7B%7B.level%7D%7D%5D%20%5B%7B%7B.app%7D%7D%5D%20%7B%7B.content%7D%7D%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22f648174e-7593-45cf-8fe8-8f8d5cf0fdde%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&schemaVersion=1&orgId=1`
|
||||
}
|
||||
|
||||
function targetYarnApplicationLokiUrlByAppId(applicationId) {
|
||||
return `${commonInfo().loki.hudi.url}/explore?panes=%7B%22LWF%22:%7B%22datasource%22:%22${commonInfo().loki.hudi.datasource}%22,%22queries%22:%5B%7B%22refId%22:%22A%22,%22expr%22:%22%7Bapp_id%3D%5C%22${applicationId}%5C%22%7D%5Cn%7C%20regexp%20%5C%22%5C%5C%5C%5Cd%7B4%7D-%28%3FP%3Ctime%3E%5C%5C%5C%5Cd%7B2%7D-%5C%5C%5C%5Cd%7B2%7D%5C%5C%5C%5Cs%2A%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D:%5C%5C%5C%5Cd%7B2%7D%29.%2B%23@%23%5C%5C%5C%5Cs%2A:%5C%5C%5C%5Cs%2A%28%3FP%3Ccontent%3E%5B%5C%5C%5C%5Cw%5C%5C%5C%5CW%5D%2B%29%5C%22%5Cn%7C%20line_format%20%60%7B%7B.time%7D%7D%20%5B%7B%7B.host%7D%7D%5D%20%5B%7B%7B.level%7D%7D%5D%20%5B%7B%7B.app%7D%7D%5D%20%7B%7B.content%7D%7D%60%22,%22queryType%22:%22range%22,%22datasource%22:%7B%22type%22:%22loki%22,%22uid%22:%22f648174e-7593-45cf-8fe8-8f8d5cf0fdde%22%7D,%22editorMode%22:%22code%22%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&schemaVersion=1&orgId=1`
|
||||
}
|
||||
@@ -443,9 +443,38 @@ function yarnCrudColumns() {
|
||||
blank: true,
|
||||
},
|
||||
{
|
||||
label: '日志',
|
||||
...applicationLogDialog(),
|
||||
}
|
||||
disabledOn: '${id == null}',
|
||||
disabledTip: '找不到id',
|
||||
label: "日志",
|
||||
type: "action",
|
||||
level: "link",
|
||||
tooltip: '打开Grafana日志',
|
||||
onEvent: {
|
||||
click: {
|
||||
actions: [
|
||||
{
|
||||
actionType: 'custom',
|
||||
script: (context, doAction, event) => {
|
||||
let isSyncApplication = context.props.data?.syncApplication ?? false
|
||||
let isCompactionApplication = context.props.data?.compactionApplication ?? false
|
||||
let flinkJobId = context.props.data?.flinkJobId ?? 0
|
||||
let alias = context.props.data?.alias ?? ''
|
||||
let appId = context.props.data?.id ?? ''
|
||||
let url = ''
|
||||
if (isSyncApplication) {
|
||||
url = targetHudiSyncLokiUrlByAlias(flinkJobId)
|
||||
} else if (isCompactionApplication) {
|
||||
url = targetHudiCompactionLokiUrlByAlias(alias)
|
||||
} else {
|
||||
url = targetYarnApplicationLokiUrlByAppId(appId)
|
||||
}
|
||||
window.open(url, '_blank')
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user