deepseektest/addons/apilog/config.html
2025-03-06 08:59:31 +08:00

412 lines
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<style>
.row .input-group{
float: none;
padding-left: 15px;
padding-right: 15px;
margin-right: 15px;
}
</style>
<div class="panel panel-default panel-intro">
<div class="panel-heading">
<div class="panel-lead"><em>API预警配置</em>可在此对API的运行情况进行监控并发送通知</div>
<ul class="nav nav-tabs">
<li class="active"><a href="#tab-base" data-toggle="tab">基础配置</a></li>
<li><a href="#tab-time" data-toggle="tab">响应超时监控</a></li>
<li><a href="#tab-error" data-toggle="tab">请求错误监控</a></li>
<li><a href="#tab-ip" data-toggle="tab">IP异常监控</a></li>
<li><a href="#tab-count" data-toggle="tab">请求量监控</a></li>
</ul>
</div>
<div class="panel-body">
<form id="config-form" class="edit-form form-horizontal" role="form" data-toggle="validator" method="POST"
action="">
<div id="myTabContent" class="tab-content">
<!--基础配置-->
<div class="tab-pane fade active in" id="tab-base">
<div class="widget-body no-padding">
<table class="table table-striped">
<thead>
<tr>
<th width="15%">配置项</th>
<th width="85%">配置值</th>
</tr>
</thead>
<tbody>
<tr>
<td>预警邮箱</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="text" name="row[base][email]" placeholder="请输入接收预警的邮箱,多个使用英文逗号分隔"
value='{$addon.config[0]["value"]["email"]}' class="form-control"
data-tip="">
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info-light" style="margin-bottom:10px;">
<b>基础配置:</b><br>
1、预警邮箱:接收预警监控通知的邮箱;<br>
请务必先在 [常规管理-系统配置-邮件配置] 中配置并测试邮件发送是否正常<br>
2、相同预警通知在30分钟内仅会发送一次请及时关注API运行情况<br>
3、建议使用Redis作为系统缓存
</div>
</div>
<!--响应超时-->
<div class="tab-pane fade" id="tab-time">
<div class="widget-body no-padding">
<div class="widget-body no-padding">
<table class="table table-striped">
<thead>
<tr>
<th width="15%">配置项</th>
<th width="85%">配置值</th>
</tr>
</thead>
<tbody>
<tr>
<td>监控频率</td>
<td>
<div class="row">
<div class="col-sm-12 col-xs-12">
<select name="row[time][pl]" class="selectpicker">
<option value ="60" {if $addon.config[1]["value"]["pl"]==60} selected {/if}>1分钟</option>
<option value ="180" {if $addon.config[1]["value"]["pl"]==180} selected {/if}>3分钟</option>
<option value ="300" {if $addon.config[1]["value"]["pl"]==300} selected {/if}>5分钟</option>
<option value ="600" {if $addon.config[1]["value"]["pl"]==600} selected {/if}>10分钟</option>
<option value ="1800" {if $addon.config[1]["value"]["pl"]==1800} selected {/if}>30分钟</option>
<option value="3600" {if $addon.config[1]["value"]["pl"]==3600} selected {/if}>1小时</option>
<option value="7200" {if $addon.config[1]["value"]["pl"]==7200} selected {/if}>2小时</option>
<option value="14400" {if $addon.config[1]["value"]["pl"]==14400} selected {/if}>4小时</option>
<option value="21600" {if $addon.config[1]["value"]["pl"]==21600} selected {/if}>6小时</option>
<option value="28800" {if $addon.config[1]["value"]["pl"]==28800} selected {/if}>8小时</option>
<option value="43200" {if $addon.config[1]["value"]["pl"]==43200} selected {/if}>12小时</option>
<option value="86400" {if $addon.config[1]["value"]["pl"]==86400} selected {/if}>1天</option>
</select>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>超时时间</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12 input-group">
<input type="text" name="row[time][sj]"
value='{$addon.config[1]["value"]["sj"]}'
class="form-control" data-tip="" aria-describedby="time_t">
<span class="input-group-addon" id="time_t">毫秒</span>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>百分比</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12 input-group">
<input type="text" name="row[time][zb]"
value='{$addon.config[1]["value"]["zb"]}'
class="form-control" data-tip="" aria-describedby="time_zb">
<span class="input-group-addon" id="time_zb">%</span>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>是否开启预警</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="radio" name="row[time][open]" value="0" {if
$addon.config[1]["value"]["open"]==0} checked {/if}> 关闭
<input type="radio" name="row[time][open]" value="1" {if
$addon.config[1]["value"]["open"]==1} checked {/if}> 开启
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info-light" style="margin-bottom:10px;">
<b>响应超时监控:</b><br>主要针对一段时间内接口调用超时率过高<br>
1、设定接口超时时间(毫秒)<br>
2、设置接口超时百分比。支持两位小数超时率达到或者大于设定值时会触发预警。
</div>
</div>
</div>
<!--请求错误-->
<div class="tab-pane fade" id="tab-error">
<div class="widget-body no-padding">
<div class="widget-body no-padding">
<table class="table table-striped">
<thead>
<tr>
<th width="15%">配置项</th>
<th width="85%">配置值</th>
</tr>
</thead>
<tbody>
<tr>
<td>监控频率</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<select name="row[error][pl]" class="selectpicker">
<option value ="60" {if $addon.config[2]["value"]["pl"]==60} selected {/if}>1分钟</option>
<option value ="180" {if $addon.config[2]["value"]["pl"]==180} selected {/if}>3分钟</option>
<option value ="300" {if $addon.config[2]["value"]["pl"]==300} selected {/if}>5分钟</option>
<option value ="600" {if $addon.config[2]["value"]["pl"]==600} selected {/if}>10分钟</option>
<option value ="1800" {if $addon.config[2]["value"]["pl"]==1800} selected {/if}>30分钟</option>
<option value="3600" {if $addon.config[2]["value"]["pl"]==3600} selected {/if}>1小时</option>
<option value="7200" {if $addon.config[2]["value"]["pl"]==7200} selected {/if}>2小时</option>
<option value="14400" {if $addon.config[2]["value"]["pl"]==14400} selected {/if}>4小时</option>
<option value="21600" {if $addon.config[2]["value"]["pl"]==21600} selected {/if}>6小时</option>
<option value="28800" {if $addon.config[2]["value"]["pl"]==28800} selected {/if}>8小时</option>
<option value="43200" {if $addon.config[2]["value"]["pl"]==43200} selected {/if}>12小时</option>
<option value="86400" {if $addon.config[2]["value"]["pl"]==86400} selected {/if}>1天</option>
</select>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>HTTP状态码</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="text" name="row[error][sj]"
value='{$addon.config[2]["value"]["sj"]}'
class="form-control" placeholder="请输入需要监控的状态码,多个使用英文逗号分隔" data-tip="多个状态码用英文逗号隔开">
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>百分比</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12 input-group">
<input type="text" name="row[error][zb]"
value='{$addon.config[2]["value"]["zb"]}'
class="form-control" data-tip="" aria-describedby="erro_zb">
<span class="input-group-addon" id="erro_zb">%</span>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>是否开启预警</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="radio" name="row[error][open]" value="0" {if
$addon.config[2]["value"]["open"]==0} checked {/if}> 关闭
<input type="radio" name="row[error][open]" value="1" {if
$addon.config[2]["value"]["open"]==1} checked {/if}> 开启
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info-light" style="margin-bottom:10px;">
<b>请求错误监控:</b><br>主要针对一段时间内接口调用错误率过高<br>
1、设定Http状态码,500,503,404,多个状态码用英文逗号隔开<br>
2、设置命中率,支持 两位小数点,命中率达到或大于设定值时会触发预警。
</div>
</div>
</div>
<!--IP异常-->
<div class="tab-pane fade" id="tab-ip">
<div class="widget-body no-padding">
<div class="widget-body no-padding">
<table class="table table-striped">
<thead>
<tr>
<th width="15%">配置项</th>
<th width="85%">配置值</th>
</tr>
</thead>
<tbody>
<tr>
<td>监控频率</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<select name="row[ip][pl]" class="selectpicker">
<option value ="60" {if $addon.config[3]["value"]["pl"]==60} selected {/if}>1分钟</option>
<option value ="180" {if $addon.config[3]["value"]["pl"]==180} selected {/if}>3分钟</option>
<option value ="300" {if $addon.config[3]["value"]["pl"]==300} selected {/if}>5分钟</option>
<option value ="600" {if $addon.config[3]["value"]["pl"]==600} selected {/if}>10分钟</option>
<option value ="1800" {if $addon.config[3]["value"]["pl"]==1800} selected {/if}>30分钟</option>
<option value="3600" {if $addon.config[3]["value"]["pl"]==3600} selected {/if}>1小时</option>
<option value="7200" {if $addon.config[3]["value"]["pl"]==7200} selected {/if}>2小时</option>
<option value="14400" {if $addon.config[3]["value"]["pl"]==14400} selected {/if}>4小时</option>
<option value="21600" {if $addon.config[3]["value"]["pl"]==21600} selected {/if}>6小时</option>
<option value="28800" {if $addon.config[3]["value"]["pl"]==28800} selected {/if}>8小时</option>
<option value="43200" {if $addon.config[3]["value"]["pl"]==43200} selected {/if}>12小时</option>
<option value="86400" {if $addon.config[3]["value"]["pl"]==86400} selected {/if}>1天</option>
</select>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>IP白名单</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="text" name="row[ip][white]"
value='{$addon.config[3]["value"]["white"]}' placeholder="请输入IP白名单"
class="form-control" data-tip="多个IP地址中间用英文逗号分开">
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>百分比</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12 input-group">
<input type="text" name="row[ip][zb]"
value='{$addon.config[3]["value"]["zb"]}'
class="form-control" data-tip="" aria-describedby="ip_zb">
<span class="input-group-addon" id="ip_zb">%</span>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>是否开启预警</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="radio" name="row[ip][open]" value="0" {if
$addon.config[3]["value"]["open"]==0} checked {/if}> 关闭
<input type="radio" name="row[ip][open]" value="1" {if
$addon.config[3]["value"]["open"]==1} checked {/if}> 开启
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info-light" style="margin-bottom:10px;">
<b>IP异常监控</b><br>主要针对一段时间内大量固定IP请求类似机器人请求;<br>
1、设置IP白名单(可不填),多个IP地址中间用英文逗号分开<br>
2、设置重复率支持两位小数点,当IP重复率达到或大于设定值时,触发预警。
</div>
</div>
</div>
<!--请求量-->
<div class="tab-pane fade" id="tab-count">
<div class="widget-body no-padding">
<div class="widget-body no-padding">
<table class="table table-striped">
<thead>
<tr>
<th width="15%">配置项</th>
<th width="85%">配置值</th>
</tr>
</thead>
<tbody>
<tr>
<td>监控频率</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<select name="row[count][pl]" class="selectpicker">
<option value ="60" {if $addon.config[4]["value"]["pl"]==60} selected {/if}>1分钟</option>
<option value ="180" {if $addon.config[4]["value"]["pl"]==180} selected {/if}>3分钟</option>
<option value ="300" {if $addon.config[4]["value"]["pl"]==300} selected {/if}>5分钟</option>
<option value ="600" {if $addon.config[4]["value"]["pl"]==600} selected {/if}>10分钟</option>
<option value ="1800" {if $addon.config[4]["value"]["pl"]==1800} selected {/if}>30分钟</option>
<option value="3600" {if $addon.config[4]["value"]["pl"]==3600} selected {/if}>1小时</option>
<option value="7200" {if $addon.config[4]["value"]["pl"]==7200} selected {/if}>2小时</option>
<option value="14400" {if $addon.config[4]["value"]["pl"]==14400} selected {/if}>4小时</option>
<option value="21600" {if $addon.config[4]["value"]["pl"]==21600} selected {/if}>6小时</option>
<option value="28800" {if $addon.config[4]["value"]["pl"]==28800} selected {/if}>8小时</option>
<option value="43200" {if $addon.config[4]["value"]["pl"]==43200} selected {/if}>12小时</option>
<option value="86400" {if $addon.config[4]["value"]["pl"]==86400} selected {/if}>1天</option>
</select>
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>最大请求数量</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="text" name="row[count][max]"
value='{$addon.config[4]["value"]["max"]}'
class="form-control" data-tip="">
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
<tr>
<td>是否开启预警</td>
<td>
<div class="row">
<div class="col-sm-8 col-xs-12">
<input type="radio" name="row[count][open]" value="0" {if
$addon.config[4]["value"]["open"]==0} checked {/if}> 关闭
<input type="radio" name="row[count][open]" value="1" {if
$addon.config[4]["value"]["open"]==1} checked {/if}> 开启
</div>
<div class="col-sm-4"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="alert alert-info-light" style="margin-bottom:10px;">
请求量监控:</b><br>主要针对一段时间内接口大量请求<br>
1、设置单位时间内接口最大请求量,当请求量达到或者大于设定时触发预警
</div>
</div>
</div>
<!--footer-->
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
</div>
</form>
</div>
</div>