dnssec优化
This commit is contained in:
@@ -334,6 +334,42 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- DNSSEC使用率卡片 -->
|
||||
<div class="bg-white rounded-lg p-4 card-shadow relative overflow-hidden">
|
||||
<!-- 颜色蒙版 -->
|
||||
<div class="absolute -bottom-8 -right-8 w-24 h-24 rounded-full bg-primary opacity-10"></div>
|
||||
<div class="relative z-10">
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<h3 class="text-gray-500 font-medium">DNSSEC使用率</h3>
|
||||
<div class="p-2 rounded-full bg-primary/10 text-primary">
|
||||
<i class="fa fa-lock"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<div class="flex items-end justify-between">
|
||||
<p class="text-3xl font-bold" id="dnssec-usage">0%</p>
|
||||
<span class="text-primary text-sm flex items-center">
|
||||
<i class="fa fa-check mr-1"></i>
|
||||
<span id="dnssec-status">已禁用</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center space-x-4 text-xs text-gray-500">
|
||||
<div class="flex items-center">
|
||||
<span class="w-2 h-2 bg-green-500 rounded-full mr-1"></span>
|
||||
<span>成功: <span id="dnssec-success">0</span></span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<span class="w-2 h-2 bg-red-500 rounded-full mr-1"></span>
|
||||
<span>失败: <span id="dnssec-failed">0</span></span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<span class="w-2 h-2 bg-blue-500 rounded-full mr-1"></span>
|
||||
<span>总查询: <span id="dnssec-queries">0</span></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1018,6 +1018,60 @@ function updateStatsCards(stats) {
|
||||
animateValue('error-queries', errorQueries);
|
||||
animateValue('active-ips', activeIPs);
|
||||
|
||||
// DNSSEC相关数据
|
||||
let dnssecEnabled = false, dnssecQueries = 0, dnssecSuccess = 0, dnssecFailed = 0, dnssecUsage = 0;
|
||||
|
||||
// 检查DNSSEC数据
|
||||
if (stats) {
|
||||
// 优先使用顶层字段
|
||||
dnssecEnabled = stats.dnssecEnabled || false;
|
||||
dnssecQueries = stats.dnssecQueries || 0;
|
||||
dnssecSuccess = stats.dnssecSuccess || 0;
|
||||
dnssecFailed = stats.dnssecFailed || 0;
|
||||
dnssecUsage = stats.dnssecUsage || 0;
|
||||
|
||||
// 如果dns对象存在,优先使用其中的数据
|
||||
if (stats.dns) {
|
||||
dnssecEnabled = stats.dns.DNSSECEnabled || dnssecEnabled;
|
||||
dnssecQueries = stats.dns.DNSSECQueries || dnssecQueries;
|
||||
dnssecSuccess = stats.dns.DNSSECSuccess || dnssecSuccess;
|
||||
dnssecFailed = stats.dns.DNSSECFailed || dnssecFailed;
|
||||
}
|
||||
|
||||
// 如果没有直接提供使用率,计算使用率
|
||||
if (dnssecUsage === 0 && totalQueries > 0) {
|
||||
dnssecUsage = (dnssecQueries / totalQueries) * 100;
|
||||
}
|
||||
}
|
||||
|
||||
// 更新DNSSEC统计卡片
|
||||
const dnssecUsageElement = document.getElementById('dnssec-usage');
|
||||
const dnssecStatusElement = document.getElementById('dnssec-status');
|
||||
const dnssecSuccessElement = document.getElementById('dnssec-success');
|
||||
const dnssecFailedElement = document.getElementById('dnssec-failed');
|
||||
const dnssecQueriesElement = document.getElementById('dnssec-queries');
|
||||
|
||||
if (dnssecUsageElement) {
|
||||
dnssecUsageElement.textContent = `${Math.round(dnssecUsage)}%`;
|
||||
}
|
||||
|
||||
if (dnssecStatusElement) {
|
||||
dnssecStatusElement.textContent = dnssecEnabled ? '已启用' : '已禁用';
|
||||
dnssecStatusElement.className = `text-sm flex items-center ${dnssecEnabled ? 'text-success' : 'text-danger'}`;
|
||||
}
|
||||
|
||||
if (dnssecSuccessElement) {
|
||||
dnssecSuccessElement.textContent = formatNumber(dnssecSuccess);
|
||||
}
|
||||
|
||||
if (dnssecFailedElement) {
|
||||
dnssecFailedElement.textContent = formatNumber(dnssecFailed);
|
||||
}
|
||||
|
||||
if (dnssecQueriesElement) {
|
||||
dnssecQueriesElement.textContent = formatNumber(dnssecQueries);
|
||||
}
|
||||
|
||||
// 直接更新文本和百分比,移除动画效果
|
||||
const topQueryTypeElement = document.getElementById('top-query-type');
|
||||
const queryTypePercentageElement = document.getElementById('query-type-percentage');
|
||||
|
||||
Reference in New Issue
Block a user