Penjelasan Monitoring System dan install Zabbix

  1. Monitoring System

Monitoring adalah proses pengumpulan, penggabungan dan analisis data untuk memonitor performa atau load dari suatu sistem komputer. Salah satu tools yang sering digunakan untuk monitoring sebagai berikut:

  • Cacti
  • LibreNMS
  • CheckMK
  • Zabbix
  • Prometheus
  1. Instalasi Zabbix di Red Hat Enterprise Linux 9.

Topologi yang akan kita gunakan seperti gambar dibawah ini.

Sebagai Zabbix Monitoring Server akan di install di node1 (rhel). Untuk node2 (ubuntu) dan node3 (windows) kita akan monitoring melalui zabbix agent yang diinstall di node tersebut. Untuk node4 (mikrotik) kita akan monitoring melalui snmp.

Jalankan command dibawah ini untuk instalasi zabbix (Server, Frontend, Agent) di node1.

node1
[sysadmin@node1 ~]$ sudo sed -i ‘/\[epel\]/a excludepkgs=zabbix*’ /etc/yum.repos.d/epel.repo [sysadmin@node1 ~]$ sudo rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-4.el9.noarch.rpm[sysadmin@node1 ~]$ sudo dnf clean all[sysadmin@node1 ~]$ sudo dnf install -y httpd mariadb-server php-{mysqlnd,fpm} zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Setelah itu buat database untuk zabbix server beserta user dan password database.

node1
[sysadmin@node1 ~]$ sudo mysqlMariaDB [(none)]> create database zabbix character set utf8mb4 collate utf8mb4_bin;Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> create user ‘zabbix’@’%’ identified by ‘xibbaz’;Query OK, 0 rows affected (0.004 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to ‘zabbix’@’%’;Query OK, 0 rows affected (0.004 sec)
MariaDB [(none)]> set global log_bin_trust_function_creators = 1;Query OK, 0 rows affected (0.001 sec)

Lalu import database schema dan disable log_bin_trust_function_creators. 

node1
[sysadmin@node1 ~]$ zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | sudo mysql –default-character-set=utf8mb4 -u zabbix -p zabbixEnter password: [sysadmin@node1 ~]$ sudo mysqlMariaDB [(none)]> set global log_bin_trust_function_creators = 0;Query OK, 0 rows affected (0.000 sec)

Edit file ‘zabbix_server.conf’ di direktori ‘/etc/zabbix’.

node1
[sysadmin@node1 ~]$ sudo nano /etc/zabbix/zabbix_server.conf 
/etc/zabbix/zabbix_server.conf
### Option: DBPassword# Database password.# Comment this line if no password is used.## Mandatory: no# Default:DBPassword=xibbaz

Lalu enable dan restart beberapa service berikut.

node1
[sysadmin@node1 ~]$ sudo systemctl enable –now  zabbix-server zabbix-agent httpd php-fpm[sysadmin@node1 ~]$ sudo systemctl restart  zabbix-server zabbix-agent httpd php-fpm

Lalu open port httpd.

node1
[sysadmin@node1 ~]$ sudo firewall-cmd –add-port=80/tcp –permanent success[sysadmin@node1 ~]$ sudo firewall-cmd –reload success[sysadmin@node1 ~]$ sudo firewall-cmd –list-ports 80/tcp

Setelah itu setup zabbix web dengan akses http://hostaddress/zabbix.

Konfigurasi koneksi database (sesuaikan).


Default user (Admin) dan password (zabbix) login.

  1. Instalasi Zabbix Agent di Ubuntu 22.04.

Jalankan command dibawah ini untuk instalasi zabbix agent di node2.

node2
sysadmin@node2:~$ sudo wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu22.04_all.debsysadmin@node2:~$ sudo dpkg -i zabbix-release_7.0-2+ubuntu22.04_all.deb sysadmin@node2:~$ sudo apt updatesysadmin@node2:~$ sudo apt install -y zabbix-agent 

Lalu izinkan koneksi dari ip zabbix server (192.168.72.11) yang datang dengan mengkonfigurasi file ‘zabbix_agentd.conf’ di direktori ‘/etc/zabbix’.

node2
sysadmin@node2:~$ sudo nano /etc/zabbix/zabbix_agentd.conf  
/etc/zabbix/zabbix_agentd.conf
### Option: Server#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.#       Incoming connections will be accepted only from the hosts listed here.#       If IPv6 support is enabled then ‘127.0.0.1’, ‘::127.0.0.1’, ‘::ffff:127.0.0.1’ are treated equally#       and ‘::/0’ will allow any IPv4 or IPv6 address.#       ‘0.0.0.0/0’ can be used to allow any IPv4 address.#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com## Mandatory: yes, if StartAgents is not explicitly set to 0# Default:# Server=
Server=192.168.72.11

Lalu restart service zabbix agent dan zabbix agent sudah siap digunakan.

node2
sysadmin@node2:~$ sudo systemctl restart zabbix-agent.service 
  1. Instalasi Zabbix Agent di Windows 10.

Download file zabbix agent dan unzip. Lalu salin file ‘zabbix_agentd.conf’ di direktori ‘conf’ ke direktori ‘bin’. Lalu izinkan koneksi dari ip zabbix server (192.168.72.11) yang datang dengan edit file ‘zabbix_agentd.conf’ yang baru saja di salin menggunakan notepad.

Lalu buka powershell dengan permission administrator. Dan jalankan command seperti dibawah ini untuk menginstall service dan start service zabbix agent.

Setelah itu izinkan zabbix agent untuk berkomunikasi via windows firewall. Buka Windows Defender Firewall > Allow App Through Windows Defender Firewall > Allow Another App dan browse file ‘zabbix_agentd.exe’.

 

Untuk zabbix agent sudah bisa digunakan.

  1. Konfigurasi SNMP di Mikrotik RouterOS v7.

Jalankan command dibawah ini untuk konfigurasi snmp.

node4
[admin@node4] > snmp/set enabled=yes contact=+12345678 location=”Surabaya, Jawa Timur” trap-community=public trap-version=2

Untuk menambahkan host yang akan dimonitoring silahkan akses dashboard, lalu ke menu Monitoring > Hosts > Create host.

Kita akan menambahkan node2 terlebih dahulu, Isi Hostname, Templates, Host Group, Interfaces Agent dan Tab Inventory Automatic seperti gambar dibawah ini.

Untuk node3 juga kurang lebih sama seperti node2.

Untuk node4 isi Hostname, Templates, Host Group, Interfaces SNMP dan Tab Inventory Automatic seperti gambar dibawah ini.

Tunggu beberapa saat sampai pada bagian table availability berwarna hijau. Setelah hijau silahkan klik table graph untuk menampilkan graph masing masing perangkat.

  1. Instalasi Prometheus dan Grafana di Red Hat Enterprise Linux 9.

Topologi yang akan kita gunakan seperti gambar dibawah ini.

Prometheus dan Grafana akan di install di node1 (rhel). Untuk node2 (ubuntu) dan node3 (windows) kita akan monitoring melalui node exporter  yang diinstall di node tersebut. Untuk node4 (mikrotik) kita akan monitoring melalui snmp exporter.

Jalankan command dibawah ini untuk download prometheus dan mengekstrak di node1.

node1
sysadmin@node1 ~]$ sudo -i[root@node1 ~]# cd /opt/[root@node1 opt]# wget https://github.com/prometheus/prometheus/releases/download/v2.53.1/prometheus-2.53.1.linux-amd64.tar.gz[root@node1 opt]# tar xvf prometheus-2.53.1.linux-amd64.tar.gz [root@node1 opt]# ls prometheus-2.53.1.linux-amd64console_libraries  consoles  data  LICENSE  NOTICE  prometheus  prometheus.yml  promtool

