るいすときのこの物語

オタクエンジニアの雑記

EdgeRouter ER-8の温度をZabbixで取得する


前回の記事を書いた後、ZabbixでEdgeRouter ER-8の温度を取得することができたので 記事にしたいと思います。 https://luispc.com/server/2017/05/10/9020

 

EdgeRouter ER-8 にSSHできるようにする

Webでログインしたら、フッターっぽいところに system タブがあるので そこを開いてSSHを有効化します。

ちなみにこの時点でWAN側のポートが開くので要注意です。

 

ホームディレクトリにスクリプトを設置する

これに実行権限を与える chmod +x get_temperature.sh

 

Zabbix server で zabbixユーザーがSSHできるようにする

僕の環境では zabbix ユーザーは /bin/false な状態だったのでいくつかコマンドを実行

# usermod -s /bin/bash zabbix
# mkdir /home/zabbix
# chown -R zabbix:zabbix /home/zabbix
# usermod -d /home/zabbix zabbix
# su - zabbix
$ mkdir .ssh

 

また、一度known_hostsに EdgeRouter を追加するためにzabbixユーザーでSSH

$ ssh ubnt.hoge.local -l hoge -p 22

 

 

Zabbix server の外部スクリプトとしてスクリプトを設置する

#!/bin/bash

echo `sshpass -p 'PASS' ssh -o StrictHostKeyChecking=no -p PORT IP -l USER "/home/hoge/get_temperature.sh $1"

これをZabbixのexternalscriptsフォルダの中に入れる

zabbixで実行できるようにしておく

$ chown -R zabbix:zabbix router.sh
$ chmod +x router.sh

zabbix server の再起動

# systemctl restart zabbix-server

 

Zabbix にアイテムを追加する

こんな感じに追加する。 引数の部分はCPU以外にもBoardCPUとPHYBoardPHYが取得できます。

 

確認する