Grundlegendes zur Perl-Verteilung des Junos XML-Protokolls und Beispielskripts
Juniper Networks stellt ein Perl-Modul JUNOS::Device
bereit, mit dem Sie benutzerdefinierte Perl-Skripts für die Konfiguration und Überwachung von Junos-Geräten entwickeln können. Das Modul implementiert ein JUNOS::Device
Objekt, das Clientanwendungen für die Kommunikation mit dem Junos XML-Protokollserver auf einem Junos-Gerät verwenden können. Die Perl-Distribution enthält mehrere Perl-Beispielskripte, die veranschaulichen, wie das Modul in Skripten verwendet wird, die verschiedene Funktionen ausführen.
Ab Junos OS Version 22.1R1 und Junos OS Evolved Version 22.1R1 stellen wir den Perl-Client des Junos XML-Protokolls nicht mehr zum Download bereit. Wenn Sie Perl zum Verwalten von Junos-Geräten verwenden möchten, verwenden Sie stattdessen die Perl-Bibliothek NETCONF. Weitere Informationen finden Sie unter Grundlegendes zum NETCONF-Perl-Client und Beispielskripts.
Die Perl-Distribution des Junos-XML-Protokolls verwendet dieselbe Verzeichnisstruktur für Perl-Module wie das Comprehensive Perl Archive Network. Dazu gehören ein lib-Verzeichnis für das Modul und seine JUNOS
unterstützenden Dateien sowie ein Beispielverzeichnis für die Beispielskripte.
Clientanwendungen verwenden das JUNOS::Device
Objekt, um mit einem Junos XML-Protokollserver zu kommunizieren. Die Bibliothek enthält mehrere Module, Clientanwendungen rufen jedoch nur das JUNOS::Device
Objekt direkt auf. In allen Beispielskripts wird dieses Objekt verwendet.
Die Beispielskripts veranschaulichen, wie die folgenden Funktionen ausgeführt werden:
-
diagnose_bgp.pl: Veranschaulicht, wie Skripts geschrieben werden, um den Gerätestatus zu überwachen und Probleme zu diagnostizieren. Das Beispielskript extrahiert und zeigt Informationen zu den nicht eingerichteten BGP-Peers (Border Gateway Protocol) eines Geräts aus dem vollständigen Satz von BGP-Konfigurationsdaten an. Das Skript befindet sich im Verzeichnis examples/diagnose_bgp der Perl-Distribution des Junos-XML-Protokolls.
-
get_chassis_inventory.pl: Veranschaulicht, wie eine vordefinierte Abfrage verwendet wird, um Informationen von einem Gerät anzufordern. Das Beispielskript ruft die
get_chassis_inventory
Methode mit derdetail
Option auf, dieselben Informationen wie die Junos-XML-Tagsequenz/get-chassis-inventory
get-chassis-inventory
detail
und den CLI-Betriebsmodusbefehlshow chassis hardware detail
(Command-Line Interface) anzufordern. Das Skript befindet sich im Verzeichnis examples/get_chassis_inventory der Perl-Distribution des Junos-XML-Protokolls. -
load_configuration.pl – Veranschaulicht, wie Sie eine Gerätekonfiguration ändern, indem Sie eine Datei laden, die Konfigurationsdaten enthält, die mit Junos XML-Tag-Elementen formatiert sind. Die Distribution enthält zwei Beispielkonfigurationsdateien, set_login_class_bar.xml und set_login_user_foo.xml. Sie können jedoch in der Befehlszeile eine andere Konfigurationsdatei angeben. Das Skript befindet sich im Verzeichnis examples/load_configuration der Perl-Distribution des Junos-XML-Protokolls.
Die folgenden Beispielskripts werden zusammen verwendet, um zu veranschaulichen, wie Daten aus der Junos XML-API (oder einem beliebigen XML-getaggten Datensatz) in einer relationalen Datenbank gespeichert und abgerufen werden. Obwohl diese Skripte MySQL-Tabellen erstellen und bearbeiten, gelten die Datenbearbeitungstechniken, die sie veranschaulichen, für jede relationale Datenbank. Die Skripte werden im Verzeichnis examples/RDB in der Perl-Distribution bereitgestellt:
-
get_config.pl: Veranschaulicht, wie Sie Konfigurationsinformationen zur Routing-Plattform abrufen.
-
make_tables.pl – Generiert eine Reihe von SQL-Anweisungen (Structured Query Language) zum Erstellen relationaler Datenbanktabellen.
-
pop_tables.pl: Füllt vorhandene relationale Datenbanktabellen mit Daten, die aus einer angegebenen XML-Datei extrahiert wurden.
-
unpop_tables.pl: Wandelt Daten, die in einer Tabelle mit relationaler Datenbank gespeichert sind, in XML um und schreibt sie in eine Datei.
Anweisungen zum Ausführen der Skripte finden Sie in der README-Datei oder README.html-Datei , die in der Perl-Distribution enthalten ist.