- PR -

JavaでWindowsのイベントログの取得方法について

1
投稿者投稿内容
なおっち
常連さん
会議室デビュー日: 2004/11/15
投稿数: 29
投稿日時: 2005-09-17 11:49
Webで社内の端末のイベントログを監視するPGを作成しようと考えています。
サーバはUnixで、定期的にイベントログを取得しDBを更新したいと思います。
しかし、サーバがUnixのため、Windowsのイベントログを取得するための良いツールが見つかりませんでしたので、Javaでツールを作成し取得しようと思うのですが、Windowsのイベントログを取得するクラスが見つかりませんでした。。。
どなたかご存知の方いらっしゃらにでしょうか?
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2005-09-17 12:47
プラットフォーム固有のクラスは提供されないですね。
以下を検討してみてはいかがでしょうか?

(1) JNIを利用してクラスを自作する
(2) イベントトリガを利用して通信部分だけJavaで書く
http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/016eventtriggers.html
(3) ミドルウェア製品を利用する
http://systemwalker.fujitsu.com/jp/centricmgr/

同じような案件が身近でありましが、
「(3) ミドルウェア製品を利用する」を採用したようです。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-09-17 13:06
やりたい事がよくわかりませんが、

まず、「Webで」と仰っているのが、
イベントログが格納されたDBを閲覧する部分を示しているのでしょうか?

で、UNIX上で稼動するAPサーバがバックグラウンドで、
LAN上のWindows端末のイベントログを取得したいということでしょうか?

これらの処理を行いたいのであれば、NetBIOSを使用する必要がありますが、
JavaでのNetBIOSの実装はなさそうですね。(検索してもわかりませんでした)
自作でNBTプロトコルを実装するか、
UNIX向けのNetBIOSのツールを外部プロセスで起動するしかないと思います。
(UNIXは詳しくないのでごめんなさい)
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-09-17 13:20
追記ですが、対象端末が限定されるのであれば逆のパターンもありかもしれません。
逆というのは、サーバから端末の中を調べるのではなく、
端末から定期的にサーバに送信させる方法です。

定期的にイベントログを監視して、サーバに送信するような内容のプログラムを
スタートアップでバックグラウンド実行させるという運用になりますが、
イベントログの取得やバックグラウンド実行はVBとWin32APIを使用すれば
簡単に作成できると思います。送信もHTTPのリクエストで送信すれば、
サーバの実装もシンプルになるのではないでしょうか。
なおっち
常連さん
会議室デビュー日: 2004/11/15
投稿数: 29
投稿日時: 2005-09-20 08:44
参考になりました。

ご返信ありがとうございます。

1

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