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

image.png

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

image.png

樹莓派的控制面板都是選擇性的,不用敲命令所以各位自己配置吧。主要就是配置時區(qū),固定IP,開啟SSH,VNC,更改Hostname,更改顯存(默認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)在我們應該可以在樹莓派上讀取溫濕度數(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

其余配置都是基本操作,就不提了,如果有不知道怎么配置的情參考我以前寫的關于agent安裝的簡書。這里需要單獨配置的有兩條。
第一,在第234行增加Timeout=30(要不然zabbix讀取溫濕度數(shù)據(jù)時會因為腳本執(zhí)行超時而無法讀取溫濕度數(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ù)權限。

sudo visudo

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

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

Ctrl+X選Y即可保存退出。
6,SSH連接Zabbix服務器,安裝zabbix_get,這是zabbix server主動從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)控項時需要用到
zabbix_get -s 10.187.101.147 -k dht.pull[4]        #dht.pull[4]為濕度鍵值,在添加監(jiān)控項時需要用到

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


image.png

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

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

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

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