今回はRaspberry Pi Zeroで取得した気温・湿度をzabbix_senderを使ってZabbix Serverへ送信します。定期的にデータを送信し、Zabbix Server側でグラフ化しようと思います。
バイナリを置けばいいだけです。
Raspberry Pi Zero側で以下のコマンドを実行。
Raspberry Pi Zero側で以下のコマンドを実行。
$ sudo scp -p pi@<ZabbixServerのIPアドレス>:/usr/local/bin/zabbix_sender /usr/local/bin/.
Zabbixの設定
ホスト登録
ツールバーの[設定]→[ホスト]→右上の[ホストの作成]
ホスト名 | Raspberry Pi Zeroのホスト名 |
表示名 | 好きな名前をつける |
新規グループ作成 | 好きな名前をつける |
IPアドレス | そのままで良い |
[追加]を押す
アイテム作成
作成したホストの[アイテム]をクリックする。画面右上の[アイテムの作成]を押す。
名前 | 気温 |
タイプ | Zabbixトラッパー |
キー | trapper_temperature |
データ型 | 数値( |
単位 | ℃ |
ヒストリ | 30日 |
トレンド | 365日 |
[追加]を押す。
同様の手順で湿度のアイテムも追加する。
名前 | 湿度 |
タイプ | Zabbixトラッパー |
キー | trapper_humidity |
データ型 | 数値( |
単位 | % |
ヒストリ | 30日 |
トレンド | 365日 |
Raspberry Pi Zeroからデータ送信テスト
Raspberry Pi Zeroからzabbix_senderコマンドでダミーデータの送信テストを行う。
$ zabbix_sender -z 192.168.11.6 -s raspizero -k trapper_temperature -o 32.5
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000512"
sent: 1; skipped: 0; total: 1
info from server: "processed: 1; failed: 0; total: 1; seconds spent: 0.000512"
sent: 1; skipped: 0; total: 1
Zabbixの画面からデータが受信できているか確認する。
ツールバーの監視データ→最新データ→ホスト:raspizero
最新の値が記録されていれば成功です。
cronで定期送信
Raspberry Pi Zeroのcronにzabbix_senderコマンドを登録してRaspberry Pi 3のZabbixへ定期的に温度湿度を送信します。気温測定用pythonスクリプトの作成
$ vim /home/pi/DHT11_Python/read_dht11.py
以下の内容で作成。exampleを
import RPi.GPIO as GPIO
import dht11
import time
import datetime
import sys
# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()
# read data using pin 14
instance = dht11.DHT11(pin=14)
args = sys.argv
method = args[1]
result = instance.read()
while not result.is_valid():
time.sleep(1)
result = instance.read()
else:
pass
if method == "temperature":
print("%d" % result.temperature)
elif method == "humidity":
print("%d" % result.humidity)
else:
pass
$ sudo vi /etc/crontab
最下部に以下を追記。5分毎にRaspberry Pi ZeroからZabbixへ気温と湿度を送信してます。
# zabbix sender
*/5 * * * * root zabbix_sender -z <ZabbixのIPアドレス> -s <Raspberry Pi Zeroのホスト名> -k trapper_temperature -o `python /home/pi/DHT11_Python/read_dht11.py temperature` >/dev/null 2>&1
*/5 * * * * root zabbix_sender -z <ZabbixのIPアドレス> -s <Raspberry Pi Zeroのホスト名> -k trapper_humidity -o `python /home/pi/DHT11_Python/read_dht11.py humidity` >/dev/null 2>&1
*/5 * * * * root zabbix_sender -z <ZabbixのIPアドレス> -s <Raspberry Pi Zeroのホスト名> -k trapper_temperature -o `python /home/pi/DHT11_Python/read_dht11.py temperature` >/dev/null 2>&1
*/5 * * * * root zabbix_sender -z <ZabbixのIPアドレス> -s <Raspberry Pi Zeroのホスト名> -k trapper_humidity -o `python /home/pi/DHT11_Python/read_dht11.py humidity` >/dev/null 2>&1
温度・湿度のグラフ作成
温度と湿度を1つのグラフで見るためにグラフを作成します。ツールバーの設定→ホスト→raspizeroのグラフをクリック。画面右上の[グラフの作成]を押す。
名前 | 好きな名前をつける |
幅 | 任意の値 |
高さ | 任意の値 |
アイテム | 追加から気温の湿度を選択 |
アイテム | 追加から湿度のアイテムを選択 |
色やグラフの大きさはお好みで設定。
[追加]ボタンを押す。
ツールバーの監視データ→グラフをクリックし、右上のプルダウンから作成したグラフを選択する。
フィルターのバーを動かすとスコープが変わります。
気温のアイテムと湿度のアイテムが表示されていればOKです。
0 件のコメント :
コメントを投稿