らくがきちょう

なんとなく

CentOS7 で ConfigCollector を使ってネットワーク機器のコンフィグを自動取得する

taijiji さん作の ConfigCollector はネットワーク機器のコンフィグを自動取得するツールです。Qiitaルータコンフィグ収集ツールConfigCollecor作りましたページには GitHub からソースコードを取得して環境構築する手順が紹介されていますが、今では pip でインストール出来るようになっています。今回は CentOS7 で ConfigCollecor を試してみます。

ConfigCollecor をインストールする

必要なパッケージをンストールします。

yum -y install libffi-devel gcc openssl-devel python-devel

pip をインストールします。

curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py

pip を ConfigCollecor をインストールします。

pip install configcollector

ConfigCollecor を実行する

ログイン先機器を .json 形式で用意しておきます。現状では enable パスワードが設定された Cisco 機器には対応していません。 今回は my_router.json というファイル名で保存しました。

[
    {
        "hostname" : "IOSv-1",
        "username" : "USER",
        "password" : "PASSWORD",
        "ipv4"     : "192.168.1.1",
        "os"       : "IOS"
    },
    {
        "hostname" : "IOSv-2",
        "username" : "USER",
        "password" : "PASSWORD",
        "ipv4"     : "192.168.1.2",
        "os"       : "IOS"
    }
]

先程、作成した .json と取得したコンフィグの出力先ディレクトリを指定して実行します。

configcollector -i ~/my_router.json -o ~/config

補足

現状の ConfigCollector では enable パスワードの設定された Cisco 機器には対応していません。enable パスワードに対応するように修正したコードを GitHub に Pull Request したので、いつか取り込まれるかも知れません…