[Zabbix][Mikrotik] Mikrotik Cloud Core Router のCPUの全体平均使用率を割り出すスクリプト。 #zabbix #routerboard

zabbix
CLOUD CORE ROUTER - Page 5 - MikroTik

私の自宅環境では、Zabbixを使用してネットワーク機器諸々の監視をしているのですが、MikrotikのCloud Core Router(通称:CCR)は最低16コア、最大36コア、CPUがあるため、SNMPINDEXを利用した場合、非常に見難いデータしか取得することができません。

何かいい方法はないかなぁと探していたところ、公式フォーラムにCPUの全体の平均使用率を割り出すスクリプトが掲載されていたので利用してみることにしました。

スクリプト本体

以下の内容のスクリプトをZabbix Server上に作成する。配置場所はzabbix_server.confExternalScriptsに書かれた場所に配置します。ここでは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使用率と、個々のコアの使用率を取得しておくことで、個別のコアに偏りがないか、全体として負荷が上がっていないか、などをチェックすることができるようになると思います。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました