Konfigurasi MKTXP Exporter untuk Monitoring Mikrotik

Konfigurasi MKTXP Exporter untuk Monitoring MikrotikMKTXP adalah Prometheus Exporter untuk perangkat Mikrotik RouterOS.

Dengan menggunakan MKTXP, MKTXP dapat mengumpulkan dan mengekspor metrik yang lengkap di beberapa router, semuanya dapat dikonfigurasi dengan mudah.

Untuk dapat melakukan monitoring perangkat mikrotik dengan menggunakan Prometheus dan Grafana, di perlukan alat untuk export data atau metrics dari perangkat mikrotik untuk consume oleh Prometheus yang nantinya dapat digunakan sebagai source data tampilan di dashboard Grafana.

Berikut adalah contoh topologi jika monitoring mikrotik di grafana dengan menggunakan MKTXP.

topology MKTXP
Sumber: https://medium.com/@indrakurnia768

Konfigurasi MKTXP Exporter untuk Monitoring Mikrotik

Sebelumnya sudah melakukan konfigurasi mikrotik untuk monitoring dengan grafana yaitu enable API pada mikrotik, langkah selanjutnya adalah Konfigurasi MKTXP untuk mikrotik agar MKTXP dapat menyediakan metrics yang nantinya dapat dibaca oleh prometheus dan ditampilkan menggunakan Grafana dalam bentuk dashboard.

System Requirement

Sebelum melakukan konfigurasi, terdapat beberapa requirement yang harus di sediakan agar bisa melanjutkan konfigurasi, berikut beberapa requirement nya:

  1. Python versi 3.5 atau lebih baru
  2. API Mikrotik
  3. Library pip python3
  4. package text editor (nano atau vim)

Check Versi Python dan Version PIP

Karena MKTXP berjalann dengan menggunakan python, maka check dahulu versi python yang digunakan pada sistem operasi linux yang Anda gunakan.

Untuk check versi python yang digunakan, jalankan perintah berikut:

python3 --version
Check Versi Python

Lalu berikutnya, check versi pip yang digunakan dengan cara jalankan perintah berikut:

pip --version

Jika pip python belum terinstall, bisa gunakan perintah dibawah ini untuk melakukan installasi library python3 pip. Lalu setelah installasi sudah selesai, bisa check kembali version pip nya.

dnf install python3-pip
Check pip version

Install Mktxp Exporter

Untuk install MKTXP Exporter, Anda bisa jalankan perintah berikut pada terminal atau console linux server Anda.

pip install mktxp
Install MKTXP 1

Proses install MKTXP ini tidak membutuhkan waktu lama, sebab ukuran toolsnya tidak terlalu besar.

Konfigurasi MKTXP

Untuk melanjutkan konfigurasi MKTXP, pastikan Anda sudah melakukan enable API pada mikrotik yang ingin Anda monitoring. Jika belum enable API mikrotik, silakan baca artikel setting API mikrotik.

Jika sudah melakukan enable API mikrotik, lanjutkan ke proses konfigurasi MKTXP pada linux server. Untuk melakukan konfigurasi MKTXP Anda bisa jalankan perintah berikut:

mktxp edit -ed nano
Setup MKTXP

Jika saat menjalankan script diatas menemukan error “bash: mktxp: command not found” bisa masuk kedalam directory /usr/local/bin/ dan jalankan kembali perintahnya seperti dibawah ini.

./mktxp edit -ed nano

Atau bisa juga membuat symlink dengan destination path nya ke /usr/bin/ seperti dibawah ini.

ln -sv /usr/local/bin/mktxp /usr/bin/
image

Langkah berikutnya tambahkan dan sesuaikan konfigurasi berikut, sesuaikan data pada mikrotik kalian seperti IP, port, username dan password yang digunakan.

RC_HONET adalah identity pada routerboard mikrotik yang saya gunakan.

[RC_HONET]
# alias untuk nama perangkat mikrotik anda
enabled = True
hostname = 192.168.10.1
port = 8778
username = user-monitoring
password = monitoring294
dhcp = True
dhcp_lease = True
interface = True
firewall = True
monitor = True
route = True
wireless = True
ipip = True
kid_control_dynamic = True
check_for_updates = True
installed_packages = True
connection_stats = True
bfd = True
pool = True
ipv6_route = True
switch_port = True
gre = True
ipsec = True
plaintext_login = True
ipv6_pool = True
neighbor = True
poe = True
certificate = True
kid_control_assigned = True
capsman_clients = True
connections = True
netwatch = True
user = True
wireless_clients = True
public_ip = True
routing_stats = True
bgp = True
dns = True
eoip = True
capsman = True
use_comments_over_names = True
queue = True
ipv6_neighbor = True
ipv6_firewall = True
lte = True
health = True
no_ssl_certificate = False
ssl_certificate_verify = False
use_ssl = False
MKTXP Conf

Test dan Check Konfigurasi MKTXP

langkah selanjutnya test koneksi dan test konfigurasi MKTXP, untuk melakukan pengetesan bisa jalankan perintah berikut:

mktxp print -en RC_HONET -dc
Check Connection

Jika berhasil maka akan menampilkan data DHCP Leases dari MikroTik, seperti gambar diatas yang artinya konfigurasi sudah benar.

Membuat Service Systemd MKTXP di Linux Server

Selanjutnya membuat service systemd MKTXP di linux server, untuk membuat systemd MKTXP bisa jalankan perintah berikut:

nano /etc/systemd/system/mktxp-exporter.service
Create Sevice Systemd MKTXP

Lalu paste konfigurasi dibawah ini.

[Unit]
Description=MKTXP Exporter

[Service]
User=root
ExecStart=mktxp export
[Install]
WantedBy=default.target
Systemd MKXTP

Jika sudah, lakukan restart systemd karena sebelumnya telah membuat service systemd untuk service mktxp. Jalankan perintah berikut melakukan restart

systemctl daemon-reload
daemon reload

Start dan Check Service MKTXP

Secara default, setelah membuat service systemd baru kondisi service dalam keadaan tidak aktif atau inactive, jalankan perintah berikut untuk melakukan pengecekan

systemctl status mktxp-exporter
Check Service MKTXP

Setelah itu start service dengan jalankan perintah berikut:

systemctl start mktxp-exporter

Lalu setelah itu, check kembali service dengan perintah systemctl status mktxp-exporter dan pastikan service sudah berjalan atau active.

Jika service sudah berjalan, check port mktxp dengan perintah:

ss -pltn

Port yang digunakan oleh service mktxp adalah port 49090, pastikan port service mktxp sudah dalam keadaan listen.

Service MKTXP

Untuk saat ini service MKTXP Exporter sudah berjalan dengan baik, langkah selanjutnya konfigurasi MKTXP Exporter dengan Prometheus agar bisa dibuatkan dashboards monitoring menggunakan grafana.

Leave a Reply

Your email address will not be published. Required fields are marked *