Table des matières

Introduction

Problème

Présentation de l'appel API

Utilisation de l'enroulement dans le script

Introduction

Ce document décrit comment utiliser certains des appels d'API disponibles dans vManage et comment vous pouvez l'adapter pour l'exécuter à l'aide d'un script.

Problème

Les informations que vous pouvez demander à vManage ne sont pas toujours faciles à collecter si la superposition contient des centaines ou des milliers de routeurs de périphérie Cisco.

Exemple :

Le moyen le plus simple d'obtenir la configuration en cours d'un routeur de périphérie Cisco unique est de naviguer vers Configuration > Devices > Wan Edge List et de cliquer sur (...) et Running Configuration. Ensuite, vous devez sélectionner et copier toute la configuration et enregistrer dans un autre fichier comme le format .txt. Cependant, le problème se pose lorsque vous souhaitez obtenir la configuration de plusieurs routeurs de périphérie Cisco, ce qui rend cette tâche fastidieuse et fastidieuse.

Présentation de l'appel API

Cette procédure est un exemple d'utilisation d'un appel d'API simple pour obtenir toutes les informations requises.

Étape 1.

Connectez-vous à vManage normalement à l'aide de l'URL ou de l'adresse IP.

Étape 2.

Ouvrez un nouvel onglet dans le navigateur, puis copiez et collez l'URL de vManage et ajoutez le suffixe /apidocs (https://172.18.121.103:15256/apidocs).

Étape 3.

Dans la zone de recherche, tapez Surveillance - Détails du périphérique.

Étape 4.

Pour obtenir la configuration d'un périphérique, vous devez essayer l'appel d'API /device/config.

Étape 5.

Entrez l'adresse IP système d'un routeur de périphérie Cisco et exécutez l'appel API.

Utilisation de l'enroulement dans le script

Il est préférable d'utiliser un appel d'API dans un script pour générer des fichiers de configuration des routeurs de périphérie Cisco.

Étape 1.

Tout d'abord, dans la ligne de commande shell ou CLI, créez un dossier où tous les fichiers de sauvegarde sont stockés.

lufrias@LUFRIAS-M-P9Q2 Desktop % mkdir Backup_cedges

lufrias@LUFRIAS-M-P9Q2 Desktop % cd Backup_cedges

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % pwd

/Users/lufrias/Desktop/Backup_cedges

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Étape 2.

Créez un fichier .txt avec toutes les adresses IP système des routeurs de périphérie Cisco dont la sauvegarde est requise. Liste d'adresses IP système que vous pouvez obtenir à partir de vManage et exporter le fichier CSV.

Il est nécessaire de nommer le fichier en tant que System-IPs.txt et de l'enregistrer dans le même répertoire que celui qui a été créé précédemment (Backup_cedges).

Étape 3.

Vérifiez que le fichier est enregistré.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % ls -l

total 8

-rw-r--r--@ 1 lufrias  staff  77 Aug 27 12:20 System-IPs.txt

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Étape 4.

Continuez pour créer le script. Il est possible d'utiliser vi ou n'importe quel bloc-notes, mais veillez à l'enregistrer au format .sh.

#!/bin/bash

#Define your variables

echo "Please type vManage URL in following format"

echo "https://172.18.121.103:15256 or https://vmanage.cisco.com"

read VMANAGE

echo "Please enter username to access vmanage"

read USER

echo "Password:"

read PASSWORD

#DEFINING THE API CALLS TO LOGIN AND BODY

security_url="$VMANAGE/j_security_check"

credentials="j_username=$USER&j_password=$PASSWORD"

#EXECUTE THE API CALL TO LOGIN TO THE VMANAGE.

curl --request POST --silent --insecure -c cookies.txt --url $security_url --data $credentials

#EXECUTE THE API CALL TO GET A TOKEN

TOKEN=$(curl "$VMANAGE/dataservice/client/token" -X GET -b cookies.txt -s --insecure)

arr_csv=()

while IFS= read -r line

do

arr_csv+=("$line")

curl --insecure -b cookies.txt -H "accept: text/plain" -H "X-XSRF-TOKEN: $TOKEN"  -X GET "$VMANAGE/dataservice/device/config?deviceId="$line > $line.txt

echo $line

done < System-IPs.txt

echo "Running config was collected from following System_IPs:"

index=0

for record in "${arr_csv[@]}"

do

echo "Record at index-${index} : $record"

((index++))

done

curl "$VMANAGE/logout" -b cookies.txt --silent --insecure -H "X-XSRF-TOKEN: $TOKEN"

echo "Check files, if they are empty or with message "Bad request" check user and password"

Étape 5.

Modifiez le privilège du fichier afin qu'il puisse être exécuté.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % ls -l

total 16

