CLOUD CORE ROUTER - Page 5 - MikroTik
私の自宅環境では、Zabbixを使用してネットワーク機器諸々の監視をしているのですが、MikrotikのCloud Core Router(通称:CCR)は最低16コア、最大36コア、CPUがあるため、SNMPINDEXを利用した場合、非常に見難いデータしか取得することができません。
何かいい方法はないかなぁと探していたところ、公式フォーラムにCPUの全体の平均使用率を割り出すスクリプトが掲載されていたので利用してみることにしました。
スクリプト本体
以下の内容のスクリプトをZabbix Server上に作成する。配置場所はzabbix_server.conf
のExternalScripts
に書かれた場所に配置します。ここではccr_cpu_avg.sh
のような名前で保存します。また、実行権限を付与するのを忘れないで下さい。
#!/bin/bash
ROUTER_IP="xxx.xxx.xxx.xxx"
OID=".1.3.6.1.2.1.25.3.3.1.2"
snmpwalk -v2c -c public -On $ROUTER_IP $OID | awk '{ print($4) }' | awk 'BEGIN{sum=0}{sum+=$1}END{print int(sum/<コア数>)}'
このスクリプトの返り値がCPU全体の平均使用率になります。
あとはZabbixの設定画面からアイテムとして追加してきます。
設定>ホスト>(該当のCCR)>アイテムの作成、と進み、以下の画面のようにスクリプトを呼び出す形で設定します。
ここで大事なことは、タイプを外部チェックで指定すること、キーには呼び出すべきスクリプトを指定すること、です。
あとは監視データ>最新データから該当の機器を選択し、データが取得できていることを確認します。
全体のCPU使用率と、個々のコアの使用率を取得しておくことで、個別のコアに偏りがないか、全体として負荷が上がっていないか、などをチェックすることができるようになると思います。