Services de mise en réseau d'applications : Commutateurs de services de contenu de la gamme Cisco CSS 11500

Exemple de script de maintien de connexion pour ouvrir et fermer un socket sur les ports spécifiés par l'utilisateur

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document adresse l'implémentation des keepalives à base de script. Ce script ouvrira et fermera un socket sur les ports spécifiés par utilisateur. La fin sera une FIN plutôt qu'un RST. Si un des ports échoue, le service sera déclaré vers le bas. Cette méthode de script le plus étroitement est liée à la fonctionnalité, qui est présente dans des clients distants du Remote Access Server (RAS), des programmes de terminal, et des utilitaires généraux de script. Cette caractéristique utilise le langage de script riche de WebNS.

Terminez-vous avec une interface de programmation simple de socket (API) (connectez/débranchement/send/receive), une keepalive à base de script donnera à l'utilisateur la capacité de travailler leur propre protocole, ou écrivez leur propre ordre des étapes pour fournir un ACTIF ou un état d'indisponibilité fiable d'un service. Sans fonctionnalité de keepalive à base de script, vous êtes actuellement limité au FTP, au HTTP, à l'ICMP, et au TCP. Avec des keepalives à base de script, cependant, vous pouvez rester sur les protocoles en cours à côté d'écrire vos propres scripts. Par exemple, vous pouvez développer un script spécifiquement modifié la tonalité pour se connecter à un serveur POP3 sans exiger de WebNS d'établir un type de keepalive POP3. Cette caractéristique permet à des clients pour créer leur propre Keepalives fait sur commande pour satisfaire à leurs exigences spécifiques. Bien que ce soit un composant du Commutateur de services de contenu (CSS), des scripts personnalisés ne sont pas pris en charge par le centre d'assistance technique Cisco (Cisco TAC).

Les keepalives à base de script ci-dessous ne sont pas officiellement prises en charge par TAC, mais ont été testées, et sont disponibles pour l'usage à votre propre discrétion.

Avant de commencer

Conventions

Pour plus d'informations sur les conventions des documents, référez-vous aux Conventions utilisées pour les conseils techniques de Cisco.

Conditions préalables

Aucune condition préalable spécifique n'est requise pour ce document.

Composants utilisés

Les informations dans ce document sont basées sur les versions de logiciel et de matériel ci-dessous.

  • Versions 3.x et ultérieures de WebNS

  • Gamme 11000 CSS

Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.

Exemple de script

Le script ci-dessous peut être utilisé pour ouvrir et fermer un socket sur les ports spécifiés par utilisateur.



!--- No echo.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
!--- Filename: ap-kal-tcp-ports 
!--- Parameters: Service Address, TCP Port(s) 
! 
!--- Description: 
!--- This script will open and close a socket on the user specified ports. 
!--- The close will be a FIN rather than a RST. If one of the ports fails,  
!--- the service will be declared down 
! 
!--- Failure Upon: 
!--- 1. Not establishing a connection with the host on one of the specified ports. 
! 
!--- Note: Does not use output.
!--- Will handle out of sockets scenario. 
! 
!--- Tested: KGS 12/18/01 
! 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 


set OUT-OF-SOCKETS "785" 
set NO-CONNECT "774" 


!--- Make sure the user has a qualified number of arguments.

if ${ARGS}[#] "LT" "2" 
  echo "Usage: ap-kal-tcp-ports \'ipAddress tcpPort1 [tcpPort2 tcpPort3...]\'" 
  exit script 1 
endbranch 

set SERVICE "${ARGS}[1]" 

!--- echo "SERVICE = ${ARGS}[1]" 

var-shift ARGS 

while ${ARGS}[#] "GT" "0" 
  set TCP-PORT "${ARGS}[1]" 
  var-shift ARGS 
  function SOCKET_CONNECT call 

!--- If out of sockets, exit, and look for sockets on the next KAL interval.
 
  if RETURN "==" "${OUT-OF-SOCKETS}" 
    set EXIT_MSG "Exceeded number of available sockets, skipping until next interval." 
    exit script 0 
  endbranch 


!--- Valid connection, look to see if it was good.
 
  if RETURN "==" "${NO-CONNECT}" 
    set EXIT_MSG "Connect: Failed to connect to ${SERVICE}:${TCP-PORT}" 
    exit script 1 
  endbranch 
endbranch 

no set EXIT_MSG 
exit script 0 

function SOCKET_CONNECT begin 
  set CONTINUE_ON_ERROR "1" 
  socket connect host ${SERVICE} port ${TCP-PORT} tcp 2000 
  set SOCKET-STAT "${STATUS}" 
  set CONTINUE_ON_ERROR "0" 
  socket disconnect ${SOCKET} graceful 
  function SOCKET_CONNECT return "${SOCKET-STAT}" 
function SOCKET_CONNECT end

Informations connexes


Document ID: 24106