QFX5100から設定コンフィグを自動取得する方法

常日頃の業務でNW機器の設定を行なっているとちょっとした作業を自動化できれば業務の負担が減るのになぁ。。。と思い始めて早1ヶ月
今回はNW機器から自動で設定コンフィグを取得するPythonスクリプトを作ってみたのでその辺のメモ書きを残します!

NWの自動化なんてググればすぐ見つかる情報なのでまずはググってみた。
こちらの記事はとてもわかりやすく丁寧な内容だった為、参考にさせていただきます。
qiita.com

参考記事によると、NETCONFなるものを使ってNW機器の情報を取得するようですね。。

NETCONFとは

マルチベンダーに対応しており、NW機器の情報を取得するプロトコルだそうです。
主要どころのベンダーだとCisco、Juniper、Arista、Brocadeが対応しているそうです。

NETCONFを使ったスクリプトコード

検証端末PCがWindowsなのでコンフィグファイルを保存するパスがWindows仕様になっています。
またPythonのバージョンは3.6.5でWindows OSは7です。

from ncclient import manager

username = 'admin'
password = 'admin'
ipv4 = '192.168.2.x'
port = 22

connection = manager.connect(host = ipv4, port = port, username = username, password = password, timeout = 20, device_params={'name':'junos'}, hostkey_verify=False )

print('1. run show command')
print('='*40)

config=str(connection.command('show configuration',format="text"))
print('='*40)
config2=str(connection.command('show configuration | display set',format="text"))


file="C:\\Users\\Desktop\\log.txt"
with open(file,"a")as f:
    f.write(config)
    f.write(config2)

たったこれだけの行数で見事に設定情報を取得する事ができました!
これでわざわざSSHしてコマンドを打つ手間が省けますね。

と言う訳でここまで駆け足で過ぎて行きましたが、詳細については参考にさせて頂いた記事をご覧になってください。