-rw-r--r--@ 1 lufrias  staff    77 Aug 27 12:20 System-IPs.txt

-rw-r--r--  1 lufrias  staff  1174 Aug 27 12:47 config_backup_script.sh

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % chmod +x config_backup_script.sh

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % ls -l

total 16

-rw-r--r--@ 1 lufrias  staff    77 Aug 27 12:20 System-IPs.txt

-rwxr-xr-x  1 lufrias  staff  1174 Aug 27 12:47 config_backup_script.sh

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Étape 6.

Exécutez le script en utilisant la commande /.config_backup_script.sh. Considérez que cela prend un certain temps pour être complété en fonction de la quantité de périphériques.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % ./config_backup_script.sh

Please type vManage URL in following format

https://172.18.121.103:15256 or https://vmanage.cisco.com

https://172.18.121.103:15256

Please enter username to access vmanage

admin

Password:

qwerty1234Q

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7238    0  7238    0     0   1133      0 --:--:--  0:00:06 --:--:--  1761

10.10.10.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7218    0  7218    0     0   1799      0 --:--:--  0:00:04 --:--:--  1800

20.20.20.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7225    0  7225    0     0   1978      0 --:--:--  0:00:03 --:--:--  1978

30.30.30.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7225    0  7225    0     0   1491      0 --:--:--  0:00:04 --:--:--  2031

40.40.40.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7225    0  7225    0     0   2717      0 --:--:--  0:00:02 --:--:--  2718

50.50.50.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7225    0  7225    0     0   1610      0 --:--:--  0:00:04 --:--:--  1641

60.60.60.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100  7225    0  7225    0     0   1668      0 --:--:--  0:00:04 --:--:--  1668

70.70.70.1

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

Dload  Upload   Total   Spent    Left  Speed

100    40    0    40    0     0    108      0 --:--:-- --:--:-- --:--:--   107

80.80.80.1

Running config was collected from following System_IPs:

Record at index-0 : 10.10.10.1

Record at index-1 : 20.20.20.1

Record at index-2 : 30.30.30.1

Record at index-3 : 40.40.40.1

Record at index-4 : 50.50.50.1

Record at index-5 : 60.60.60.1

Record at index-6 : 70.70.70.1

Record at index-7 : 80.80.80.1

Method Not AllowedCheck files, if they are empty or with message Bad request check user and password

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Étape 7.

Enfin, vérifiez que les fichiers sont là avec la commande ls -l.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % ls -l

total 152

-rw-r--r--  1 lufrias  staff  7238 Sep 11 10:06 10.10.10.1.txt

-rw-r--r--  1 lufrias  staff  7218 Sep 11 10:06 20.20.20.1.txt

-rw-r--r--  1 lufrias  staff  7225 Sep 11 10:06 30.30.30.1.txt

-rw-r--r--  1 lufrias  staff  7225 Sep 11 10:06 40.40.40.1.txt

-rw-r--r--  1 lufrias  staff  7225 Sep 11 10:06 50.50.50.1.txt

-rw-r--r--  1 lufrias  staff  7225 Sep 11 10:06 60.60.60.1.txt

-rw-r--r--  1 lufrias  staff  7225 Sep 11 10:07 70.70.70.1.txt

-rw-r--r--  1 lufrias  staff    40 Sep 11 10:07 80.80.80.1.txt

-rw-r--r--@ 1 lufrias  staff    88 Sep 10 11:48 System-IPs.txt

-rwxr-xr-x  1 lufrias  staff  1352 Sep 11 09:49 config_backup_script.sh

-rw-r--r--  1 lufrias  staff   288 Sep 11 10:06 cookies.txt

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Vérifiez le fichier de configuration.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % more 10.10.10.1.txt

system

system-ip             10.10.10.1

overlay-id            1

site-id               101

no transport-gateway enable

port-offset           0

control-session-pps   300

admin-tech-on-failure

sp-organization-name  CISCORTPLAB

organization-name     CISCORTPLAB

port-hop

track-transport

track-default-gateway

console-baud-rate     9600

no on-demand enable

on-demand idle-timeout 10

vbond 192.168.51.117 port 12346

Si les fichiers sont vides ou si le message d'erreur « Bad request » s'affiche, vérifiez le nom d'utilisateur et le mot de passe d'authentification.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % more 30.30.30.1.txt

Bad Request

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %

Si le fichier indique « Aucun périphérique trouvé pour l'adresse IP du système », cela signifie que l'adresse IP du système n'existe pas dans vManage. Vous devez corriger System-IPs.txt et supprimer une adresse IP système incorrecte.

lufrias@LUFRIAS-M-P9Q2 Backup_cedges % more 80.80.80.1.txt

No device found for system IP 80.80.80.1

lufrias@LUFRIAS-M-P9Q2 Backup_cedges %