見出し画像

TWSNMP FCのRMON対応:統計履歴とホストリストを追加

かみさんが昨日、布団を干してくれたので気持ち良くて今朝は6時まで寝てしまいました。早く寝たのに
さて、TWSNMP FCのRMON対応の続きです。昨日、MIBブラウザーを改造して開発作業が楽になりました。RMON MIBの情報をMIBブラウザーで取得してコピーします。
ホストリストの画面ならば

インデックス,名前,値
3027	hostTimeAddress.30610350.101	33:33:FF:3F:81:17
3319	hostTimeCreationOrder.30610350.101	101
3611	hostTimeIndex.30610350.101	30610350
3903	hostTimeInPkts.30610350.101	42 Packets
4195	hostTimeOutPkts.30610350.101	0 Packets
4487	hostTimeInOctets.30610350.101	3780 Octets
4779	hostTimeOutOctets.30610350.101	0 Octets
5071	hostTimeOutErrors.30610350.101	0 Packets
5363	hostTimeOutBroadcastPkts.30610350.101	0 Packets
5655	hostTimeOutMulticastPkts.30610350.101	0 Packets

のような情報を元にして

    setHostsData(mibs) {
      this.hosts = []
      Object.keys(mibs).forEach((index) => {
        if (!index.includes('.')) {
          return
        }
        const m = mibs[index]
        this.hosts.push({
          hostTimeCreationOrder: (m.hostTimeCreationOrder || 0) * 1,
          hostTimeIndex: (m.hostTimeIndex || 0) * 1,
          hostTimeAddress: m.hostTimeAddress || '',
          Vendor: m.Vendor || '',
          hostTimeInPkts: (m.hostTimeInPkts || 0) * 1,
          hostTimeOutPkts: (m.hostTimeOutPkts || 0) * 1,
          hostTimeInOctets: (m.hostTimeInOctets || 0) * 1,
          hostTimeOutOctets: (m.hostTimeOutOctets || 0) * 1,
          hostTimeOutErrors: (m.hostTimeOutErrors || 0) * 1,
          hostTimeOutBroadcastPkts: (m.hostTimeOutBroadcastPkts || 0) * 1,
          hostTimeOutMulticastPkts: (m.hostTimeOutMulticastPkts || 0) * 1,
        })
      })
    },

のようなソースコードを作る作業をやるわけです。変数名をコピペできるので楽になっています。今朝は2つ作れました。
RMON統計履歴

とホストリスト

です。ホストリストにはRMONのMIBにはありませんが、MACアドレスからベンダー名を取得して表示できるようにしました。

RMON管理は沢山画面があるので、まだまだ時間がかかりそうです。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。