自動化運用ツールみなさん、こんにちは。今回は、ネットワーク運用自動化ツールの話をしたいです。運用業務では、対象ネットワークの規模により、何十台、何百台の機器に同じコンフィグを投入する作業が時々ありますね。その時自動化ツールで作業を行うと、手動よりかなり工数が減り、効率を高めます。実際に作ったツールを、これから紹介していきます。.py」の名前のファイルが作成されます。中身は、シートの第三列に記入した各ホストに、第四列のコンフィグを投入するスクリプトです。今回のコードでは、ジュニパー機器を対象にします。以下のように、大きく二つのパートに分けて作っていきます。commitなどのコマンドを送ることができるスクリプトを作ります。'----------------------------------------------------------------------'5.spawn()で子プロセスを立ち上げます。ここではsshを立ち上げます。logfile=sys.stdoutで実行結果をコンソールに出力します(が、一部の文字表示がずれるので見にくくなります。そのため4番のコマンドリストが必要です。[ユーザー名]@'+ipaddr,logfile=sys.stdout)6.expect()とsendline()でコマンドを一行ずつ送ります。「expect(xxx)」は「xxxという内容の質問を待っている」の意味です。「sendline(ooo)」は「oooという内容の回答を送る」の意味です。「Password:」という入力欄がコンソールに表示するはずです。command.sendline('[ここにパスワードの文字列を書く]')123command.expect('Password')command.sendline('[ここにパスワードの文字列を書く]')と書けば、パスワードを送り、ログインできます。ログインする時に、ジュニパー機器は「初めてログインするユーザーか」によって表示する文字列が異なります。connecting」と表示します。そのため、ここで分岐処理をします。7.表示される二種類の文字で、配列を定義します。コマンドだけを送りましたが、設定コマンドが必要な場合は下記のように修正します。to')こちらも同様に、expect()の文字や送るコマンドを修正すれば設定モードに適用できます。10.定義した関数を呼び出します。'__main__'):CONFIG()これで、一台の機器への設定手順が完了しました。次のタスクは、VBAで複数のpythonスクリプトを一括作成することです。VBAについては、また次回で触れていきたいと思います。最後まで読んでいただき、ありがとうございました!ヤン2018年入社。ネットワークソリューション部門所属。晴れならお散歩、雨なら読書。最近はサンドボックスゲームが好き。※記事の内容は保証はしておりません(執筆時期や実施環境により挙動が変わるものがある為)。別途検証してご利用いただくことをおすすめいたします。