网络应用服务 : Cisco CSS 11500 系列内容服务交换机

示例连接serverAddress的Keepalive脚本

2016 年 10 月 25 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

此脚本对 serverAddress 进行 ping 操作。如果地址不响应,脚本退出并且标记服务为dying/down。如果服务器是UP,但是所有端口为down,服务器标记为dying/down。服务器的每一个虚拟端口都被测试。如果其中任一发生故障,一条消息会被记录,但是服务不会被标记为down。本文档还说明了脚本 keepalives 的实施。此脚本方法是对功能最密切相关的,存在于远程接入服务器(RAS)拨号客户端、终端程序和通用脚本实用程序。此功能使用 WebNS 丰富的脚本语言。

完成一个简单的socket Application Program Interface (API) (连接/断开/发送/接收),一个脚本Keepalive使用户有能力剪裁他们自己的协议,或者写入步骤他们自己的顺序以提供一个可靠ALIVE或DOWN状态的服务。没有脚本Keepalive功能,您当前被限制到FTP、HTTP、ICMP和TCP。然而,当您写您自己的脚本时,使用脚本Keepalive您能保持在当前协议的顶部。例如,您能开发特别的脚本,以连接到POP3服务器,无需要求WebNS建立保活类型的POP3。此功能允许客户创建他们自己的自定义Keepalive为了适合他们的特定需求。虽然这是内容服务交换机(CSS)的组件,自定义脚本是不受Cisco技术支持部门支持的。

在本文中的脚本Keepalive不是Cisco技术支持正式支持的,但是已经被测试过,您可以谨慎使用。

先决条件

要求

对WebNS富脚本语言的熟悉。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • WebNS版本3.x和更高

  • CSS11x00 系列

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

示例脚本

此脚本可以用于ping serverAddress。



!--- No echo.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
!--- Filename: ap-kal-virtual 
!--- Parameters: serverAddress serverPort1 [serverPort2...] 
! 
!--- Description: 
!--- This script pings the serverAddress.  If the address 
!--- does not respond, the script exits and flags the 
!--- service as dying/down. 
!--- If the server is up but all the ports are down, the 
!--- server is marked as dying/down. 
!--- Each of the server's virtual ports are tested.  If any 
!--- fail, a message is logged, but the service is not 
!--- marked as down. 
! 
!--- 1.0 - 03/20/02 KGS:  Initial version (Tested) 
!--- 1.1 - 03/27/02 KGS:  Added check for out of sockets condition 
!--- Added die on all ports down (tested).
! 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

!--- Make sure there are enough arguments.

if ${ARGS}[#] "LT" "2" 
 echo "Usage: ap-kal-virtual \'servAddress1 servPort1 [servPort2 servPort3...]\'" 
 exit script 1 
endbranch 


!--- Defines. 

set NO_SOCKETS "785" 
set NO_CONNECT "774" 


!--- Set up variables. 

set serverAddress "${ARGS}[1]" 
var-shift ARGS 
set portList "${ARGS}" 
  


!--- Test the server. 

set EXIT_MSG "Ping failure of ${serverAddress}" 
ping ${serverAddress} 
no set EXIT_MSG 

set anyPortUp "0" 
while ${portList}[#] "GT" "0" 
  
!--- Test the ports that the virtual servers are on.

  set CONTINUE_ON_ERROR "1" 
  socket connect host ${serverAddress} port ${portList}[1] tcp 
  set Result "${STATUS}" 
  socket disconnect ${SOCKET} 
  set CONTINUE_ON_ERROR "0" 

  
!--- If out of sockets, warn the operator.
 
  if Result "==" "${NO_SOCKETS}" 
    cliLogMessage subsystem netman "KAL Scripts:  Out of sockets.  Try increasing KAL 
       frequency." level warning-4 
  endbranch 


  !--- If a port does not open, log it.

  if Result "==" "${NO_CONNECT}" 
    cliLogMessage subsystem netman "Virtual server on ${serverAddress}:${portList}[1] 
       did not respond." level critical-2 
  endbranch 


  !--- Check to make sure at least one port is up.

  if Result "==" "0" 
    set anyPortUp "1" 
  endbranch 

  var-shift portList 
endbranch 


!--- If no ports are up, the service should die.

if anyPortUp "==" "0" 
  set EXIT_MSG "Virtual server on ${serverAddress} was up, but no ports were alive." 
  exit script 1 
endbranch 

exit script 0

相关信息


Document ID: 47381