Zabbix+Raspberry pi監(jiān)控機(jī)房溫濕度

image.png

最近買了個(gè)樹莓派,瞎搗鼓了一些小東西,昨天把一個(gè)一直想實(shí)現(xiàn)的功能做了出來。將機(jī)房溫濕度監(jiān)控與溫濕度異常告警集成到了Zabbix,寫來與大家分享。
*所需軟硬件:
樹莓派一個(gè),我買的帶電源+散熱器+外殼,總共269塊
DHT22溫濕度傳感器一個(gè),20塊
SD卡+讀卡器,我買的閃迪32G,78塊
Raspbian(樹莓派OS),免費(fèi),下載鏈接:https://www.raspberrypi.org/downloads/raspbian/
Zabbix server+agent(常規(guī)操作,我先前的簡書里已經(jīng)有寫過了),免費(fèi)
總共367塊,用來實(shí)現(xiàn)機(jī)房溫濕度監(jiān)控還是很劃得來的。
*操作步驟:
1,為樹莓派安裝OS,OS下載鏈接上面已有,其中有core版和desktop版,剛玩的話建議下載desktop版。
下載完成后用Win32DiskImager寫錄到SD卡,然后插進(jìn)樹莓派通電即可啟動(dòng)。(注:請(qǐng)一定先插好各條信號(hào)線再通電啟動(dòng),比如HDMI線,如果先通電再插HDMI線那是無法顯示的。)
安裝完成后打開命令行,進(jìn)行基本配置:
pi@raspberrypi:~ $ sudo raspi-config #進(jìn)入控制面板更改配置

image.png

樹莓派的控制面板都是選擇性的,不用敲命令所以各位自己配置吧。主要就是配置時(shí)區(qū),固定IP,開啟SSH,VNC,更改Hostname,更改顯存(默認(rèn)64,建議改為16,反正基本都是SSH連接,不用顯存)最后再Update重啟即可。
2,連接溫濕度傳感器
DHT溫濕度傳感器的針腳從左至右分別是Left: 3.3v;Middle: GPIO;Right: Ground。樹莓派的兩排針腳圖解如下。
image.png

所以將三根線從左至右接到我紅線框出來的針腳上即可。
3,安裝軟件來讀取溫濕度傳感器數(shù)據(jù)。
安裝DHT py模塊。

sudo apt-get update && sudo apt-get -y install git python-dev
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT/
sudo python setup.py install

4,現(xiàn)在我們應(yīng)該可以在樹莓派上讀取溫濕度數(shù)據(jù)了。

pi@max1987:~/Adafruit_Python_DHT $ sudo /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 2
Temp=13.8*  Humidity=44.4%

5,安裝Zabbix agent。

sudo apt-get -y install zabbix-agent

編輯agent配置文件

sudo nano /etc/zabbix/zabbix_agentd.conf

其余配置都是基本操作,就不提了,如果有不知道怎么配置的情參考我以前寫的關(guān)于agent安裝的簡書。這里需要單獨(dú)配置的有兩條。
第一,在第234行增加Timeout=30(要不然zabbix讀取溫濕度數(shù)據(jù)時(shí)會(huì)因?yàn)槟_本執(zhí)行超時(shí)而無法讀取溫濕度數(shù)據(jù))
第二,在最后一行增加(使server可以從agent讀取到溫濕度數(shù)據(jù)):

UserParameter=dht.pull[*],sudo /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 2 | awk -F[=*%] '{print '$'"$1"}'

Ctrl+X選Y即可保存退出。
重啟agent

sudo service zabbix-agent restart

授予zabbix用戶讀取GPIO數(shù)據(jù)權(quán)限。

sudo visudo

在最后一行插入如下命令:

zabbix ALL=(ALL) NOPASSWD: /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py

Ctrl+X選Y即可保存退出。
6,SSH連接Zabbix服務(wù)器,安裝zabbix_get,這是zabbix server主動(dòng)從agent拉數(shù)據(jù)必要組件。

yum install zabbix-get.x86_64

下面即可從server測試讀取溫濕度數(shù)據(jù),命令如下:

zabbix_get -s 10.187.101.147 -k dht.pull[2]        #dht.pull[2]為溫度鍵值,在添加監(jiān)控項(xiàng)時(shí)需要用到
zabbix_get -s 10.187.101.147 -k dht.pull[4]        #dht.pull[4]為濕度鍵值,在添加監(jiān)控項(xiàng)時(shí)需要用到

在zabbix_server.conf中將434行Timeout值改為30,與上面改agent配置一樣,然后重啟zabbix server即可。
7,Zabbix網(wǎng)頁端配置。
這就不贅述了,跟添加普通Linux agent監(jiān)控主機(jī)一樣,然后通過上面說的鍵值增加監(jiān)控項(xiàng)即可。最后的效果如下圖:


image.png

如果監(jiān)控項(xiàng)創(chuàng)建有問題的朋友可以留言給我,我可以導(dǎo)個(gè)模板給您,最后祝各位看機(jī)房的朋友永遠(yuǎn)沒Downtime!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容