前回の記事を書いた後、ZabbixでEdgeRouter ER-8の温度を取得することができたので
記事にしたいと思います。
https://luispc.com/server/2017/05/10/9020
TOC
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と
とPHY
、BoardPHY
が取得できます。
確認する
EdgeRouterのCPU温度をZabbixで取得できたぞーーー pic.twitter.com/ES5KLXss4X
— らりるれるいすにゃん (@lu_iskun) 2017年5月11日