2017-01-02 5 views
0

ブレードシャーシログ(特にDell M1000E)のログ解析ユーティリティをビルドしていますが、Pythonでログを解析してブレードの数サーバーが存在していて、多数の番号の付いたブレードオブジェクトを作成します。ログファイルをスキャンしてオブジェクトの作成数を確認する

視覚的な参照のためのログスニペット(完全なログが12に進み、より数百行を持っている):

$ racadmのバージョンの取得-v

サーバー-1 2.41.40.40(07)のPowerEdge M620 iDRAC7 Y

サーバー-2 2.41.40.40(07)のPowerEdge M620 iDRAC7 Y

答えて

0

あなたが知りたいすべてが数0である場合Fブレードサーバを、単純なUnixシェルスクリプトはないでしょう:

racadm getversion -v | awk '"server-"{print $1}' | uniq | wc -l 
Pythonの使用

infile = open("yourfile.txt") 

servers = set() 
line = infile.readline() 
while line: 
    fields = line.split() 
    if len(fields)>0 and "server-" in fields[0] and fields[0] not in servers: 
    servers.add(fields[0]) 
    line = infile.readline() 

print(len(servers)) 
+0

私はシステム自体にそうすることができた場合は、それは非常に簡単で、できるなら私は訂正することができますが、ここでは窓でこれを行う必要があるため、もう少し詳しく説明します。 CMC(Chassis Management Console)はBusyBoxのLinuxフォークを実行します。 racdumpとdumplogsコマンドを実行し、出力をWindowsシステム上で見るための.txtファイルとして取得します。 CMC自体のシェルも非常にロックされています。 必要な数のブレードオブジェクトが作成されると、ハードウェア、ファームウェア、IPなどの情報のキャプチャが終了します。 – Dylan

+0

@Dylan私はあなたの痛みを感じます。私はPythonソリューションを追加しました。 – DyZ

関連する問題