Setelah itu install prometheus sebagai service.

node1
[root@node1 opt]# sudo nano /etc/systemd/system/prometheus.service
/etc/systemd/system/prometheus.service
[Unit]Description=Prometheus Server
[Service]User=rootExecStart=/opt/prometheus-2.53.1.linux-amd64/prometheus –config.file=/opt/prometheus-2.53.1.linux-amd64/prometheus.yml
[Install]WantedBy=default.target

Lalu enable dan start servicenya. Buka juga port untuk prometheus 9090/tcp.

node1
[root@node1 opt]# systemctl daemon-reload [root@node1 opt]# systemctl enable –now prometheus.service

Coba akses prometheus via browser http://host:9090.

  1. Instalasi Node Exporter di Ubuntu 22.04.

Jalankan command dibawah ini untuk download node exporter dan mengekstrak di node2.

node2
sysadmin@node2:~$ sudo -iroot@node2:~# cd /opt/root@node2:/opt# wget https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gzroot@node2:/opt# tar xvf node_exporter-1.8.2.linux-amd64.tar.gz root@node2:/opt# ls node_exporter-1.8.2.linux-amd64LICENSE  NOTICE  node_exporter

Setelah itu install node exporter sebagai service.

node2
root@node2:/opt# nano /etc/systemd/system/node-exporter.service
/etc/systemd/system/node-exporter.service
[Unit]Description=Node Exporter
[Service]User=rootExecStart=/opt/node_exporter-1.8.2.linux-amd64/node_exporter
[Install]WantedBy=default.target

Lalu enable dan start servicenya. Node exporter menggunakan port 9100/tcp, coba akses metric node2 melalui browser http://host:9100/metrics.

node2
root@node2:/opt# systemctl daemon-reload root@node2:/opt# systemctl enable –now node-exporter.service 

  1. Instalasi Windows Exporter di Windows 10.

