- PR -

TeraTerm によるルータLog取得

1
投稿者投稿内容
まべ
常連さん
会議室デビュー日: 2002/08/21
投稿数: 23
お住まい・勤務地: 麹町
投稿日時: 2006-08-07 21:56
TeraTerm のマクロ機能を使って定期的にLogを取得する事を考えているのですが
上手くマクロを書けません。
下記に様に無理やり取ろうとすればいけるのですが
********************
connect '192.168.0.1'
Wait 'Password'
sendln 'cisco'
sendln 'en'
Wait 'Password'
sendln 'cisco'
logopen 'log.txt' 0 0
sendln 'show log'
sendln ' '
logclose
sendln 'exit'
********************
sendln ' '←ここがスマートになりません
Logが多い時はexitまで行かず
かと言ってsendln ' 'を沢山書くのも…
何か良い案はありますでしょうか。
また複数台ルータがある場合マクロを二つ実行を行わなくても
取得は可能なのでしょうか。
VBスクリプトのようにDoとかで書く事も可能なのでしょうか。
お手数おかけしますがよろしくお願いします。

kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-08-07 22:24
こんばんわ.

余計なことかもしれませんが,
syslog server を構築するのではダメなのでしょうか?
まべ
常連さん
会議室デビュー日: 2002/08/21
投稿数: 23
お住まい・勤務地: 麹町
投稿日時: 2006-08-08 00:19
kazさん
こんばんは。

>余計なことかもしれませんが,
>syslog server を構築するのではダメなのでしょうか?

Syslogserverも検討はしたのですが、
Windows上のタスクで行いたいので、Teratermのマクロでと考えています。
またタスクで取得したLogファイルを二次加工して保存等を考えているので
可能な限り取得しに行くという手段があればと考えています。

よろしくお願いします。

[ メッセージ編集済み 編集者: まべ 編集日時 2006-08-08 00:20 ]
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2006-08-08 07:26
おはようございます。

Windows 自体を syslog server にするのに抵抗は無いんですよね?
取得管理保存自体を Windows で行いたいという要望でしたら、
http://www.kiwisyslog.com/
なんてものもあります。

ターミナルで取得しにいくよりも、それ系のソフトの方が簡単と思いましたので、
質問の意図とは異なりますが、ご容赦ください。
ひさ
常連さん
会議室デビュー日: 2005/05/10
投稿数: 46
投稿日時: 2006-08-08 13:38
ログ取得したい機器は、Ciscoの機械ですか?
Ciscoの機器なら、show logコマンドの前に、terminal length 0
のコマンドを実行することでで解決すると思います。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-08-08 21:58
引用:


取得管理保存自体を Windows で行いたいという要望でしたら、
http://www.kiwisyslog.com/
なんてものもあります。


に限らず,Windows Server で動く syslog は結構あると思いますよ.
NTsyslog とか,有償のものもたくさん.
syslog を回収するなら,自分も
引用:

ターミナルで取得しにいくよりも、それ系のソフトの方が簡単と思いましたので、


に同感です.
回収した後に,scrip などで加工したら如何でしょう?
うえだ
常連さん
会議室デビュー日: 2006/05/22
投稿数: 34
投稿日時: 2006-08-12 09:55
こんにちは。

> まべさん

引用:
また複数台ルータがある場合マクロを二つ実行を行わなくても
取得は可能なのでしょうか。VBスクリプトのようにDoとかで書く事も可能なのでしょうか。



TeraTerm Macro にも while / endwhile 、for / next 構文があります。これらの制御構文でループさせつつ、ホスト名一覧を記述したファイルから filereadln でホスト情報を順番に読み込み、ログインを繰り返してログ取得、ということは可能だと思います。

引用:
sendln ' '←ここがスマートになりません
Logが多い時はexitまで行かず
かと言ってsendln ' 'を沢山書くのも…
何か良い案はありますでしょうか。



これはひささんがお書きになっている通り、Cisco なら terminal length 0 で、他メーカ機器でも類似のコマンドで解決すると思います。terminal length 0 → show log して、wait でプロンプトが返ってくるのを待ってから exit すれば良いと思います。あと、好みの問題ですが、show log するだけの Macro でしたら enable する必要は無いと思います (私なら不必要な enable はしません)。

ただ、私も皆さんがお書きになっているように Syslog Server を用意する方がずっと簡単だと思います (逆に、TeraTerm Macro を使うメリットが見えません)。kaz さんがお書きになっているように、

引用:
回収した後に,script などで加工したら如何でしょう?



が、スマートだと思います。

ではでは。うえだ@白ワインとチーズでした。
1

スキルアップ/キャリアアップ(JOB@IT)