详细信息 "部分用于添加新的监视器和删除不需要的监视器。您也可以双击现有监视器对其进行编辑。
名称
您为显示器选择的名称。
说明
该监控器的文字说明,我们建议最好尽可能描述清楚。
监测方法
从下拉列表中选择监控方法。可选项有
HTTP 200 OK
HTTP 200 头
HTTP 200 选项
HTTP 头
HTTP 选项
HTTP 响应
多端口 TCP 监视器
TCP 带外
DICOM
SNMP v2
DNS 服务器检查
LDAPS
页面位置
URL HTTP 监视器的页面位置。该值可以是一个相对链接,如 /folder1/folder2/page1.html 。也可以使用绝对链接,即网站与主机名绑定。
必填内容
该值包含监控程序需要检测和使用的任何内容。此处表示的值将根据所选的监控方法而改变。
适用于 VS
此字段将自动填入应用监控器的虚拟服务的 IP/端口。您将无法删除任何已与虚拟服务一起使用的监控程序。
用户
某些自定义监控程序可以使用此值和密码字段登录真实服务器。
密码
某些自定义监控程序可以使用此值和用户字段登录真实服务器。
阈值
阈值字段是一个通用整数,用于需要 CPU 级别等阈值的自定义监控器。
注意:请确保应用服务器返回的响应不是 "分块 "响应
SSL/TLS
该字段允许您强制决定是否使用 SSL。设置如下:
开 - 这将强制 SSL
关 - 这将禁用 SSL
自动 - 保持当前状态
真实服务器监控器示例
上传监控器
在很多情况下,用户希望创建自己的自定义监视器,本部分允许用户将其上传到 ADC。
自定义监控器使用 PERL 脚本编写,文件扩展名为 .pl。
为监视器命名,以便在监视方法列表中进行识别
浏览 .pl 文件
单击上传新监视器
您的文件将上传到正确的位置,并作为新的监控方法显示。
定制显示器
在本节中,您可以查看上传的自定义监视器,如果不再需要,可以将其删除。
点击下拉框
选择自定义监视器的名称
点击移除
您的自定义监控器将不再出现在监控方法列表中
创建自定义监控 Perl 脚本
注意:本节内容面向有 Perl 使用和编写经验的人员。
本节将向您介绍可在 Perl 脚本中使用的命令。
#Monitor-Name: 命令是存储在 ADC 上的 Perl 脚本的名称。如果不包含这一行,将无法找到您的脚本!
以下是必填项
#Monitor-Name
严格使用;
使用警告;
Perl 脚本在 CHROOTED 环境中运行。它们经常调用另一个应用程序,如 WGET 或 CURL。有时需要针对 SNI 等特定功能更新这些程序。
动态价值观
my $host = $_[0]; ### 主机 IP 或名称(来自 RS 详细信息或 OOB(如果使用))。
my $port = $_[1]; ### 主机端口(来自 RS 详细信息或 OOB(如果使用))。
my $content = $_[2]; ### 监控设置中的必填内容(必须在响应中看到的内容)
my $notes = $_[3];###来自 IP 服务中 RS 详情的注释(使用此注释可对每个 RS 监视器进行独特定制)
my $page = $_[4]; ### 显示器设置中的页面位置
my $user = $_[5]; ### 监视器设置中的用户名
my $password = $_[6]; ### 监控设置中的密码
my $threshold = $_[7]; ### 监视器设置中的阈值参数
my $rsaddr = $_[8]; ### RS IP(如果是带外监控,则与 _[0] 不同)
my $rsport = $_[9]; ### RS 端口(如果是带外监测,则与 _[1] 不同)
my $timeout = $_[10]; ### 从 IP 服务 > 真实服务器 > 高级 > 监控超时,以秒为单位监控联系超时。
自定义健康检查有两种结果
成功
返回值 1
向系统日志打印成功信息
标记真实服务器在线(前提是 IN COUNT 匹配)
不成功
返回值 2
向 Syslog 打印一条信息,说明未成功
标记真实服务器脱机(前提是 OUT 计数匹配)
自定义健康监控器示例
#监控器名称HTTPS_SNI
使用严格:
使用警告;
# 在可用健康检查的下拉菜单中显示上述监控器名称
# 传递给该脚本的值有6 个(见下文)
# 脚本将返回以下值
# 1 表示测试成功
# 2 如果测试不成功次级监控器
{
我的Shost = $_[O]; ### 主机IP 或名称
my Sport = $_[1]; ### 主机端口
我的Scontent = $_[2]; ### 要查找的内容(在网页和HTTP 标头中)
我的注释 $_[3]; ### 虚拟主机名
我的Spage = $_[4]; ### 主机地址后的URL 部分
我的Suser = $_[5]:### 域名用户名(可选)
我的密码 $_[6]; ### 密码(可选)
我的$resolve;
我的$auth =;
如果($port)
{
$resolve = "$notes:$port:$host":
}
否则{
$resolve = "$notes:$host";
}
if ($user && $password) {
$auth = "-u $user:$password :
}
my @lines = 'curl -s -i -retry 1 -max-time 1 -k -H "Host:$notes --resolve $resolve $auth HTTPs://${notes}${page} 2>&1'; if(join(""@lines)=~/$content/).2>&1'; if(join(""@lines)=~/$content/)
{
print "HTTPs://$notes}${page} looking for - $content - Health check successful.\n";
返回();
}
不然
{
print "HTTPs://${notes}${page} looking for - $content - Health check failed.\n";
返回2)
}
}
监控(ARGV):
注意:
自定义监控 - 无法使用全局变量。只能使用局部变量--函数内部定义的变量
RegEx 的使用 - 所有正则表达式必须使用与 Perl 兼容的语句语法。