by: CITRAWEB SOLUSI TEKNOLOGI, PT
Aturan | Tentang Kami | Kontak Kami

Artikel

[APlus UPS] Monitoring UPS Dengan Telegram

Rabu, 2 Desember 2020, 15:07:00 WIB
Kategori: Fitur & Penggunaan
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 <font color="#ff0000">admin </font>
Password: <font color="#ff0000">mypass </font>

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 
<font color="#ff0000">admin</font> -P <font color="#ff0000">mypass </font>

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 :


<style>
 @font-face{
font-family:"Times New Roman";
}
@font-face{
font-family:"&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#23435;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;#20307;";
}
@font-face{
font-family:"Calibri";
}
p.MsoNormal{
mso-style-name:Normal;
mso-style-parent:"";
margin-bottom:8,0000pt;
line-height:107%;
font-family:Calibri;
mso-bidi-font-family:'Times New Roman';
font-size:11,0000pt;
}
span.msoIns{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
text-underline:single;
color:blue;
}
span.msoDel{
mso-style-type:export-only;
mso-style-name:"";
text-decoration:line-through;
color:red;
}
}
div.Section0{page:Section0;}</style>
<p class="MsoNormal" align="justify"><span style="font-family: Calibri;">bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)</span></p>

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.

var message = msg.payload; 

var topicElements = msg.topic.split("/"); 


var ups = topicElements[2].toLowerCase(); 

var type = topicElements[4].toLowerCase(); 


msg.payload = { 

    message:message, 

    ups:ups, 

    type:type 

} 


return 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 += "State: " + msg.payload.type + "n"; 

message += "Message: " + msg.payload.message + "n"; 


msg.payload = message; 


return 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:
  • 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

Artikel ini dibuat pada 2 Desember 2020
 



Kembali ke :
Halaman Artikel | Kategori Fitur & Penggunaan