GNU/Linux | Networking

CentOS 7 – Install LibreNMS dan Oxidized (Parts 2)

September 27, 2018

Jeng jeng jeng . . .
Melanjutkan catatan sebelumnya mengenai installasi LibreNMS dan Oxidized, pada bagian kedua ini akan lebih fokus pada installasi Oxidized dan konfigurasi agar dapat melakukan backup.

1. Installasi Oxidized di CentOS 7
Pastikan sistem sudah dalam kondisi update, lalu install paket yang dibutuhkan.
# yum install make cmake which sqlite-devel openssl-devel libssh2-devel ruby gcc ruby-devel libicu-devel gcc-c++

Nah dari pengalaman sebelumnya, oxidized ini butuh ruby dengan versi 2.3 ke atas. Sedangkan yang ada di repo CentOS 7 adalah ruby versi 2.1 kalau ngak salah, baiknya install ruby via RVM cara installnya bisa mengikuti panduan di link ini.
Setelah ruby terinstall baru kita install Oxidized menggunakan gem.
# gem install oxidized
# gem install oxidized-script oxidized-web

2. Konfigurasi Oxidized
Menambah user untuk Oxidized
# useradd -m -d /home/oxidized oxidized
# su - oxidized

Jalankan Oxidized
$ oxidized
$ oxidized

Edit file konfigurasi oxidized sesuai dengan kebutuhan
$ nano .config/oxidized/config

Berikut adalah file konfigurasi saya telah dilakukan penyesuaian.

---
username: _username_
password: _password_
model: mikrotik
resolve_dns: true
interval: 3600
use_syslog: false
debug: false
threads: 30
timeout: 20
retries: 3
prompt: !ruby/regexp /^([\[email protected]]+[#>]\s?)$/
rest: 127.0.0.1:8787
next_adds_job: false
vars:
  enable: s3crets
groups: {}
models: {}
pid: "/home/oxidized/.config/oxidized/pid"
stats:
  history_size: 10
input:
  default: ssh, telnet
  debug: false
  ssh:
    secure: false
  ftp:
    passive: true
  utf8_encoded: true
output:
  default: git
  git:
   user: oxidized
   email: [email protected]
   repo: "/home/oxidized/.config/oxidized/oxidized.git"
  file:
    directory: "/home/oxidized/.config/oxidized/configs"
source:
  default: csv
  csv:
    file: "/home/oxidized/.config/oxidized/router.db"
    delimiter: !ruby/regexp /:/
    map:
      name: 0
      model: 1
      username: 2
      password: 3
    vars_map:
      ssh_port: 4
      enable: 5
    gpg: false
model_map:
  mikrotik: routeros
  cisco: ios
  juniper: junos

Untuk konfigurasi lebih lanjut bisa cek di halaman github Oxidized.
Intinya yang perlu disesuaikan adalah :
rest : isi dengan ip address server dan port yang akan digunakan (disini saya menggunakan address localhost dan port 8787)
output: untuk output konfigurasi bisa berupa file/git
input: tempat database informasi perangkat yang akan diakses

Membuat folder configs
$ mkdir /home/oxidized/.config/oxidized/configs

Untuk konfigurasi di atas, maka struktur direktori dan filenya akan seperti berikut:
[[email protected]]# tree /home/oxidized/.config/
/home/oxidized/.config/
`– oxidized
|– config
|– configs
|– crash
|– logs
|– oxidized.git
|– router.db

Edit file database
$ nano /home/oxidized/.config/oxidized/router.db

contoh file router.db
202.56.xxx.xxx:mikrotik:username:password:2234

Allow port 8787 di firewall
# firewall-cmd --permanent --zone=public --add-port=8787/tcp
# firewall-cmd --reload

Test running konfig
$ oxidized

Apabila tidak ada error berarti konfigurasi sudah berjalan.

3. Load oxidized ke systemctl
Karena oxidized jalan under ruby kita perlu membuat service supaya oxidized otomatis load setelah restart.
Install gem-wrappers
# gem install gem-wrappers

Generate wrappers
# gem wrappers regenerate

Show oxidized wrappers
# gem wrappers show oxidized

maka outputnya adalah : /usr/local/rvm/gems/ruby-2.5.1/wrappers/oxidized
Nah, output tersebut yang akan kita load di sistem.

Membuat sistem service
# touch /etc/systemd/system/oxidized.service

lalu inputkan dengan scripts :

[Unit]
Description=Oxidized - Network Device Configuration Backup Tool

[Service]
ExecStart=/usr/local/rvm/gems/ruby-2.5.1/wrappers/oxidized
WorkingDirectory=/home/oxidized/.config/oxidized
User=oxidized


[Install]
WantedBy=multi-user.target

setelah itu coba enable dan start service oxidized.
# systemctl enable oxidized.service
# systemctl start oxidized.service

pastikan service telah running dan tidak ada pesan error.

4. Integrasi Oxidized ke LibreNMS
Login ke LibreNMS > ikon setting > global settings > external settings > oxidized integration

silakan di sesuaikan.

5. Test menambah perangkat dan melihat backup configuration.
Silakan test menambkan device di LibreNMS dan tambahkan juga di Oxidized yang di router.db mengenai detail perangkat yang di tambahkan.
Apabila sudah benar, maka status device menjadi “up” dan kita bisa melihat konfigurasi dari device tersebut.
Contoh : berikut adalah capture perangkat mikrotik yang di tambahkan menggunakan snmp dan sudah di integrasikan dengan Oxidized.

 

Oke, sampai disini LibreNMS dan Oxidized sudah running dan sudah bisa membackup konfigurasi perangkat teman-teman secara otomatis.

Sumber dan referensi :
– https://docs.librenms.org/
– https://github.com/ytti/oxidized
– https://fakrul.me/2017/03/08/oxidized-network-device-configuration-backup/
– https://packetpushers.net/install-oxidized-network-configuration-backup/
– http://www.whoopis.com/core/oxidized-quickstart-tutoria.html

Please follow and like us:

Only registered users can comment.

Leave a Reply

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