アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB2012にてバッチプログラムを作成中です。
イベントログとSNMPトラップでエージェントを監視するための
ツールが欲しいということでネットワークエンジニアの方に頼まれてのことです。

特定のイベントログをメールに添付して送信する機能は実装できたのですが
SNMPトラップに苦戦しています。

WMIを通して取得できそうだったので
その線で調べ進めていたのですが
そもそも定期的に動くバッチで
いつ発生するかわからないトラップ情報を受信しようとすることから
土台無理な話ではないかと思えてきました。

まずトラップ情報を受信するための常に起動させておくプログラムを
作り、そのプログラムにトラップ情報をテキストで保存しておいて
それをバッチプログラムでとってくる必要があるでしょうか。
またはそれに代わる仕組みがそもそも標準であればいいのですが無さそう、、、

一週間ほどネットを調べまわっているので
使えそうなサイトは9割がた既読済みだと自負しています。
ただし私は文系大学卒のプログラム自体未経験の15年卒新入社員ですので
読んだサイトの理解度は良くて半分といったところかと思います。

net-snmpなどのツールを使えばいいじゃんと
言ってしまいたくなるかもしれませんが

このバッチでSNMPトラップをもってこれるのかこれないのか
どうしてもってこれないのか(実現不可能な理由)
どうしたらもってこれるのか(実現方法)
ネットワークについての知識、プログラミングについての知識
両方が必要になるかと思いますので
これについてはググっとけ
といったことでも構いません。
なにか糸口がつかめればと思います。

質問するうえでこれを教えてもらわんと回答のしようがない
といった要素がありましたら補足いたします。

お願いします。

実装予定環境は
windows2008R2 .net3.5 です

A 回答 (4件)

われせんさんの発言を少し理解できていなかったようで申し訳ないです。



いくつか回答させていただきます。

・エージェントを起動する。
・UDP162ポートでリスニング待機させておく。
・任意のタイミングでエージェントから情報が送られてくる。
・受信を契機にメール送信プログラムが送られてくる。
・送信したら再びUDP162ポートでリスニング待機。

この流れで良いんですよね?

ですので
>>このバッチでSNMPトラップをもってこれるのかこれないのか
>>どうしてもってこれないのか(実現不可能な理由)
>>どうしたらもってこれるのか(実現方法)

ここの意味がよくわからず混乱してしまいます。
これってエージェントの仕事ですよね?
開発するのは最初に書いたリスニング機能ではないんですか?
    • good
    • 0
この回答へのお礼

不勉強な私にお付き合いいただき、何度もご回答を頂いたことを心から感謝申し上げます。
本当にありがとうございました。

時間を取れず、消化不良な状態で質問期間を消化してしまったこと
すいませんでした。

お礼日時:2015/09/28 17:54

何度もすみません。


つまり、言いたいことは、SNMP云々ではなく、どんなエージェントを使用しているのか、
どういう設定にされているかなどエージェントの方について記述がなければ回答のしようがないのでは?
ということです。
私でしたら、メール送信が目的なら、わざわざマネージャーでやらせずに
サーバー側にそういう仕掛けを仕込みますがね。
    • good
    • 0
この回答へのお礼

何度もご回答いただいたにも関わらず、お礼が遅れてしまい申し訳ありません。

お礼日時:2015/09/28 17:50

案内されたURLを拝見しました。


少し勘違いされているようですが、そのトラップというものはSNMPのものではありません。
前にも書きました通り、SNMPとは単純にメッセージを通信するための規格です。
そのURLにも書かれていますが、そのトラップを送出するのはSNMPエージェントといわれるプログラムです。
どういった信号を送出するかはそのエージェントの仕様によります。
つまり、SNMPでそのトラップの送出仕様を規格されているわけではありません。
もし、エージェントを使用していないのであれば、URLにも書いている通り、
マネージャー側からキックをしてそれで返却されたステータス情報を解析して
エージェント自らトラップするというようなロジックが必要になります。
    • good
    • 0
この回答へのお礼

重ねてご回答ありがとうございます。

SNMPがその名の通り通信規格であることは認知しておりますが
その通信規格を用いてネットワークを監視するシステムを総称する意味合いでも
SNMPという単語は使われていると認識しています。
SNMPというネットワークを監視するシステムの要素として
監視されている側のホストをSNMPエージェント
監視する側のホストをSNMPマネージャと呼ぶ。
といった理解でいます。

ですので
>>SNMPエージェントといわれるプログラム
>>どういった信号を送出するかはそのエージェントのしようによります。
という説明の部分が
ピンときません。

SNMPトラップの発信条件をエージェント側で設定しておく必要があることは
理解していますが、、、

お礼日時:2015/09/09 18:03

そもそも、トラップという意味が分かりません。


異常検知したとしてもそれを通知する機能はSNMP自体にはありませんよ。
SNMPを理解されていますか?
そもそもSNMPの実装はマネージャーからエージェントへ要求を出して情報取得するものです。
ですので、よりリアルタイムな監視をしたいのであればそのマネージャーのキックの頻度を短くすればいいと思われます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

SNMPとgoogleで検索欄に打っていただければ
検索候補として
snmpトラップ
とかいてあるものが出るかと思います。
それをクリックしていただければ以下のページが検索結果の一番上に出てきます。
http://e-words.jp/w/SNMP%E3%83%88%E3%83%A9%E3%83 …
上記のページから抜粋
―――――――――――――――――――――――――――――――――――
SNMPトラップとは、SNMPでネットワーク上の機器を監視する際に、監視下の機器(SNMPエージェント)側から管理用コンピュータ(SNMPマネージャ)に向けて能動的に発信される通知のこと。

SNMPによる監視では、平常時には、マネージャが問い合わせや要求などをエージェントに送り、それにエージェントが返信を送ることが多いが、何からの異常が生じた場合などに、エージェント側からマネージャにそのことを通知することがあり、これをSNMPトラップという。

SNMPトラップが発行されるのは、マネージャが予め指定した異常事態が発生したときや、端末の状態を表すパラメータが予め設定された閾値を超えた場合などである。
―――――――――――――――――――――――――――――――――――

この説明で
ご理解いただけましたでしょうか?
もしまだわからないということでしたら
SNMPについて他にも参考になるページを
いくつかお教えいたします。

お礼日時:2015/09/09 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!