Zabbix adalah perangkat lunak pemantauan sumber terbuka berfitur lengkap. Zabbix mengumpulkan metrik dari perangkat, sistem, dan aplikasi jaringan Anda dan memastikannya aktif dan berjalan. Jika ada masalah, Zabbix akan mengirimkan peringatan pemberitahuan melalui berbagai metode.
Zabbix dapat digunakan untuk pemantauan berbasis agen dan tanpa agen. Agen Zabbix memiliki footprint kecil dan dapat berjalan di berbagai platform, termasuk Linux, UNIX, macOS, dan Windows.
Tutorial ini menjelaskan cara menginstal dan mengkonfigurasi Zabbix 4.0 versi terbaru pada server CentOS 7 menggunakan MariaDB sebagai back-end database. Kami juga akan menunjukkan cara menginstal agen Zabbix pada host jarak jauh dan menambahkan host ke server Zabbix.
Prasyarat #
Anda harus masuk sebagai pengguna dengan akses sudo untuk dapat menginstal paket.
Membuat Database MySQL #
Zabbix mendukung MySQL/MariaDB dan PostgreSQL sebagai server database. Dalam tutorial ini, kita akan menggunakan MariaDB sebagai back-end database.
Jika Anda belum menginstal MariaDB di server CentOS, Anda dapat menginstalnya dengan mengikuti petunjuk berikut.
Login ke shell MySQL dengan mengetikkan perintah berikut:
sudo mysql
Dari dalam shell MySQL, jalankan perintah SQL berikut untuk membuat database baru:
CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;
Selanjutnya, buat akun pengguna MySQL dan berikan akses ke database:
GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Pastikan Anda mengubah change-with-strong-password
dengan kata sandi yang kuat. Setelah selesai, keluar dari konsol mysql dengan mengetik:
EXIT;
Menginstal Zabbix di CentOS #
Pada saat artikel ini ditulis, versi stabil terbaru dari Zabbix adalah versi 4.0. Paket Zabbix yang tersedia di repositori CentOS sudah usang sehingga kami akan menggunakan repositori Zabbix resmi.
1. Menginstal Zabbix #
Unduh paket rpm repositori Zabbix terbaru dengan perintah wget berikut:
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
Setelah file diunduh, tambahkan repositori Zabbix ke sistem CentOS 7 Anda dengan mengetik:
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
Instal server Zabbix, antarmuka web dengan dukungan database MySQL dan paket agen Zabbix:
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Jika Apache dan PHP belum terinstal di server Anda, perintah di atas akan menginstalnya.
2. Mengonfigurasi PHP untuk frontend Zabbix #
Selama instalasi, file konfigurasi Apache dibuat yang berisi semua pengaturan Apache dan PHP yang diperlukan. Anda hanya perlu melakukan sedikit perubahan dan mengatur zona waktu yang sesuai.
Buka file konfigurasi, batalkan komentar pada garis zona waktu dan ubah ke zona waktu Anda. Anda dapat menemukan daftar lengkap zona waktu yang didukung oleh PHP di sini.
/etc/httpd/conf.d/zabbix.conf...
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Riga
</IfModule>
...
Setelah selesai, simpan file konfigurasi dan mulai ulang layanan Apache agar perubahan diterapkan:
sudo systemctl restart httpd
3. Konfigurasi Database MySQL Untuk Zabbix Server #
Paket instalasi Zabbix menyediakan file dump yang menyertakan skema awal dan data untuk server Zabbix dengan MySQL.
Impor file dump MySQL dengan menjalankan:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Saat diminta masukkan kata sandi pengguna yang Anda buat sebelumnya. Saat sukses, tidak ada output yang diberikan.
Selanjutnya, buka file konfigurasi Zabbix di editor Anda:
sudo nano /etc/zabbix/zabbix_server.conf
Cari bagian berikut, batalkan komentar pada DBPassword
direktif dan tambahkan kata sandi basis data.
...
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...
Simpan dan tutup file.
Mulai ulang server Zabbix dan layanan agen dan aktifkan untuk memulai saat boot sistem:
sudo systemctl restart zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
Periksa status server Zabbix:
sudo systemctl status zabbix-server
Output harus menunjukkan active (running)
:
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2018-12-30 21:18:01 UTC; 51s ago
Main PID: 5558 (zabbix_server)
CGroup: /system.slice/zabbix-server.service
...
Menginstal dan Mengonfigurasi Frontend Zabbix #
Antarmuka web Zabbix ditulis dalam PHP dan memungkinkan kita untuk mengonfigurasi server, melihat data yang dikumpulkan, dan menambahkan host yang ingin kita pantau.
Sebelum mulai menggunakan antarmuka web, kita perlu menginstalnya.
Buka browser favorit Anda dan ketik nama domain server Anda atau alamat IP publik diikuti dengan /zabbix
:
http(s)://your_domain_or_ip_address/zabbix
Pada layar pertama, Anda akan kami suguhkan dengan pesan selamat datang. Klik Next step
untuk melanjutkan.
Selanjutnya, Anda akan melihat halaman informasi berikut yang mencantumkan semua prasyarat PHP yang diperlukan untuk menjalankan Zabbix Frontend. Semua nilai dalam tabel ini harus OK
, gulir ke bawah untuk memverifikasi bahwa semuanya sudah diatur dengan benar. Setelah diverifikasi, klik Next step
untuk melanjutkan.
Pada layar berikutnya, wizard pengaturan akan meminta Anda untuk memasukkan rincian koneksi database Anda. Masukkan pengguna MySQL dan detail database yang Anda buat sebelumnya.
Memasukkan nama untuk server adalah opsional. Masukkan jika Anda memiliki lebih dari satu server pemantauan Zabbix. Jika tersedia, itu akan ditampilkan di bilah menu dan judul halaman.
Klik Next step
untuk melanjutkan.
Pada layar berikutnya, Anda akan diperlihatkan ringkasan pra-instalasi.
Klik Next step
dan setelah instalasi selesai, Anda akan dibawa ke halaman yang memberi tahu Anda bahwa antarmuka web Zabbix telah diinstal. Untuk mengakses halaman login Zabbix Anda, klik tombol Finish
tombol.
Pengguna default adalah "Admin" dan kata sandinya adalah "zabbix". Masukkan nama pengguna dan kata sandi dan klik Log in
tombol.
Setelah Anda masuk, Anda akan diarahkan ke dasbor administrasi Zabbix.
Dari sini, Anda dapat mulai menyesuaikan instalasi Zabbix Anda dan menambahkan host baru. Langkah pertama Anda adalah mengubah kata sandi saat ini. Untuk melakukannya, navigasikan ke halaman profil pengguna dengan mengklik ikon profil di navigasi atas.
Menambahkan Host Baru ke Server Zabbix #
Prosedur untuk menambahkan host baru untuk pemantauan ke server Zabbix mencakup dua langkah.
Pertama, Anda perlu menginstal agen Zabbix pada host jarak jauh dan kemudian menambahkan host ke server Zabbix melalui antarmuka web.
Menginstal agen Zabbix #
Tutorial ini mengasumsikan bahwa mesin host juga menggunakan CentOS 7.
Sama seperti saat menginstal server Zabbix, jalankan perintah berikut untuk mengaktifkan repositori Zabbix:
wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
sudo yum localinstall zabbix-release-4.0-1.el7.noarch.rpm
Instal paket agen Zabbix:
sudo yum install zabbix-agent
Zabbix mendukung dua metode untuk enkripsi komunikasi server-klien, Preshared Key (PSK) dan enkripsi berbasis sertifikat. Dalam tutorial ini, kita akan menggunakan metode pre-shared keys (PSK) untuk mengamankan koneksi antara server dan agen.
Gunakan untuk mengikuti perintah untuk membuat kunci yang dibagikan sebelumnya dan menyimpannya ke file:
openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk
Kunci PSK akan terlihat seperti ini:
fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6
Buka file konfigurasi agen Zabbix:
sudo nano /etc/zabbix/zabbix_agentd.conf
Cari Server
Alamat IP dan ubah dari nilai default ke IP server Zabbix Anda:
...
### 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=127.0.0.1
...
Selanjutnya, temukan TSLConnect
opsi, batalkan komentar dan setel ke psk
:
...
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSConnect=psk
...
Temukan TLSAccept
opsi, batalkan komentar dan setel ke psk
:
...
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
TLSAccept=psk
...
Selanjutnya, cari TLSPSKIdentity
pilihan, batalkan komentar dan setel ke PSK 001
Nilainya harus berupa string unik:
...
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...
Terakhir, cari TLSPSKFile
opsi, batalkan komentar dan setel untuk menunjuk ke kunci yang dibagikan sebelumnya yang dibuat sebelumnya:
...
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
...
Setelah selesai, simpan dan tutup file.
Mulai layanan agen Zabbix dan atur untuk memulai saat boot dengan:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Selanjutnya, Anda harus menambahkan aturan firewall yang mengaktifkan lalu lintas dari server Zabbix Anda pada port TCP 10050
.
Dengan asumsi Anda menggunakan FirewallD
untuk mengelola firewall Anda dan Anda ingin mengizinkan akses dari 192.168.121.70
Alamat IP Anda akan menjalankan perintah berikut:
sudo firewall-cmd --new-zone=zabbix --permanent
sudo firewall-cmd --zone=special --add-source=192.168.121.70/32
sudo firewall-cmd --zone=special --add-port=10050/tcp
Siapkan Host Baru #
Sekarang agen pada host jarak jauh yang ingin Anda pantau telah diinstal dan dikonfigurasi, langkah selanjutnya adalah mendaftarkan host di server Zabbix.
Masuk ke antarmuka web Server Zabbix sebagai pengguna admin:
http(s)://your_domain_or_ip_address/zabbix
Setelah masuk, di bilah navigasi atas klik Configuration
, lalu Hosts
Selanjutnya, klik pada Create host
berwarna biru tombol di sudut kanan atas layar dan halaman konfigurasi host akan terbuka:
Masukkan Nama Host dan Alamat IP dari mesin host jarak jauh yang ingin Anda pantau. Tambahkan host ke satu atau beberapa grup dengan memilih grup dari daftar, atau masukkan nama grup yang tidak ada untuk membuat yang baru. Linux Servers
grup adalah pilihan yang baik.
Setelah selesai, klik Templates
tab. Pilih Template OS Linux
dan klik tombol Add
link untuk menambahkan template ke host.
Selanjutnya, klik tombol Encryption
tab. Pilih PSK untuk kedua Connections to host
dan Connections from host
.
Setel PSK identity
nilai ke PSK 001
, nilai TLSPSKIdentity
opsi agen Zabbix yang Anda konfigurasikan di langkah sebelumnya.
Di PSK value
diajukan tambahkan kunci yang Anda buat untuk agen Zabbix, yang disimpan di /etc/zabbix/zabbix_agentd.psk
berkas.
Terakhir, untuk menambahkan host, klik tombol Add button
berwarna biru .