访问日志可以使用分表查询
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
Vue.component("http-access-log-partitions-box", {
|
||||
props: ["v-partition", "v-day"],
|
||||
mounted: function () {
|
||||
let that = this
|
||||
Tea.action("/servers/logs/partitionData")
|
||||
.params({
|
||||
day: this.vDay
|
||||
})
|
||||
.success(function (resp) {
|
||||
that.partitions = []
|
||||
resp.data.partitions.reverse().forEach(function (v) {
|
||||
that.partitions.push({
|
||||
code: v,
|
||||
isDisabled: false
|
||||
})
|
||||
})
|
||||
if (that.partitions.length > 0) {
|
||||
if (that.vPartition == null || that.vPartition < 0) {
|
||||
that.selectedPartition = that.partitions[0].code
|
||||
}
|
||||
}
|
||||
})
|
||||
.post()
|
||||
},
|
||||
data: function () {
|
||||
return {
|
||||
partitions: [],
|
||||
selectedPartition: this.vPartition
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
url: function (p) {
|
||||
let u = window.location.toString()
|
||||
u = u.replace(/\?partition=\d+/, "?")
|
||||
u = u.replace(/\?requestId=\d+/, "?")
|
||||
u = u.replace(/&partition=\d+/, "")
|
||||
u = u.replace(/&requestId=\d+/, "")
|
||||
if (u.indexOf("?") > 0) {
|
||||
u += "&partition=" + p
|
||||
} else {
|
||||
u += "?partition=" + p
|
||||
}
|
||||
return u
|
||||
},
|
||||
disable: function (partition) {
|
||||
this.partitions.forEach(function (p) {
|
||||
if (p.code == partition) {
|
||||
p.isDisabled = true
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
template: `<div v-if="partitions.length > 1">
|
||||
<div class="ui divider" style="margin-bottom: 0"></div>
|
||||
<div class="ui menu text small blue" style="margin-bottom: 0; margin-top: 0">
|
||||
<a v-for="p in partitions" :href="url(p.code)" class="item" :class="{active: selectedPartition == p.code, disabled: p.isDisabled}">分表{{p.code}}</a>
|
||||
</div>
|
||||
<div class="ui divider" style="margin-top: 0"></div>
|
||||
</div>`
|
||||
})
|
||||
@@ -28,6 +28,8 @@
|
||||
</http-access-log-search-box>
|
||||
</form>
|
||||
|
||||
<http-access-log-partitions-box :v-partition="partition" :v-day="day"></http-access-log-partitions-box>
|
||||
|
||||
<warning-message v-if="isSlowQuery">看起来你的访问日志查询非常慢({{slowQueryCost}}s),建议<span v-if="domain.length == 0"> 1)指定具体域名查询;2)</span>通过添加新的 <a href="/db">[日志节点]</a> 来分散存储访问日志。</warning-message>
|
||||
|
||||
<p class="comment" v-if="accessLogs.length == 0">暂时还没有访问日志。</p>
|
||||
@@ -40,10 +42,10 @@
|
||||
</table>
|
||||
|
||||
<div v-if="accessLogs.length > 0">
|
||||
<a :href="path + '?clusterId=' + clusterId + '&nodeId=' + nodeId + '&serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&hour=' + hour + '&pageSize=' + pageSize" v-if="hasPrev">上一页</a>
|
||||
<a :href="path + '?clusterId=' + clusterId + '&nodeId=' + nodeId + '&serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&hour=' + hour + '&pageSize=' + pageSize + '&partition=' + partition" v-if="hasPrev">上一页</a>
|
||||
<span v-else class="disabled">上一页</span>
|
||||
<span class="disabled"> | </span>
|
||||
<a :href="path + '?clusterId=' + clusterId + '&nodeId=' + nodeId + '&serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&hour=' + hour + '&pageSize=' + pageSize" v-if="hasMore">下一页</a>
|
||||
<a :href="path + '?clusterId=' + clusterId + '&nodeId=' + nodeId + '&serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&hour=' + hour + '&pageSize=' + pageSize + '&partition=' + partition" v-if="hasMore">下一页</a>
|
||||
<span v-else class="disabled">下一页</span>
|
||||
|
||||
<page-size-selector></page-size-selector>
|
||||
|
||||
Reference in New Issue
Block a user