perancangan bot untuk remote monitoring pada server...
TRANSCRIPT
Perancangan Bot untuk Remote Monitoring pada Server
menggunakan Telegram Bot API
Artikel Ilmiah
Peneliti:
David Karismata W. Tion (672012109)
Indrastanti Ratna Widiasari, M.T.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2016
i
Perancangan Bot untuk Remote Monitoring pada Server
menggunakan Telegram Bot API
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
Untuk Memperoleh Gelar Sarjana Komputer
Peneliti:
David Karismata W. Tion (672012109)
Indrastanti Ratna Widiasari, M.T.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Juli 2016
ii
iii
iv
v
vi
1
Perancangan Bot untuk Remote Monitoring pada Server
menggunakan Telegram Bot API
1) David Karismata W. Tion, 2) Indrastanti R. Widiasari
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jalan Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1) [email protected], 2) [email protected]
Abstract
The problems that often occur in a company or institution that owns the server is
the lack of flexibility in the regulatory process due to problems of human error
especially server admin duty to observe the performance of the server is less able
to observe the server for 24 hours. Seeing these problems, need a system that can
perform remote monitoring for added flexibility admin server. The system can
monitor both the server and sends a notification if a problem occurs. Server admins
can also send available commands to the server to check the status of the server in
real time.
Keyword: Remote monitoring, Notification, Linux Server
Abstrak
Permasalahan yang kerap terjadi di dalam sebuah perusahaan atau institusi yang
memiliki server adalah kurangnya fleksibilitas dalam proses pengawasan
dikarenakan permasalahan human error terutama server admin yang bertugas
mengamati kinerja server kurang mampu dalam mengamati server selama 24 jam.
Melihat permasalah tersebut, maka dibutuhkan sistem yang dapat melakukan proses
remote monitoring untuk menambah fleksibilitas server admin. Sistem tersebut
dapat melakukan monitoring terhadap server dan mengirimkan notifikasi jika
terjadi masalah. Server admin juga dapat mengirimkan perintah yang tersedia
terhadap server untuk mengecek status terakhir dari server secara real time.
Kata Kunci: Remote monitoring, Notifikasi, Linux Server
1) Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas
Kristen Satya Wacana Salatiga. 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga
2
1. Pendahuluan
Server Administrator atau yang sering disingkat Server Admin merupakan
orang yang bertanggung jawab atas server pada sebuah perusahaan atau institusi.
Perlunya remote monitoring terhadap server berpengaruh terhadap perkembangan
suatu perusahaan atau institusi tersebut. Pentingnya tanggapan cepat terhadap
server yang bermasalah menjadikan salah satu munculnya berbagai macam aplikasi
remote dan monitoring. Disebabkan server admin tidak selalu dekat dengan server,
maka dibutuhkannya cara cepat untuk dapat berkomunikasi dengan server.
Fleksibilitas dalam hal ini dibutuhkan agar mempercepat proses pemeriksaan
terhadap server, sehingga server admin tidak perlu membuka PC ataupun laptop
agar dapat mengetahui masalah yang dihadapi. Kemampuan bot dalam memberikan
Notification system dan Simple Execution system merupakan tujuan utama dalam
penelitian ini. Kebanyakan perusahaan yang masih berkembang memiliki kendala
pada server terutama masalah pengawasan, sedangkan server merupakan hal fatal
jika tidak diawasi dengan baik. Perusahaan besar yang memiliki jadwal shift dalam
mengawasi server terkadang mengalami masalah kelalaian sehingga membutuhkan
cara cepat untuk berkomunikasi dengan server yang diawasi. Masalah yang sering
muncul adalah server mengalami down dikarenakan harddisk penuh, CPU &
memory usage tinggi sehingga server admin membutuhkan notifikasi cepat [1].
Rumusan masalah dalam penelitian ini adalah kebutuhan fleksibilitas dalam
penanganan server oleh server admin dalam mengawasi server.
2. Tinjauan Pustaka
Penelitian terdahulu yang berjudul Sistem Monitoring Jaringan pada Server
Linux dengan Menggunakan SMS Gateway membahas mengenai pemantauan
jaringan server menggunakan SMS Gateway sebagai alert system yang dapat
digunakan oleh administrator jaringan jika terjadi gagal koneksi atau Request Time
Out. Penelitian yang dilakukan menggunakan aplikasi Gammu yang berfungsi
sebagai database untuk menyimpan semua pesan yang dikirim maupun yang
diterima [2].
Penelitian lainnya yang pernah dilakukan berjudul Pengembangan Aplikasi
Remote Spesifikasi Desktop Berbasis Client Server menggunakan Internet Direct
(Indy) yang digunakan untuk membuat aplikasi dengan menggunakan protokol
jaringan. Indy merupakan komponen open source yang terdiri dari protokol internet
yang sudah dikenal, seperti HTTP, FTP, SMTP, TCP, UDP, Gopher, Whois dan
lain-lain. Kemudahan Indy yaitu mendukung protokol sampai 120 protokol [3].
Pada kedua penelitian tersebut dibahas mengenai sistem notifikasi dan
remote, sedangkan teknologi yang digunakan adalah SMS Gateway gammu dan
Indy untuk membangun aplikasi. Perbedaan dari kedua penelitian tersebut adalah
3
aplikasi Remote Monitoring ini dirancang menggunakan bahasa pemrograman
Python dengan teknologi Telegram Bot API (Application Programming Interface)
yang dapat dipahami oleh server admin untuk pengembangan program sesuai
kebutuhan dimana aplikasi ini disebut bot karena dapat berkomunikasi dengan
server admin dengan memanfaatkan program client Telegram yang terpasang pada
perangkat mobile server admin. Adapun dasar teori yang digunakan pada penelitian
yang dilakukan adalah API (Application Programming Interface). API merupakan
software yang digunakan untuk dapat berkomunikasi dengan program lainnya
seperti akses data, kirim data. API memberikan dua keuntungan utama yaitu:
penyederhanaan dan standarisasi. Kedua hal ini dapat dipergunakan sebagai sarana
penggunaan API pada sistem yang dibangun [4].
Pada penelitian yang dilakukan terdapat batasan masalah yaitu sebagai
berikut: (1) Pembuatan bot menggunakan Bahasa pemrograman Python; (2)
Penelitian ini tidak membahas keamanan jaringan; (3) Perancangan dan pengujian
dilakukan secara virtualisasi pada virtualbox; (4) Parameter yang digunakan untuk
parameter jaringan adalah Delay antara server dan perangkat mobile; (5) Parameter
yang digunakan untuk penelitian kerja sistem adalah server response, mobile
response. Penelitian yang dilakukan menggunakan arsitektur yang telah ada guna
merancang sistem Remote Monitoring seperti yang terlihat pada Gambar 1.
HTTPS
Gambar 1 Telegram Bot Arsitektur
Gambar 1 menjelaskan smartphone berkomunikasi dengan Telegram server
sebagai jembatan penghubung antara client dan bot server. Ada dua istilah utama
yang digunakan, yaitu request dan update. Server Admin melakukan request
melalui Telegram server sebagai jembatan penghubung antara perangkat mobile
dan server yang diawasi, kemudian Telegram server menjalankan proses polling
dengan protokol HTTPS ke dalam server dan bot server memberikan update dari
4
hasil request Server Admin. Agar dapat melakukan hal tersebut, maka perancangan
yang dilakukan memanfaatkan Telegram Bot API sebagai media perantara antara
Server Admin dan Server yang diawasi. Telegram Bot API merupakan API
(Application Programming Interface) yang digunakan untuk melakukan remote
monitoring dengan memanfaatkan bot sebagai program yang berjalan pada server.
Telegram Bot API menggunakan MTProto encryption protocol yang telah
dipersiapkan kepada developer sebagai sarana keamanan sehingga tidak dibahas
pada penelitian ini [5].
Dalam pembuatan bot server tersebut, bahasa pemrograman yang
digunakan adalah bahasa pemrograman Python. Pemrograman Python memiliki
keunggulan yang dapat diterapkan ke dalam server seperti scalable atau dapat
dikembangkan lebih dalam tanpa membongkar fungsi lainnya dikarenakan Python
mudah dibaca, Python juga portable saat dipindahkan ke server lainnya selama
server tersebut telah mengunduh dan memasang Modul Python. Python efektif
digunakan sebagai Rapid Prototyping Tool dikarena memiliki banyak library yang
mendukung pemrograman Python. Memory management pada Python telah
ditangani oleh Python interpreter, aplikasi developer yang mampu membersihkan
isu memori dan berfokus pada pembuatan aplikasi yang telah dirancang sejak awal
[6]. Disebabkan keunggulan tersebut, maka bahasa pemrograman Python cocok
digunakan untuk pembuatan Remote Monitoring atau RMON.
RMON disebut sebagai software yang memiliki kemampuan mengelola,
mengatur dan mengamati server atau clients. RMON berfungsi sebagai pengamat
paket yang lewat atau beberapa segmen. Namun sekarang, RMON dapat melakukan
pengumpulan data, dan hal-hal lainnya. Tujuan RMON (Remote Monitoring):
Offline Operation : Ada kondisi dimana stasiun manajemen tidak
menginformasikan secara konstan statusnya kepada perangkat remote monitoring.
Untuk alasan ini, RMON mengijinkan probe terkonfigurasi untuk melakukan
diagnosis dan mengumpulkan data walaupun tidak terhubung dengan internet.
Proactive Monitoring : Monitoring terus berlanjut untuk melakukan diagnosis dan
mengecek log jaringan. Secara berkala, monitoring selalu tersedia untuk
memberikan notifikasi tentang kegagalan perangkat yang diawasi. Problem
Detection and Reporting : Monitoring dapat disesuaikan untuk mengetahui kondisi
tertentu, sebagian kondisi error dan terus-menerus melakukan pengecekan dalam
hal itu. Saat salah satu kondisi terdeteksi, hal tersebut kemudian akan tercatat dan
kemudian management stations akan memberikan pemberitahuan. Value Added
Data : Perangkat remote monitoring jaringan memiliki keuntungan untuk
menambahkan penilaian data yang dikumpulkan. Misalnya dengan
menitikberatkan beberapa host dari bagian jaringan yang mengalami jalur padat
atau error, bagian tersebut dapat mengirimkan informasi yang dibutuhkan ke pusat
manajemen. Multiple Managers : Sebuah organisasi mungkin memiliki beberapa
pusat manajemen untuk unit yang berbeda serta beberapa fungsi. Oleh sebab itu,
perangkat remote monitoring harus berurusan dengan lebih dari satu pusat
manajemen [7].
5
3. Metode dan Perancangan Sistem
Metode yang digunakan pada penelitian ini adalah PPDIOO (Prepare, Plan,
Design, Implement, Operate, Optimize) yaitu metode yang digunakan oleh Cisco
pada perancangan jaringan dan kemudian digunakan dalam perancangan bot server
sebagai media remote monitoring yang ditunjukkan pada Gambar 2.
Gambar 2 Skema Metodologi PPDIOO (Cisco, 2010)
Prepare merupakan analisis masalah dengan melakukan studi literatur
mengenai Telegram Bot API untuk remote monitoring serta mengidentifikasi
masalah dan sistem seperti apa yang diperlukan untuk mengatasi masalah tersebut. Plan merupakan tahapan perancangan tentang sistem dan analisis kebutuhan yang
akan dibuat apakah sesuai dengan kebutuhan yang diperlukan. Tahapan ini juga
merencanakan susunan penelitian agar terorganisir dengan baik. Design merupakan
tahapan dilakukannya perancangan sistem yang akan dibangun. Mulai dari flowcart
diagram hingga alur kerja sistem yang dirancang. Implement merupakan tahapan
dimana kebutuhan perangkat, penulisan kode program bot serta penerapan
rancangan arsitektur Telegram Bot API. Pada tahap ini, program dibuat sesuai
rancangan pada tahapan design serta mengikuti alur diagram yang telah dibuat. Operate merupakan percobaan dalam menjalankan program bot yang telah
dirancang. Program bot diujicobakan ke dalam virtual machine agar setiap langkah
dapat diamati saat melakukan pengujian. Data yang didapat pada tahapan ini
menentukan apakah sistem dapat menjawab permasalahan yang telah dirumuskan. Optimize melakukan pengoptimalan dalam setiap komponen perancangan. Mulai
dari hardware, software dan kebutuhan perancangan bot yang lain seperti
pengawasan terhadap pengaruh jaringan serta penambahan tiap komponen yang
diperlukan [8].
Bot merupakan program yang berjalan disisi server dan untuk mendapatkan
informasi dengan cara menggunakan Telegram Client yang telah terpasang pada
perangkat mobile admin server. Penggunaan Telegram Client berfungsi sebagai
antarmuka yang menampilkan informasi tertentu. Fungsi bot dapat terlihat pada
Gambar 3.
6
Server AdminServer Admin
UserCPU
ServiceMemoryHarddisk
Ping
Bot ServerBot Server
UserCPU
ServiceMemoryHarddisk
PingNotifikasi Alert
Request Request
UpdateUpdate
Gambar 3 Proses Request dan Update
Pada Gambar 3 menjelaskan tentang peran server admin dan bot server.
Server admin dapat melakukan request User Login, CPU status, Service running,
memory usage, harddisk usage dan ping. Bot server dapat mengirimkan informasi
yang telah di-request oleh server admin dan mengirimkan pemberitahuan jika
terjadi masalah pada bagian CPU, memory, harddisk serta memberitahukan user
login dari lokasi yang berbeda.
Pada proses yang dilakukan, terdapat dua peran yang bekerja yaitu request
dan update. Request digunakan sebagai permintaan dari admin agar mendapatkan
informasi yang dibutuhkan sedangkan update merupakan balasan dari bot server
sebagai hasil proses yang telah di-request. Alur kerja sistem request dapat terlihat
pada Gambar 4.
Gambar 4 Request Telegram Bot API
Mulai
Input perintah
dengan format
“/perintah”
Format
perintah
benar ?
Tidak
Perintah masuk
ke Server
Telegram Ya
perintah
tersedia di
Bot Server ?
Request via
HTTPS ke Bot
Server
Ya
Perintah tidak
tersedia
Tidak
Cek daftar
perintah yang
tersedia
Bot Server
memproses
perintah
Selesai
7
Pada Gambar 4 menjelaskan proses request dari server admin untuk
melakukan pemeriksaan terhadap server yang diawasi. Proses request ini terjadi
saat admin hendak melakukan pemeriksaan secara manual. Bot yang ditanamkan di
dalam server memiliki perintah yang telah di program dimaksudkan untuk
memfokuskan permasalahan server yang sering terjadi. Dari tahapan mulai yaitu
admin berkomunikasi melalui Telegram Client yang telah terpasang pada
smartphone dan kemudian memasukan perintah.
Bot di sisi client akan memeriksa masukkan perintah yang sesuai atau tidak,
kemudian akan diteruskan ke Telegram Server sebagai jembatan penghubung
antara admin dan bot yang ada di sisi server. Saat Telegram Bot Server telah
memastikan masukan perintah adalah valid, perintah akan diteruskan melalui
HTTPS ke dalam server dan kemudian bot server menerima request perintah.
Proses request telah selesai dan untuk mengembalikan ke sisi admin, Bot
server yang berjalan di sisi server akan mengembalikannya ke sisi admin server
melalui proses update. Proses update berjalan dalam beberapa detik saat admin
melakukan request. Pada proses yang terjadi, Telegram server menjadi jembatan
penghubung antara bot dan admin server yang dapat terlihat pada Gambar 5.
Gambar 5 Update Telegram Bot API
Proses update yang berjalan merupakan proses pengiriman hasil, baik
pemeriksaan manual atau request data maupun berupa peringatan yang digunakan
untuk melaporkan masalah dibagian server. Proses update diawali dengan mulai
yaitu proses dimana program bot berjalan di server. Kemudian script yang telah
ada melakukan inisialisasi program sesuai yang di-coding-kan. Setelah itu bot
melakukan pemeriksaan terhadap request admin, proses “ya” bila admin melakukan
Mulai
Script Kode program
berjalan
Apakah ada
request
admin?
Menjalankan script
yang di request
Update perubahan
Value di Bot dan di
kirim via HTTPS
Inisialisasi kode
program
Update masuk ke
Telegram Server Selesai
Tidak
Ya
Notification/
pesan sampai ke
sisi Admin Server
8
perintah request untuk melakukan pemeriksaan secara manual sedangkan pada
proses “tidak” artinya bot melakukan tugasnya dengan mengamati perubahan nilai
yang terjadi di dalam server dan langsung mengirimkan hasil ke admin server
melalui Server Telegram. Setelah melalui server Telegram, akan dilanjutkan
pengiriman hasil ke Telegram client milik admin server berupa notifikasi atau
pesan.
4. Hasil dan Pembahasan
Sesuai dengan perancangan sistem yang telah dibuat, sistem bot dibagi
menjadi dua bagian, yaitu sistem request dan update. Agar dapat terhubung dengan
sistem bot, perancangan membutuhkan akses yang dinamakan token. Token
didapatkan dari request token ke server Telegram. Token bertujuan sebagai
pengenal antara bot dan server yang diawasi. Chat_id digunakan sebagai identitas
agar dikenali bot untuk mengirim pesan. Fungsi ini termasuk ke dalam proses
update disebabkan bot yang akan membutuhkan chat_id sebagai pengenal. Kode
program untuk inisialisasi token dan chat_id dapat terlihat pada Kode Program 1.
Kode Program 1 Import Library dan Inisialisasi Token
Kode Program 1 melakukan inisialisasi awal untuk mengenali bot yang akan
bertukar informasi dengan perangkat mobile. Inisialisasi bot digunakan untuk tiap
pemanggilan proses request dan update.
Untuk mendapatkan chat_id, dapat mengakses melalui browser ke:
https://api.telegram.org/botTOKEN/getUpdates?offset=0 pada browser. Logging
merupakan fungsi yang bertujuan untuk melakukan log jika terjadi kesalahan
program saat program dijalankan.
1. from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
2. import telegram
3. import logging
4. import psutil
5. import os
6. import time
7. import operator
8. import threading
9. from multiprocessing import Process
10. logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s,
level=logging.INFO')
11. logger = logging.getLogger(__name__)
12. token = "239279412:AAEv3gega9Tb9HxvgrwXTH_tuiCVemRGN3c"
13. bot = telegram.Bot(token = token)
14. chat_id = 140454144
9
Kode Program 2 Pemanggilan fungsi request
5. Simpulan
Pada Kode Program 2 merupakan fungsi yang digunakan untuk
pemanggilan request yang ditangani oleh method di nomor 3. Proses ini dinamakan
echo oleh Telegram dikarenakan proses update dan request dilakukan secara
bersamaan. Saat request disisi admin, maka fungsi ini akan berjalan sebagai fungsi
update.
Gambar 5 Request disisi Admin melalui Smartphone
1. def main():
2. updater = Updater(token)
3. dp = updater.dispatcher
4. dp.add_handler(CommandHandler('start', start))
5. dp.add_handler(CommandHandler('hello', hello))
6. dp.add_handler(CommandHandler('user', user))
7. dp.add_handler(CommandHandler('cpu', CPU))
8. dp.add_handler(CommandHandler('service', servrun))
9. dp.add_handler(CommandHandler('memory', memory))
10. dp.add_handler(CommandHandler('hdd', hdd))
11. dp.add_handler(CommandHandler('ping', ping))
12. dp.add_handler(CommandHandler('help', help))
13. unknown_handler1 = MessageHandler([Filters.command], unknown)
14. unknown_handler2 = MessageHandler([Filters.text], unknown)
15. dp.add_handler(unknown_handler1)
16. dp.add_handler(unknown_handler2)
17. updater.start_polling()
18. updater.idle()
10
Gambar 5 menjelaskan proses request dengan menjalankan command yang
telah tersedia di sisi bot. Saat proses request terjadi, bot akan membalas dengan
menjalan fungsi yang sesuai dengan command.
Kode Program 3 Fungsi utama bot yang dijalankan
Kode Program 3 menjelaskan tentang fungsi utama yang dijalankan saat bot
dimulai. Proses ini dinamakan multiprocessing karena dijalankan secara simultan.
Multiprocessing akan memproses program secara satu waktu. Bahasa
pemrograman Python memungkinkan beberapa fungsi dapat dieksekusi tanpa
melihat urutan program.
Kode Program 4 Fungsi notifikasi
1. if __name__ == '__main__':
2. p1 = Process(target = main)
3. p1.start()
4. p2 = Process(target = alert)
5. p2.start()
1. def alert():
2. while True:
3. period = 0
4. userr = psutil.users()
5. userH = ""
6. userT = "tty1"
7. for user in userr:
8. userHL = user.host
9. userTm = user.terminal
10. if userHL != userH and userTm != userT:
11. period += 1
12. bot.sendMessage(chat_id, text=str(userr))
13. break
14. if period >= 1:
15. time.sleep(60)
16. time.sleep(30)
17. lt = 0
18. interval = 30
19. datenow = time.time()
20. cpu = psutil.cpu_percent()
21. mem = psutil.virtual_memory().percent
22. hdd = psutil.disk_usage('/').percent
23. if datenow - lt > interval:
24. send = False
25. send1 = False
26. send2 = False
27. if cpu > CPU_lim:
28. send = True
29. if mem > Mem_lim:
30. send1 = True
31. if hdd > Hdd_lim:
32. send2 = True
11
Kode Program 4 merupakan fungsi notifikasi yang akan mengirimkan
informasi berupa status terakhir CPU, memory dan harddisk. Fungsi akan
melakukan pemeriksaan setiap 30 detik dan mengirimkan proses update menuju
admin. Pada proses update, bot akan menggunakan fungsi bot.sendMessage untuk
menyampaikan pesan notifikasi ketangan admin server. Notifikasi juga berfungsi
sebagai log untuk mengetahui siapa yang melakukan login ke server ditempat yang
berbeda.
Gambar 6 Proses notifikasi disaat smartphone standby
Gambar 6 menjelaskan tentang proses notifikasi dimana pada saat fungsi
berjalan dan menemukan masalah, maka bot akan mengirimkan informasi tersebut.
Notifikasi akan terus terjadi jika masalah masih dijumpai dikarenakan bot akan
melakukan pemeriksaan setiap 30 detik dan langsung mengirimkan laporan.
33. if send:
34. lt = datenow
35. bot.sendMessage(chat_id, text= "CPU usage :
{0}%".format(cpu))
36. if send1:
37. lt = datenow
38. bot.sendMessage(chat_id, text="Memory usage :
{0}%".format(mem))
39. if send2:
40. lt = datenow
41. bot.sendMessage(chat_id, text="Harddisk usage :
{0}%".format(hdd))
12
Pengujian sistem dilakukan secara virtualisasi untuk melihat fungsi sudah
berjalan dengan baik atau tidak dimana koneksi jaringan server admin yang
digunakan berupa jaringan WLAN dan jaringan paket data sedangkan jaringan pada
server berupa LAN. Tabel pengujian dapat dilihat pada Tabel 1.
Tabel 1 Pengujian Delay Request Server Admin
No Point WLAN Paket Data Hasil Uji Status Uji
1. Request CPU 00:00:01.03 00:00:01.15
Menampilkan
status CPU saat di-
request
Valid
2. Request Memory 00:00:01.13 00:00:01.47
Menampilkan
penggunaan
memory
Valid
3. Request Service 00:00:01.22 00:00:1.92
Menampilkan
service utama
seperti Clamd,
Amavisd, Python,
httpd, mysqld,
named, fail2ban-
server
Valid
4. Request User 00:00:01.05 00:00:04.18
Menampilkan user
yang akses menuju
server
Valid
5. Request Hdd 00:00:01.16 00:00:01.77
Menampilkan
kapasitas hdd saat
di-request
Valid
6. Request Ping 00:00:01.11 00:00:02.45
Menampilkan bytes
sent-recv, packet
sent-recv, error in-
out, drop in-out
Valid
7. Command salah 00:00:01.04 00:00:01.49
Menampilkan
pemberitahuan
inputan salah
Valid
Dari hasil pengujian request server admin terhadap bot server di Tabel 1
terlihat beberapa perbedaan delay dalam jaringan yang tidak begitu jauh hasilnya.
Hal tersebut memberikan kesimpulan yaitu jaringan WLAN ataupun paket data
tidak berpengaruh besar dalam proses request-update untuk bot server. Selama
server admin masih terhubung dengan jaringan, maka server admin dapat
melakukan proses remote monitoring. Pada proses notifikasi, bot akan
menjalankan fungsi pemeriksaan secara berkala. Pengujian dapat dilihat pada Tabel
2.
13
Tabel 2 Pengujian Notifikasi CPU, Memory, Hdd dan User
No Point Validasi Output Hasil Uji Status Uji
1. Notifikasi CPU CPU Usage
Menampilkan status CPU usage
terakhir
Valid
2. Notifikasi Memory Memory Usage
Menampilkan memory yang
terpakai
Valid
3. Notifikasi Hdd Hdd Usage
Menampilkan kapasitas Hdd yang
tersisa
Valid
4. Notifikasi User User login Menampilkan user login terakhir
dari tempat lain Valid
Pada Tabel 2 terlihat bahwa bot mengirimkan notifikasi sesuai fungsi yang
telah dibuat. Fungsi tersebut melakukan pemeriksaan secara berkala dan
mengirimkan pesan notifikasi sesuai point yang ada sehingga server admin dapat
melihat log dan melakukan tindakan yang perlu terhadap server.
5. Simpulan
Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan bahwa
dengan memanfaatkan Telegram bot membantu pekerjaan server administrator
dalam memantau server serta melakukan pemeriksaan masalah utama yang kerap
terjadi pada server sehingga admin yang tidak berada ditempat dapat mengetahui
keadaan server yang diawasi tanpa perlu membuka PC atau laptop. Perbedaan
waktu yang ditampilkan pada Tabel 1 berpengaruh terhadap kecepatan respon dari
bot server yang diawasi saat admin hendak melakukan pemeriksaan. Jaringan
WLAN dan paket data mempengaruhi cepat lambatnya proses pemeriksaan
terhadap server. Dengan adanya notifikasi, server admin dapat mengetahui kondisi server yang diawasi secara realtime. Jumlah notifikasi yang disampaikan oleh bot
server menandakan bahwa server mengalami masalah yang berkelanjutan atau
tetap.
6. Daftar Pustaka
[1] ManageEngine., 2010. Top 5 Server Performance Problems and How to
Resolve Them Using OpManager. Diambil dari
http://www.slideshare.net/manageengine/top-5-server-performance-
problems-and-how-to-resolve-them-using-opmanager.
(Diakses pada 20 juni 2016)
[2] Prayoga, Taufan D., 2011. Sistem Monitoring Jaringan pada Server Linux
dengan Menggunakan SMS Gateway, Jurnal Masyarakat Informatika. 2(3);
2086-4930. http://ejournal.undip.ac.id/index.php/jmasif/article/view/2648.
(diakses pada tanggal 16 Juli 2016)
[3] Nanang, Herlino., 2008. Pengembangan Aplikasi Remote Spesifikasi
Desktop Berbasis Client Server, Jurnal inforSAINS. 2(3); 1412-9116.
14
http://www.journal.uinjkt.ac.id/ti/article/download/2004/1559.
(diakses pada tanggal 16 Juli 2016)
[4] Maddox, Sarah., 2014. Application Programming Interfaces (APIs). STC
SUMMIT 2014.
http://summit.stc.org/responsive/summit2014.htm#!Documents/applicatio
nprogramminginterfacesapis.htm. (Diakses pada 16 Juni 2016)
[5] Anonym., 2013. Telegram Bot API. Diambil dari
https://core.Telegram .org/bots/api. (Diakses pada 16 Juni 2016)
[6] Chun, Wesley J., 2006. Core Python Programming, Second Edition.
Prentice Hall.
[7] Waldbusser, S., 2003. Introduction to the Remote Monitoring (RMON)
Family of MIB Modules. Diambil dari https://tools.ietf.org/html/rfc3577.
(Diakses pada 16 Juni 2016)
[8] Cisco., 2010. Creating Business Value and Operational Excellence with The
Cisco Systems Lifecycle Services Approach.
https://www.cisco.com/c/dam/global/es_mx/assets/serviciospartners/other
_files/pdf/lifecycle_services_white_paper.pdf. (Diakses pada 22 Juni 2016)