Monitoring UPS Dengan Telegram
Monitoring jaringan adalah suatu hal yang penting untuk dilakukan karena dengan monitoring ini kita bisa melakukan pemantauan yang baik dan troubleshooting yang lebih cepat. Untuk melakukan monitoring di perangkat Mikrotik tersedia beberapa tool yang disediakan seperti Netwatch, IP Accounting, Traffic Flow, The Dude, dll.
Monitoring perangkat jaringan seperti Router, Switch, Server tentunya sering sekali kita temui. Namun apakah bisa kita melakukan pemantauan terhadap perangkat UPS yang berfungsi untuk memberikan supply daya backup ketika listrik utama padam? Jawabannya adalah " BISA ".
Pada artikel sebelumnya kami sudah membuat tutorial mengenai monitoring UPS APlus menggunakan NUT pada orange Pi Zero. Jika teman-teman belum membaca artikelnya maka teman-teman bisa membacanya terlebih dahulu karena, artikel tutorial kali ini masih terdapat hubungannya dengan artikel sebelumnya. Artikel sebelumnya bisa dikunjungi pada halaman berikut: Penggunaan NUT pada Orange Pi Zero untuk Monitoring UPS APlus .
Jika pada artikel sebelumnya kita bisa melakukan monitoring UPS Aplus secara CLI (terminal) dan juga GUI (Web Base), pada kesempatan kali ini kami akan memberikan tutorial mengenai monitoring UPS Aplus menggunakan aplikasi Telegram.
Dalam memonitoring UPS Aplus menggunakan telegram terdapat beberapa service tambahan seperti Mosquito, Node-red, Bot Telegram (Token-ID dan Chat-ID) .
Mosquitto
Eclipse Mosquitto merupakan service message broker yang mengimplementasikan MQTT Protokol versi 5.0, 3.1.1 dan 3.1 yang bersifat open source. Mosquitto sangat ringan dan cocok untuk di gunakan di semua device mulai dari perangkat single board yang memiliki power rendah hingga perangkat komputer/server.
Protokol MQTT menyediakan metode pengirimkan pesan yang ringan dengan menggunakan model publish/subscribe. Hal ini membuatnya cocok untuk IOT yang memiliki sensor dengan kebutuhan power rendah atau perangkat seluler seperti ponsel, embedded computers atau microcontroller.
Node-Red
Node-RED adalah aplikasi pemrograman yang digunakan untuk menggabungkan perangkat keras, API, dan layanan online dengan cara yang baru dan menarik.
Node-RED menyediakan editor berbasis browser yang membuatnya mudah untuk menghubungkan berbagai node berbeda yang dapat dideploy dalam satu kali klik.
Bot Telegram
Untuk mendapatkan informasi perubahan kondisi pada UPS, maka kita perlu menyiapkan bot telegram yang nantinya akan digunakan untuk mengirimkan pesan notifikasi ke dalam group telegram.
Langkah-langkah memonitoring UPS Aplus menggunakan Telegram bisa ikuti step by step di bawah ini, dengan catatan NUT sudah berhasil di install dan sudah bisa dijalankan . Detail instalasi NUT bisa dilihat dengan klik disini .
1. Edit file upsd.users dengan perintah nano /etc/nut/upsd.users. Kemudian tambahkan konfigurasi berikut pada baris paling bawah :
[upsmon]
password = mypass upsmon master |
2. Install Mosquitto server dan Mosquitto client dengan perintah :
sudo apt-get install mosquitto mosquitto-client |
3. Buat user dan password untuk mosquitto :
sudo mosquitto_passwd -c / etc / mosquitto / passwd admin
Password: mypass |
4. restart mosquitto service dengan perintah :
systemctl restart mosquitto
mosquitto -d |
5. Pada file /etc/nut/upsmon.conf tambahkan konfigurasi seperti berikut :
MONITOR aplus @ localhost 1 upsmon mypass master
NOTIFYCMD /etc/nut/mqttnotify/nutnotify.sh NOTIFYFLAG ONLINE SYSLOG + WALL + EXEC NOTIFYFLAG ONBATT SYSLOG + WALL + EXEC NOTIFYFLAG LOWBATT SYSLOG + WALL + EXEC NOTIFYFLAG FSD SYSLOG + WALL + EXEC NOTIFYFLAG COMMOK SYSLOG + WALL + EXEC NOTIFYFLAG COMMBAD SYSLOG + WALL + EXEC NOTIFYFLAG SHUTDOWN SYSLOG + WALL + EXEC NOTIFYFLAG REPLBATT SYSLOG + WALL + EXEC NOTIFYFLAG NOCOMM SYSLOG + WALL + EXEC |
6. Buat direktori mqttnotify dan tambahkan file nutnotify.sh dengan perintah berikut:
mkdir / etc / nut / mqttnotify |
Kemudian tambahkan file nutnotify.sh dengan perintah " nano /etc/nut/mqttnotify/nutnotify.sh " dan isikan dengan kode berikut :
#! / bin / bash
mosquitto_pub -h localhost -t "/ power / $ UPSNAME / notify / $ NOTIFYTYPE" -m "$ 1" -u admin -P mypass |
7. ganti permission /etc/nut/mqttnotify/nutnotify.sh agar hanya dapat diakses
oleh user root dan user dengan group nut :
sudo chown root.nut /etc/nut/mqttnotify/nutnotify.sh
sudo chmod 750 /etc/nut/mqttnotify/nutnotify.sh |
8. Kemudian install node-red sebagai berikut :
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) |
9. Jalankan node-red dengan perintah "node-red-start".
10. Cek systemctl status nodered, dan pastikan node-red sudah berjalan.
11. Akses Node-Red secara web base dengan mengetikkan alamat IP perangkat dan
port 1880 : http://192.168.76.196:1880/
12. Setelah berhasil mengakses Node-Red, maka langkah selanjutnya adalah menambahkan
node "node-red-contrib-telegrambot-home". Node Telegrambot ini yang nantinya digunakan
untuk mengirimkan notifikasi ke grup telegram dengan memanfaatkan "Token" dan
juga "Chat ID".
13. Tambahkan node mqtt in, kemudian pada parameter topic tambahkan rule berikut:
/power/+/notify/+. Kemudian tambahkan server baru dengan menekan tombol setting
seperti pada gambar dibawah ini.
Username dan password pada tab security merupakan user mosquitto broker yang
dibuat pada step nomer 3.
14. Buat Node Function, yang berfungsi untuk mendapatkan tipe dari topik pesan yang akan dikirimkan dan membuat sebuah pesan baru yang berisi informasi nama UPS dan event yang terjadi pada UPS tersebut.
14. Buat Node Function, yang berfungsi untuk mendapatkan tipe dari topik pesan yang akan dikirimkan dan membuat sebuah pesan baru yang berisi informasi nama UPS dan event yang terjadi pada UPS tersebut.
var message = msg.payload;
var topicElements = msg.topic.split ("/"); var ups = topicElements [2] .toLowerCase (); var type = topicElements [4] .toLowerCase (); msg.payload = { pesan: pesan, up: up, type: type } kembali msg; |
15. Untuk mengirimkan pesan, maka pertama-tama kita perlu untuk menyiapkan konten
dan mengganti payload dengan pesan yang dihasilkan yang akan dikirim, untuk script
nya kurang lebih seperti berikut:
var message = "UPS:" + msg.payload.ups + "n";
message + = "Status:" + msg.payload.type + "n"; pesan + = "Pesan:" + msg.payload.message + "n"; msg.payload = pesan; kembali msg; |
16. Pada tahap ini, pastikan Anda sudah memiliki BOT Telegram (Token ID dan juga
Chat ID), untuk detail langkah membuat BOT Telegram dan mendapatkan Token ID dan
Chat ID maka bisa ikuti panduan pada artikel berikut: Panduan artikel BOT Telegram .
17. Setelah membuat Telegram Bot dan juga node fungsi, maka langkah selanjutnya
adalah menambahkan node telegram yang sebelumnya sudah diinstall. Tambahkan node
"notify" yang berguna untuk mengirimkan informasi status dari UPS ke dalam telegram
group. Detail konfigurasi node "notify" bisa dilihat pada gambar di bawah ini:
Hasil
Maka hasil dari konfigurasi yang sudah dilakukan adalah sebagai gambar berikut:
Dengan begitu maka kita bisa memonitoring UPS dengan berbagai event (sesuai dengan
kondisi UPS) di aplikasi Telegram.
Note :
Maka hasil dari konfigurasi yang sudah dilakukan adalah sebagai gambar berikut:
Note :
- Supaya notifikasi dapat berjalan, maka pastikan kabel USB yang digunakan adalah "USB Communication Port" seperti pada gambar berikut:
- Agar service dapat langsung berjalan ketika server booting maka bisa menggunakan
perintah sebagai berikut:
1. sudo systemctl enable nodered.service
2. nano /etc/rc.local
3. tambahkan baris "mosquitto -d" diatas exit 0
0 Response to "Monitoring UPS Dengan Telegram"
Posting Komentar