Download file Windows Exporter dan install di Windows. Untuk windows exporter secara default menggunakan port 9182/tcp. Coba akses metric node3 melalui browser http://host:9182/metrics.

  1. Instalasi SNMP Exporter di Red Hat Enterprise Linux 9.

Untuk mengambil metric dari perangkat yang menggunakan snmp dibutuhkan yang namanya snmp exporter. Kita akan install snmp exporter di node1.

node1
sysadmin@node1 ~]$ sudo -i[root@node1 ~]# cd /opt/[root@node1 opt]# wget https://github.com/prometheus/snmp_exporter/releases/download/v0.26.0/snmp_exporter-0.26.0.linux-amd64.tar.gz[root@node1 opt]# tar xvf snmp_exporter-0.26.0.linux-amd64.tar.gz [root@node1 opt]# ls snmp_exporter-0.26.0.linux-amd64LICENSE  NOTICE  snmp_exporter  snmp.yml

Setelah itu install snmp exporter sebagai service.

node1
[root@node1 opt]# nano /etc/systemd/system/snmp-exporter.service
/etc/systemd/system/snmp-exporter.service
[Unit]Description=SNMP Exporter
[Service]User=rootExecStart=/opt/snmp_exporter-0.26.0.linux-amd64/snmp_exporter –config.file=/opt/snmp_exporter-0.26.0.linux-amd64/snmp.yml
[Install]WantedBy=default.target

Lalu enable dan start servicenya. SNMP exporter menggunakan port 9116/tcp, coba akses snmp exporter node1 melalui browser http://host:9116/.

node1
[root@node1 opt]# systemctl daemon-reload [root@node1 opt]# systemctl enable –now snmp-exporter.service 

Untuk mengambil metric dari ubuntu, windows dan mikrotik edit file ‘prometheus.yml’.

node1
[root@node1 ~]# nano /opt/prometheus-2.53.1.linux-amd64/prometheus.yml 
/opt/prometheus-2.53.1.linux-amd64/prometheus.yml
global:  scrape_interval: 15s  evaluation_interval: 15s
alerting:  alertmanagers:    – static_configs:        – targets:          # – alertmanager:9093
rule_files:  # – “first_rules.yml”  # – “second_rules.yml”
scrape_configs:  – job_name: “prometheus”    static_configs:      – targets: [“localhost:9090”]
  – job_name: “ubuntu servers”    static_configs:      – targets: [“192.168.72.12:9100”]
  – job_name: “windows workstations”    static_configs:      – targets: [“192.168.72.13:9182”]
  – job_name: ‘mikrotik routers’    static_configs:      – targets:        – 192.168.72.14  # SNMP device.    metrics_path: /snmp    params:      auth: [public_v2]      module: [mikrotik]    relabel_configs:      – source_labels: [__address__]        target_label: __param_target      – source_labels: [__param_target]        target_label: instance      – target_label: __address__        replacement: 127.0.0.1:9116

Lalu restart service prometheus.

node1
[root@node1 ~]# systemctl restart prometheus.service

Coba akses melalui browser dashboard prometheus http://host:9090/targets.

Selanjutnya install grafana untuk membuat visualisasi dashboard masing” perangkat. Jalankan command dibawah ini.

node1
[root@node1 ~]# yum install -y https://dl.grafana.com/oss/release/grafana-11.1.0-1.x86_64.rpm[root@node1 ~]# systemctl enable –now grafana-server.service 

Lalu open port 3000/tcp yang digunakan oleh grafana.

node1
[root@node1 ~]# firewall-cmd –add-port=3000/tcp –permanent [root@node1 ~]# firewall-cmd –reload 

Akses grafana melalui browser http://host:3000 dengan username dan password ‘admin’.

Selanjutnya kita tambahkan data source.

Lalu yang perlu di isi ada pada bagian name dan connection (pastikan benar). Setelah itu klik Save & test.

Selanjutnya untuk membuat dashboard kita akan menyalin template dari link berikut.

Ubuntu (ID 1860) – https://grafana.com/grafana/dashboards/1860-node-exporter-full/

Windows (ID 6593) – https://grafana.com/grafana/dashboards/6593-windows-node/

Mikrotik (ID 14857) – https://grafana.com/grafana/dashboards/14857-mikrotik/

Kita tambahkan untuk device ubuntu terlebih dahulu.

Setelah itu klik load, dan sesuaikan nama dan data source yang baru saja ditambahkan sesuai gambar dibawah, kalau sudah klik import.

Ulangi langkah langkah diatas saat menambahkan template dashboard untuk windows dan mikrotik.

Jika sudah masuk ke menu dashboard maka akan muncul beberapa dashboard seperti pada gambar berikut.

Untuk melihat detail dashboard tinggal klik nama masing” dashboard.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti. Klik disini untuk info lengkapnya.

Penulis : Achmad Alif Nasrulloh