YAMAHA の 10G ルーター RTX1300 をフォロワーに貢いで貰った。 このままほぼデフォルトで使ってもいいが、せっかくの高級ネットワーク機器なのでいろいろやってみたい。 調べたところ SNMP というプロトコルで各種データが取れるようなので、それらを Mackerel に送信するところまでをやってみる。
構成としては以下のように組んで、 Raspberry Pi に mackerel-agent をインストールし、それ経由で Mackerel へデータを送信する。
RTX1300 --> Raspberry Pi --> Mackerel
まずはデバッグ用に SNMP を喋るコマンドを入れる。
$ sudo apt install snmp
これで SNMP を喋るようになったので、まずはデフォルト設定で繋げるかどうかを確かめてみる。
$ snmpwalk -v 2c -c public 192.168.100.1 1.3.6.1.2.1.1 Timeout: No Response from 192.168.100.1
デフォルトではアクセスできない様子なので、アクセスできるようにする。
まず、対象となる Raspberry Pi からアクセスできるように、アクセスを許可する。
# Terminal 1 - RTX1300 $ ssh 192.168.1.100 > administrator > snmpv2c host 192.168.100.2 public
設定したら、アクセスできるかどうかを確かめる。
# Terminal 2 - Raspberry Pi $ snmpwalk -v 2c -c public 192.168.100.1 1.3.6.1.2.1.1 iso.3.6.1.2.1.1.1.0 = STRING: "RTX1300 Rev.23.00.13 (Wed Jun 19 09:13:13 2024)" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.1182.1.72 iso.3.6.1.2.1.1.3.0 = Timeticks: (252589583) 29 days, 5:38:15.83 iso.3.6.1.2.1.1.4.0 = "" iso.3.6.1.2.1.1.5.0 = "" iso.3.6.1.2.1.1.6.0 = "" iso.3.6.1.2.1.1.7.0 = INTEGER: 12
帰ってきたのでよさそう。 次に欲しいデータの MIB を取得する。 今回はこんな感じのデータを取得していく。
値 | MIB名 | OID | データ例 |
---|---|---|---|
CPU使用率(1 分平均) - CPU 0 | yrhMultiCpuUtil1min |
1.3.6.1.4.1.1182.2.1.18.1.4.1 |
0 |
CPU使用率(1 分平均) - CPU 1 | yrhMultiCpuUtil1min |
1.3.6.1.4.1.1182.2.1.18.1.4.2 |
0 |
CPU使用率(1 分平均) - CPU 2 | yrhMultiCpuUtil1min |
1.3.6.1.4.1.1182.2.1.18.1.4.3 |
0 |
CPU使用率(1 分平均) - CPU 3 | yrhMultiCpuUtil1min |
1.3.6.1.4.1.1182.2.1.18.1.4.4 |
0 |
メインメモリー使用率 | yrhMemoryUtil |
1.3.6.1.4.1.1182.2.1.4.0 |
31 |
受信オクテット数 (WAN) | ifInOctets |
1.3.6.1.2.1.2.2.1.10.1 |
3429894881 |
受信オクテット数 (LAN) | ifInOctets |
1.3.6.1.2.1.2.2.1.10.2 |
362031397 |
送信オクテット数 (WAN) | ifOutOctets |
1.3.6.1.2.1.2.2.1.16.1 |
2801298872 |
送信オクテット数 (LAN) | ifOutOctets |
1.3.6.1.2.1.2.2.1.16.2 |
1749469093 |
これを Mackerel に投げる。 まずはホストを登録する。
# Terminal 2 - Raspberry Pi $ mkr create --customIdentifier rtx1300 RTX1300
これでホストが作られたので、ここへ投稿していく。
設定はこんな感じ:
[plugin.metrics.rtx1300] command = ["mackerel-plugin-snmp", "-community", "public", "-host", "192.168.100.1", ".1.3.6.1.4.1.1182.2.1.18.1.4.1:yrhMultiCpuUtil1min.1:0:0:uint32", ".1.3.6.1.4.1.1182.2.1.18.1.4.2:yrhMultiCpuUtil1min.2:0:0:uint32", ".1.3.6.1.4.1.1182.2.1.18.1.4.3:yrhMultiCpuUtil1min.3:0:0:uint32", ".1.3.6.1.4.1.1182.2.1.18.1.4.4:yrhMultiCpuUtil1min.4:0:0:uint32", ".1.3.6.1.4.1.1182.2.1.4.0:yrhMemoryUtil:0:0:uint32", ".1.3.6.1.2.1.2.2.1.10.1:ifInOctets.wan:0:0:uint32", ".1.3.6.1.2.1.2.2.1.10.2:ifInOctets.lan:0:0:uint32", ".1.3.6.1.2.1.2.2.1.16.1:ifOutOctets.wan:0:0:uint32", ".1.3.6.1.2.1.2.2.1.16.2:ifOutOctets.lan:0:0:uint32"] custom_identifier = "rtx1300"
受信・送信オクテット数は多分差分表示が正しいが、それは GUI から設定するものとする。 最終的にはこういうものができあがる。
よさそう。なのであとは好きにダッシュボードをいじったら完成!よくできました! ということで、設定してみたブログでした。ではでは。
参考: