Netmikoを使えば、機器の情報を取得できるだけでなく、機器の設定を変更することもできる。
ここではLANスイッチの設定を変更してみよう。ネットワークのトラブルが起こった際には、原因になったポートの設定を変更し、シャットダウンすることが多い。
こうした設定変更をPythonで行うには「send_config_set」というメソッドを使う(図4-1)。このメソッドには、設定変更のために実行したい複数のコマンドをリストの形にして渡す。
では実際に試してみよう▼。「connected」(リンクアップ)の状態のポートをPythonコードでシャットダウンして「disabled」にする(図4-2)。
Netmikoで必要な機器設定などのコードはPart3と同じなので省略した。enableメソッドで特権EXECモードに移行後、まず「sh int fa0/8 status▼」というコマンドを使って8番ポートの状態を表示し、「connected」であることを確認した。
次にsend_config_setメソッドを使って「interface fa0/8」と「shutdown」の2つのコマンドを順番に実行し、8番ポートをシャットダウンした。8番ポートの状態を再度表示すると「disable」になっていた。ポートのシャットダウンに成功したことが分かる。
CSV形式のログ出力に挑戦
ネットワーク機器の設定変更は、トラブルの原因になりやすい。このため、機器の設定変更の前後にログを取る決まりになっている企業は多い(図4-3)。
ただ、人手によるログの取得はとても面倒だ。例えば、ログをExcelで記録するよう指定されている場合を考えてみよう。ターミナルソフトの出力テキストをいったんWindowsのメモ帳にコピーし、その中から必要な部分を目視で探し出し、表計算ソフトのセルにコピー&ペーストする。この一連の作業を設定変更の前後で行う必要がある。