EdgeADC Build 4.2.8.1909
边缘ADC
×
Menu

真实服务器监控页面

真实服务器监控器页面分为三个部分。
·     详细内容
·     上传
·     定制显示器
详细内容
细节部分是用来添加新的监视器和删除任何你不需要的监视器。你也可以通过双击现有的显示器来编辑它。
命名
你为你的显示器选择的名称。
描述
本监测器的文字描述,我们建议最好是尽可能的描述性。
监测方法
从下拉列表中选择监测方法。可用的选择是。
·     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/端口。你将不能删除任何已经与虚拟服务一起使用的监控器。
用户
一些自定义监视器可以使用这个值和密码字段一起登录到Real服务器。
密码
一些自定义监视器可以使用这个值和用户字段一起登录到Real服务器。
阈值
阈值字段是一个一般的整数,用于需要阈值(如CPU水平)的自定义监控。
注意:请确保从应用服务器返回的响应不是一个 "分块 "响应。
真实服务器监控实例
上传监控
在很多情况下,用户希望创建他们自己的自定义监视器,这一部分允许他们将其上传到ADC。
自定义监视器是用PERL脚本编写的,文件扩展名为.pl。
·     给你的监视器一个名字,以便你能在监测方法列表中识别它。
·     浏览.pl文件
·     点击上传新显示器
·     你的文件将被上传到正确的位置,并将作为一个新的监测方法可见。
定制显示器
在这个部分,你可以查看上传的自定义监视器,如果不再需要,可以将其删除。
·     点击下拉框
·     选择自定义显示器的名称
·     点击删除
·     你的自定义监控器将不再在监控方法列表中可见。
创建一个自定义监控器的Perl脚本
注意:本节是为具有使用和编写Perl语言经验的人准备的。
本节向你展示了你可以在Perl脚本中使用的命令。
#Monitor-Name: 命令是存储在ADC上的Perl脚本的名称。如果你不包括这一行,那么你的脚本将不会被发现
以下是强制性的。
·     #Monitor-Name
·     严格使用。
·     使用警告。
Perl脚本是在CHROOTED环境下运行的。它们经常调用另一个应用程序,如WGET或CURL。有时,这些程序需要针对特定的功能进行更新,如SNI。
动态价值
·     my $host = $_[0]; - 这使用了IP Services--Real Server部分的 "地址"。
·     my $port = $_[1]; - 这是使用IP服务--真实服务器部分的 "端口"。
·     my $content = $_[2]; - 这使用了Library--Real Server Monitoring部分的 "Required Content "值。
·     my $notes = $_[3]; - 这使用了IP服务中真实服务器部分的 "注释 "栏。
·     my $page = $_[4]; - 这使用了Library--Real Server Monitor部分的 "页面位置 "值。
·     my $user = $_[5]; - 这使用了Library--Real Server Monitor部分的 "User "值。
·     my $password = $_[6]; - 这使用了Library--Real Server Monitor部分的 "密码 "值。
定制健康检查有两个结果
·     成功
返回值 1
向Syslog打印一条成功信息,
标记真实服务器在线(提供IN COUNT匹配)。
·     不成功
返回值 2
向Syslog打印一条 "不成功 "的消息,
标记真实服务器离线(如果OUT计数匹配)。
自定义健康监测器的例子
#Monitor-Name HTTPS_SNI
严格使用。
使用警告。
# 在可用健康检查的下拉菜单中显示上述监视器名称
# 有6个值传递给这个脚本(见下文)。
# 脚本将返回以下值
# 1是测试成功
# 2 如果测试不成功,子监控器
{
my Shost     = $_[O]; ###主机IP或名称
my Sport     = $_[1]; ### 主机端口
my Scontent     = $_[2]; ### 要寻找的内容(在网页和HTTP头文件中)。
my Snotes     = $_[3]; ### 虚拟主机名
my Spage     = $_[4]; ### 主机地址之后的URL部分
my Suser     = $_[5]:###域名/用户名称(可选)
my Spassword     = $_[6]; ###密码(可选)。
我的$resolve。
我的$auth      =;    
如果 ($port)
{
     $resolve = "$notes:$port:$host":
}
否则 {
     $resolve = "$notes:$host";
}
如果($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/)
     {
     print "HTTPs://$notes}${page} looking for - $content - Health check successful./n";
     返回(1)。
     }
否则
     {
     print "HTTPs://${notes}${page} looking for - $content - Health check failed.\n";
     返回(2)
     }
}
监控(@ARGV)。
注意:自定义监控--使用全局变量是不可能的。只能使用局部变量--在函数内定义的变量