This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
了解用户监视器
用户监视器扩展了自定义监视器的范围。您可以创建用户监视器来跟踪 NetScaler ADC 设备不支持的自定义应用程序和协议的运行状况。下图说明了用户监视器的工作原理。
图 1. 用户监视器
用户监视器需要以下组件。
- 调度员。设备上监听监视请求的进程。调度程序可以在环回 IP 地址 (127.0.0.1) 和端口 3013 上。调度员也称为内部调度员。调度程序也可以是支持通用网关接口 (CGI) 的 Web 服务器。此类调度员也称为外部调度员。它们用于不在 FreeBSD 环境中运行的自定义脚本,例如 .NET 脚本。
注意:
通过启用监视器上的 “安全” 选项,可以将监视器和调度程序配置为使用 HTTPS 而不是 HTTP,然后将其配置为外部调度程序。但是,内部调度员只能理解 HTTP,不能使用 HTTPS。
In a HA setup, the dispatcher runs on both the primary and secondary Citrix ADC appliances. The dispatcher remains inactive on the secondary appliance.
脚本。该脚本是一个将自定义探测器发送到负载平衡服务器并将响应代码返回给调度程序的程序。脚本可以向调度程序返回任何值,但是如果探测成功,脚本必须返回零 (0) 的值。调度程序会将任何其他值视为探测失败。
NetScaler ADC 设备捆绑了常用协议的示例脚本。这些脚本存在于 /nsconfig/monitor 目录中。如果要添加脚本,请将其添加到那里。要自定义现有脚本,请使用新名称创建副本并对其进行修改。
重要:
-
从 NetScaler ADC 13.0 版本构建 41.20 开始,您可以使用
nsntlm-lwp.pl
脚本创建监视器来监视安全的 NTLM 服务器。 -
从版本 10.1 版本 122.17 开始,用户监视器的脚本文件位于新位置。
如果将 MPX 或 VPX 虚拟设备升级到 10.1 版本 122.17 或更高版本,则更改如下:
- 在 /nsconfig/monitors/ 中创建一个名为“冲突”的新目录,之前版本的所有内置脚本都将移动到此目录中。
- 所有新的内置脚本都可以在 /netscaler/monitors/ 目录中找到。所有自定义脚本都可以在 /nsconfig/monitors/ 目录中找到。
- 在 /nsconfig/监视器/目录中保存新的自定义脚本。
- 升级完成后,如果创建了自定义脚本并将其保存在 /nsconfig/monitors/ 目录中,并且与内置脚本同名,则 /netscaler/monitors/ 目录中的脚本优先。自定义脚本不会运行。
如果使用 10.1 版本 122.17 或更高版本配置虚拟设备,则更改如下:
- 所有内置脚本都可以在 /netscaler/监视器/目录中找到。
- /nsconfig/监视器/目录为空。
- 如果创建自定义脚本,则必须将其保存在 /nsconfig/monitors/ 目录中。
为了使脚本正常运行:
- 脚本名称中的最大字符数不得超过 63 个。
- 可以提供给脚本的脚本参数的最大数量不得超过 512 个。
- 参数脚本参数中可以提供的最大字符数不得超过 639 个。
要调试脚本,必须使用 CLI 中的 nsumon-debug.pl 脚本来运行它。您可以使用脚本名称(及其参数)、IP 地址和端口作为 nsumon-debug.pl 脚本的参数。用户必须使用 nsumon-debug.pl 脚本的脚本名称、IP 地址、端口、超时和脚本参数。
在 CLI 中,键入:
nsumon-debug.pl <scriptname> <IP> <port> <timeout> <partitionID> [scriptarguments][is_secure]
<!--NeedCopy-->
重要提示:从版本 10.5 开始,版本 57.x 和用户监视器的 11.0 脚本文件支持 IPv6 地址,并包含以下更改:
-
对于以下协议,对于 IPv6 支持,
pm files
已包括新的协议。- RADIUS
- NNTP
- POP3
- SMTP
-
/netscaler/monitors/ 中的以下示例脚本已针对 IPv6 支持进行了更新:
-
nsbmradius.pl
-
nsldap.pl
-
nsnntp.pl
-
nspop3 nssf.pl
-
nssnmp.pl
-
nswi.pl
-
nstftp.pl
-
nssmtp.pl
-
nsrdp.pl
-
nsntlm-lwp.pl
-
nsftp.pl
-
nsappc.pl
升级到 10.5 版本版本 57.x 或 11.0 版后,如果要将现有的自定义脚本与 IPv6 服务结合使用,请确保使用 /netscaler/monitors/ 中更新的示例脚本中提供的更改来更新现有的自定义脚本。
-
注意:
示例脚本 nsmysql.pl 不支持 IPv6 地址。如果 IPv6 服务绑定到使用 nsmysql.pl 的用户监视器,则探测将失败。
-
以下 LB 监视器类型已更新为支持 IPv6 地址:
-
USER
-
SMTP
-
NNTP
-
LDAP
-
SNMP
-
POP3
-
FTP_EXTENDED
-
StoreFront
-
APPC
-
CITRIX_WI_EXTENDED
如果要创建使用这些 LB 监视器类型之一的自定义脚本,请确保在自定义脚本中包含 IPv6 支持。有关为支持 IPv6 而必须在自定义脚本中进行的更改,请参阅 /netscaler/monitors/ 中关联的示例脚本。
-
要跟踪服务器的状态,监视器会向配置的调度程序发送 HTTP POST 请求。此 POST 请求包含服务器的 IP 地址和端口以及必须运行的脚本。调度程序使用用户定义的参数(如果有)作为子进程运行脚本。然后,脚本将探测发送到服务器。脚本会将探测器的状态(响应代码)发送给调度程序。调度程序将响应代码转换为 HTTP 响应并将其发送到监视器。监视器根据 HTTP 响应将服务标记为启用或关闭。
用户监视器探测失败时,NetScaler ADC 设备会将错误消息记录到 /var/nslog/nsumond.log 文件中。这些详细的错误消息显示在 GUI 中,以及 show service/service group
命令的 CLI 中。
下表列出了用户监视器和可能的失败原因。
用户监视器类型 | 探测失败的原因 |
---|---|
SMTP | 监视器无法建立与服务器的连接。 |
NNTP | 监视器无法建立与服务器的连接。 |
缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 | |
监视器找不到 NNTP 组。 | |
LDAP | 监视器无法建立与服务器的连接。 |
缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 | |
监视器无法绑定到 LDAP 服务器。 | |
监视器无法在 LDAP 服务器中找到目标实体的条目。 | |
FTP | 与服务器的连接超时。 |
缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 | |
登录失败。 | |
监视器在服务器上找不到文件。 | |
POP3 | 监视器无法建立到数据库的连接。 |
缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 | |
登录失败。 | |
SQL 查询的准备失败。 | |
SQL 查询的执行失败。 | |
SNMP | 监视器无法建立到数据库的连接。 |
缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 | |
登录失败。 | |
监视器无法创建 SNMP 会话。 | |
监视器找不到对象标识符。 | |
监视器阈值设置大于或等于监视器的实际阈值。 | |
RDP(Windows 终端服务器) | 缺少或无效的脚本参数,其中可能包含无效数量的参数或参数格式。 |
监视器无法创建套接字。 | |
版本不匹配。 | |
监视器无法确认连接。 |
您可以使用以下命令从 CLI 查看日志文件:
> shell
root@ns# cat /var/nslog/nsumond.log
root@ns# exit
>
<!--NeedCopy-->
该命令打开 BSD 外壳,在屏幕上显示日志文件,关闭 BSD 外壳,然后返回到 CLI。
在 NetScaler ADC 13.0 版 build 52.X 之前,该 show service/service group
命令显示一条通用错误消息,指出“探测失败”是导致用户监视器探测失败的原因。
示例:
show service ftp
Monitor Name: mon2
State: UNKNOWN Weight: 1 Passive: 0
Probes: 3 Failed [Total: 0 Current: 0]
Last response: Failure - Probe failed.
Response Time: 1071.838 millisec
<!--NeedCopy-->
从 NetScaler ADC 版本 13.0 build 52.X 开始,该 show service/service group
命令显示用户监视器探测失败的实际原因。
示例:
show service ftp
Monitor Name: mon2
State: DOWN Weight: 1 Passive: 0
Probes: 729 Failed [Total: 726 Current: 726]
Last response: Failure - Login failed.
Response Time: 8000.0 millisec
<!--NeedCopy-->
用户监视器还具有超时值和探测失败的重试次数。可以将用户监视器与非用户监视器配合使用。在 CPU 利用率高的情况下,非用户监视器可以更快地检测服务器故障。
如果用户监视器探测在高 CPU 使用率期间超时,则服务的状态将保持不变。
示例 1:
add lb monitor <name> USER –scriptname <script-name> -resptimeout 5 seconds
<!--NeedCopy-->
注意:
对于可编写脚本的监视器,响应超时必须配置为等于预期超时 + 1 秒的值。例如,如果您预计超时为 4 秒,请将响应超时配置为 5 秒。
示例 2:
add lb monitor <name> USER –scriptname <script-name> -scriptargs <Arguments> -secureargs <Arguments>
<!--NeedCopy-->
注意:
对于与脚本相关的任何敏感数据,我们建议您使用
secureargs
scriptargs
参数而不是参数。
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.