Zabbix 7.4 Docker Compose Install Zabbix 7.4 Docker Compose Berikut adalah panduan lengkap untuk menginstal Zabbix 7.4 menggunakan Docker Compose di Ubuntu 22.04 LTS, mulai dari awal hingga login ke web interface Zabbix. Saya akan menjelaskan langkah-langkah secara detail, termasuk prasyarat dan konfigurasi, berdasarkan informasi resmi dari Zabbix dan praktik terbaik untuk Docker. Requirement Sebelum memulai, pastikan Anda memiliki: Server Ubuntu 22.04 LTS yang sudah terinstall. Akses root atau hak sudo untuk menjalankan perintah instalasi. Koneksi internet untuk mengunduh paket dan image Docker. Spesifikasi minimum : RAM: Minimal 2 GB (disarankan 4 GB atau lebih untuk performa optimal). CPU: Minimal 2 core. Penyimpanan: Minimal 10 GB untuk database dan data Zabbix. Port yang dibutuhkan : 80/TCP atau 443/TCP untuk web interface. 10051/TCP untuk Zabbix server (trapper). 10050/TCP untuk Zabbix agent (opsional, jika menggunakan agent). 5432/TCP untuk PostgreSQL (jika menggunakan PostgreSQL sebagai database). Langkah 1: Update Sistem dan Install Docker serta Docker Compose Update sistem Ubuntu : Jalankan perintah berikut untuk memastikan sistem Anda menggunakan paket terbaru: sudo apt update && sudo apt upgrade -y Install Docker : Ikuti langkah-langkah untuk menginstal Docker Engine: # Install dependensi yang diperlukan sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # Tambahkan GPG key untuk repositori Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Tambahkan repositori Docker echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Update package dan install Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io Verifikasi instalasi Docker : Pastikan Docker berjalan dengan baik: sudo systemctl status docker docker --version Install Docker Compose : Docker Compose digunakan untuk mengelola multi-container Zabbix. Instal versi terbaru: sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose Verifikasi instalasi Docker Compose : docker-compose --version Tambahkan pengguna ke grup Docker (opsional, untuk menjalankan Docker tanpa sudo): sudo usermod -aG docker $USER newgrp docker Langkah 2: Siapkan Docker Compose untuk Zabbix Zabbix menyediakan file Docker Compose resmi di repositori GitHub mereka. Kita akan menggunakan file berbasis PostgreSQL, karena ini adalah konfigurasi yang umum digunakan dan didukung dengan baik untuk Zabbix 7.4. Clone zabbix github proyek : git clone https://github.com/zabbix/zabbix-docker.git cd zabbix-docker Langkah 3: Jalankan Docker Compose Jalankan container : Jalankan semua layanan dalam mode detached: docker-compose -f ./docker-compose_v3_alpine_pgsql_latest.yaml --profile full up -d Verifikasi container : docker-compose ps Anda seharusnya melihat container  dalam status Up . Langkah 4: Akses Zabbix Akses web interface : Buka browser dan akses Zabbix melalui: http:// Ganti dengan IP server Anda (misalnya, http://192.168.1.100/zabbix ) . Login ke Zabbix : URL: http:// Username default: Admin Password default: zabbix Setelah login, segera ubah kata sandi di menu Administration > Users > Admin untuk keamanan. Set Static IP Agent Zabbix Docker Pada langkah instalasi docker compose sebelumnya, IP docker masih setting DHCP, jadi ada kemungkinan untuk docker zabbix agent akan berubah IP nya ketika docker compose di restart / down kemudian up. Solusinya IP docker zabbix agent di setting static dengan cara sebagai berikut : 1. Matikan / Stop dulu zabbix docker compose nya docker compose -f docker-compose_v3_alpine_pgsql_latest.yaml --profile full down 2. Edit compose_zabbix_components.yaml vim compose_zabbix_components.yaml Pada bagian zabbix-agent sesuaikan konfigurasi network nya sebegai berikut zabbix-agent: ... networks: backend: ipv4_address: 172.16.239.200 aliases: - zabbix-agent - zabbix-agent-passive Simpan konfigurasi 3. Edit environment variable zabbix agent vim env_vars/.env_agent Hapus # pada ZBX_LISTENIP supaya enable parameternya, kemudian isi IP static untuk docker zabbix agent, disini di setting IP static nya 172.16.239.200. ZBX_LISTENIP=172.16.239.200 Simpan konfigurasi. 4. Start kembali zabbix docker compose nya docker compose -f docker-compose_v3_alpine_pgsql_latest.yaml --profile full up -d 5. Cek IP docker zabbix agent docker inspect zabbix-docker-zabbix-agent-1 | grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "", "IPAddress": "172.16.239.200", Monitoring Server Ubuntu 22.04 LTS Untuk menjaga performa dan stabilitas server, terutama yang menjalankan aplikasi penting di lingkungan produksi, sistem monitoring sangat diperlukan. Salah satu solusi monitoring yang powerful dan open-source adalah Zabbix . Pada artikel ini, kita akan membahas langkah-langkah menyiapkan monitoring Ubuntu 22.04 LTS menggunakan Zabbix , mulai dari instalasi agen hingga verifikasi di dashboard Zabbix server. Zabbix adalah platform monitoring jaringan dan server berbasis open-source yang dapat memantau berbagai metrik seperti penggunaan CPU, RAM, disk, layanan, hingga availability dari berbagai host. Zabbix mendukung banyak sistem operasi, termasuk Ubuntu, CentOS, Windows, dan lainnya. Zabbix terdiri dari beberapa komponen utama: Zabbix Server : pusat manajemen, mengumpulkan data dari agent. Zabbix Agent : dijalankan di host yang dimonitor, mengirimkan data ke server. Database : menyimpan data monitoring. Frontend (Web UI) : antarmuka web untuk konfigurasi dan visualisasi. Prasyarat Sebelum melanjutkan, pastikan: Kamu sudah memiliki Zabbix Server , jika belum bisa lihat cara instalasi zabbix disini https://www.32inside.com/books/zabbix/page/install-zabbix-74-docker-compose   Ubuntu 22.04 LTS sudah tersedia dan dapat diakses dari jaringan yang sama dengan server Zabbix. 1. Tambahkan Repository Zabbix pada Server Ubuntu 22.04 LTS yang akan di monitor Downlaod zabbix agent package repository di https://www.zabbix.com/download Pilih sesuai OS server yang akan di monitor, kali ini pilih : Zabbix Version : 7.4 OS Distribution : Ubuntu OS Version : 22.04 Jammy Zabbix Component : Agent Instal Zabbix repository sudo wget https://repo.zabbix.com/zabbix/7.4/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.4+ubuntu22.04_all.deb sudo dpkg -i zabbix-release_latest_7.4+ubuntu22.04_all.deb sudo apt update 2. Instal Zabbix Agent sudo apt install zabbix-agent -y 3. Konfigurasi Zabbix Agent Edit file konfigurasi /etc/zabbix/zabbix_agentd.conf, cari bagian Server , misalnya 192.168.56.254 IP Zabbix Servernya Server=192.168.56.254 4. Aktifkan dan Jalankan Zabbix Agent sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent Cek status Zabbix Agent sudo systemctl status zabbix-agent 5. Tambahkan Host di Zabbix Server Login ke dashboard Zabbix (http://192.168.56.254) Masuk ke: Configuration > Hosts > Create Host Isi: Hostname : Ubuntu Server 22.04 LTS Groups : misalnya Linux servers Agent interfaces : tambahkan IP dari Ubuntu Server 22.04 LTS Pada tab Templates , tambahkan template: Template OS Linux by Zabbix agent Klik Add 6. Verifikasi Monitoring Setelah beberapa menit, data akan mulai masuk: Masuk ke Monitoring > Latest data Pilih host, lalu lihat metrik: CPU, memory, load average, disk space, network, dll. Zabbix Backup Berikut adalah panduan lengkap untuk melakukan  backup dan restore Zabbix 7.4 yang dijalankan menggunakan Docker Compose di Ubuntu 22.04 LTS, serta memindahkan dan merestorasinya ke server Ubuntu 22.04 LTS lain. Panduan ini mencakup backup database PostgreSQL, file konfigurasi Zabbix, dan data persisten lainnya, serta langkah-langkah untuk merestorasi di server baru. Prasyarat Server Sumber : Zabbix 7.4 sudah terinstal menggunakan Docker Compose (sesuai panduan sebelumnya). Akses root atau hak sudo. Docker dan Docker Compose sudah terinstal. Server Tujuan : Ubuntu 22.04 LTS yang bersih. Spesifikasi server serupa atau lebih baik dari server sumber. Docker dan Docker Compose terinstal (ikuti Langkah 1 dari panduan sebelumnya jika belum). Alat Pendukung : Akses SSH untuk transfer file (misalnya, scp atau rsync ). Penyimpanan sementara untuk menyimpan file backup. Catatan : Pastikan port yang diperlukan (8080, 10051, 10050, dsb.) tidak diblokir firewall di server tujuan. Pastikan Anda memiliki cukup ruang penyimpanan untuk backup. Langkah 1: Backup Zabbix di Server Sumber Zabbix 7.4 yang dijalankan dengan Docker Compose menyimpan data di dua tempat utama: Database PostgreSQL : Berisi data monitoring, konfigurasi host, dan riwayat. Volume Docker : Berisi file konfigurasi Zabbix, file eksternal (seperti script), dan data lainnya. 1.1 Backup Database PostgreSQL Identifikasi container PostgreSQL : Cari nama container PostgreSQL: bash docker-compose ps Nama container biasanya seperti zabbix-docker-postgres-server-1 (sesuai dengan docker-compose.yaml ). Buat backup database : Gunakan pg_dump untuk mengekspor database Zabbix ke file SQL: bash docker exec zabbix-docker-postgres-server-1 pg_dump -U zabbix zabbix > zabbix_backup_$(date +%F).sql -U zabbix : Menggunakan user zabbix (sesuaikan jika Anda mengubah POSTGRES_USER di .env ). zabbix : Nama database (sesuaikan jika Anda mengubah POSTGRES_DB di .env ). File output akan bernama seperti zabbix_backup_2025-07-13.sql . Verifikasi file backup : Pastikan file backup telah dibuat dan tidak kosong: bash ls -lh zabbix_backup_*.sql 1.2 Backup Volume Docker Volume Docker menyimpan file konfigurasi dan data persisten di direktori ./zbx_env (sesuai konfigurasi di docker-compose.yaml ). Hentikan container Zabbix (opsional, untuk konsistensi data): bash cd ~/zabbix-docker docker-compose stop Backup direktori volume : Kompres direktori ./zbx_env ke file tar.gz: bash tar -zcvf zbx_env_backup_$(date +%F).tar.gz zbx_env Verifikasi file backup : Pastikan file backup telah dibuat: bash ls -lh zbx_env_backup_*.tar.gz Nyalakan kembali container (jika dihentikan): bash docker-compose start 1.3 (Opsional) Backup File Konfigurasi Docker Compose Backup file docker-compose.yaml dan .env untuk memastikan konfigurasi identik saat restore: bash cp docker-compose.yaml docker-compose_backup_$(date +%F).yaml cp .env .env_backup_$(date +%F) 1.4 Kumpulkan File Backup Sekarang Anda memiliki: zabbix_backup_YYYY-MM-DD.sql : Backup database. zbx_env_backup_YYYY-MM-DD.tar.gz : Backup volume Docker. docker-compose_backup_YYYY-MM-DD.yaml dan .env_backup_YYYY-MM-DD : File konfigurasi. Zabbix Restore Berikut adalah panduan lengkap untuk  merestorasi backup Zabbix 7.4 yang telah dibuat dari server sumber ke server tujuan baru yang menjalankan Ubuntu 22.04 LTS . Proses ini mencakup restore database PostgreSQL, volume Docker, dan file konfigurasi untuk memastikan Zabbix berjalan kembali seperti di server asal. Saya akan menjelaskan langkah-langkah secara detail dengan asumsi Anda telah memiliki file backup dari panduan sebelumnya. Prasyarat Server Tujuan : Ubuntu 22.04 LTS yang bersih. Docker dan Docker Compose sudah terinstal (ikuti Langkah 1 dari panduan instalasi sebelumnya jika belum). Akses root atau hak sudo. Spesifikasi server setara atau lebih baik dari server sumber. File Backup : zabbix_backup_YYYY-MM-DD.sql : File backup database PostgreSQL. zbx_env_backup_YYYY-MM-DD.tar.gz : File backup volume Docker. docker-compose_backup_YYYY-MM-DD.yaml : File konfigurasi Docker Compose. .env_backup_YYYY-MM-DD : File variabel lingkungan. Koneksi Jaringan : Pastikan port 8080 (atau port web yang digunakan), 10051 (Zabbix server), dan 10050 (Zabbix agent, jika digunakan) tidak diblokir firewall. Alat Pendukung : Akses SSH untuk transfer file (misalnya, scp atau rsync ) dari server sumber atau penyimpanan backup. Langkah-langkah Restore Zabbix 7.4 Langkah 1: Persiapkan Server Tujuan Update sistem Ubuntu : Pastikan sistem tujuan diperbarui: bash sudo apt update && sudo apt upgrade -y Install Docker dan Docker Compose : Jika belum terinstal, ikuti langkah-langkah berikut (sesuai panduan instalasi sebelumnya): bash # Install dependensi sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # Tambahkan GPG key Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Tambahkan repositori Docker echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Install Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io # Install Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # Tambahkan pengguna ke grup Docker (opsional) sudo usermod -aG docker $USER newgrp docker Verifikasi instalasi : bash docker --version docker-compose --version Langkah 2: Transfer File Backup ke Server Tujuan Pindahkan file backup : Gunakan scp atau rsync untuk mentransfer file backup dari server sumber (atau penyimpanan eksternal) ke server tujuan. Misalnya, dari server sumber atau lokasi penyimpanan: bash scp zabbix_backup_2025-07-13.sql zbx_env_backup_2025-07-13.tar.gz docker-compose_backup_2025-07-13.yaml .env_backup_2025-07-13 user@:~/zabbix-restore/ Ganti dengan IP server tujuan. Ganti user dengan nama pengguna SSH di server tujuan. Direktori tujuan ( ~/zabbix-restore/ ) bisa disesuaikan. Buat direktori kerja di server tujuan : SSH ke server tujuan dan buat direktori untuk restore: bash mkdir ~/zabbix-restore cd ~/zabbix-restore Verifikasi file backup : Pastikan semua file telah ditransfer: bash ls -lh Anda seharusnya melihat: zabbix_backup_2025-07-13.sql zbx_env_backup_2025-07-13.tar.gz docker-compose_backup_2025-07-13.yaml .env_backup_2025-07-13 Langkah 3: Siapkan File Konfigurasi Salin file konfigurasi : Gunakan file docker-compose.yaml dan .env dari backup: bash cp docker-compose_backup_2025-07-13.yaml docker-compose.yaml cp .env_backup_2025-07-13 .env Periksa file .env : Buka file .env untuk memastikan konfigurasinya sesuai dengan server tujuan: bash nano .env Pastikan ZBX_WEBSERVER_PORT (misalnya, 8080) sesuai dengan port yang diizinkan di server tujuan. Pastikan POSTGRES_PASSWORD dan parameter lain sesuai dengan backup database. Jika IP server berubah, sesuaikan ZBX_SERVER_HOST jika diperlukan. Simpan dan keluar ( Ctrl+O , Enter , Ctrl+X ). Periksa file docker-compose.yaml : Pastikan file ini sesuai dengan struktur yang digunakan saat backup (biasanya tidak perlu diubah).  Pastikan izin direktori : Berikan izin yang sesuai untuk Docker: bash sudo chown -R $USER:docker zbx_env sudo chmod -R 755 zbx_env Langkah 5: Jalankan Container untuk Persiapan Restore Database Jalankan container tanpa Zabbix server dan web : Ubah sementara docker-compose.yaml untuk hanya menjalankan container PostgreSQL agar database dapat direstorasi terlebih dahulu. Edit file docker-compose.yaml : bash nano docker-compose.yaml Komentari (tambahkan # di depan) layanan zabbix-server , zabbix-web-nginx-pgsql , dan zabbix-agent (jika ada) untuk sementara. Contoh: yaml version: '3.8' services: postgres-server: image: postgres:15 environment: - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DB=${POSTGRES_DB} volumes: - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data restart: unless-stopped # zabbix-server: # ... # zabbix-web-nginx-pgsql: # ... # zabbix-agent: # ... Simpan dan keluar. Jalankan container PostgreSQL : bash docker-compose up -d Verifikasi container PostgreSQL : Pastikan container berjalan Indonesia docker-compose ps Anda seharusnya melihat container `postgres-server` dalam status `Up`. Salin file backup database ke container: Salin file SQL ke container PostgreSQL: docker cp zabbix_backup_2025-07-13.sql zabbix-docker-postgres-server-1:/tmp/zabbix_backup.sql Restore database : Jalankan perintah untuk merestorasi database: bash docker exec zabbix-docker-postgres-server-1 psql -U zabbix -d zabbix -f /tmp/zabbix_backup.sql -U zabbix : Nama pengguna database (sesuaikan jika berbeda di .env ). -d zabbix : Nama database (sesuaikan jika berbeda). Jika terjadi error, pastikan pengguna dan kata sandi di .env sesuai. Hapus file sementara (opsional): bash docker exec zabbix-docker-postgres-server-1 rm /tmp/zabbix_backup.sql Langkah 7: Jalankan Semua Container Kembalikan docker-compose.yaml : Buka docker-compose.yaml dan hapus tanda komentar ( # ) dari layanan zabbix-server , zabbix-web-nginx-pgsql , dan zabbix-agent (jika ada):   nano docker-compose.yaml Pastikan semua layanan aktif kembali. Jalankan semua container :   docker-compose up -d Verifikasi container : Pastikan semua container berjalan:   docker-compose ps Anda seharusnya melihat semua container ( postgres-server , zabbix-server , zabbix-web-nginx-pgsql , dan zabbix-agent jika digunakan) dalam status Up Langkah 8: Akses dan Verifikasi Zabbix Akses web interface : Buka browser dan akses Zabbix di server tujuan: http://:/zabbix Contoh: http://192.168.1.100:8080/zabbix . Login ke Zabbix : Username: Admin (atau username yang digunakan di server sumber). Password: Kata sandi yang digunakan di server sumber (default: zabbix jika belum diubah). Jika kata sandi tidak berfungsi, reset kata sandi melalui database (lihat Langkah 9 jika diperlukan). Verifikasi data : Navigasi ke Monitoring > Latest data untuk memastikan data monitoring dari server sumber tersedia. Periksa Configuration > Hosts untuk memastikan semua host yang sebelumnya dikonfigurasi ada. Pastikan status host menunjukkan koneksi aktif (kolom Availability berwarna hijau). Langkah 9: (Opsional) Reset Kata Sandi Admin Jika Anda lupa kata sandi Admin atau ingin meresetnya: Akses database :   docker exec -it zabbix-docker-postgres-server-1 psql -U zabbix -d zabbix Update kata sandi Admin : Jalankan perintah SQL untuk mereset kata sandi user Admin ke zabbix : sql UPDATE users SET passwd=md5('zabbix') WHERE username='Admin'; \q Login ulang : Coba login kembali dengan Admin/zabbix . Langkah 10: Pemecahan Masalah Web interface tidak dapat diakses : Pastikan port ZBX_WEBSERVER_PORT (misalnya, 8080) terbuka: bash sudo ufw allow 8080 Cek log container: bash docker-compose logs zabbix-web-nginx-pgsql Database error : Pastikan variabel di .env ( POSTGRES_USER , POSTGRES_PASSWORD , POSTGRES_DB ) sesuai dengan backup. Jika database gagal dimuat, periksa integritas file SQL: bash less zabbix_backup_2025-07-13.sql Coba restore ulang jika file rusak. Zabbix server tidak terhubung ke database : Cek log: bash docker-compose logs zabbix-server Pastikan container postgres-server berjalan sebelum zabbix-server . Host tidak terhubung : Pastikan IP server tujuan sesuai dengan konfigurasi Zabbix agent di host yang dimonitor. Perbarui Server di file konfigurasi agent ( /etc/zabbix/zabbix_agentd.conf ) di host target: bash Server= Restart agent: bash sudo systemctl restart zabbix-agent Langkah 11: (Opsional) Konfigurasi Tambahan Konfigurasi firewall : Pastikan port yang diperlukan terbuka: bash sudo ufw allow 8080 sudo ufw allow 10051 sudo ufw allow 10050 Konfigurasi HTTPS (opsional): Untuk keamanan, konfigurasikan SSL di Nginx. Tambahkan sertifikat SSL ke volume zbx_env/etc/zabbix/web dan ubah docker-compose.yaml untuk menggunakan port 443. Backup rutin : Setelah restore berhasil, atur cron job untuk backup rutin di server tujuan: bash crontab -e Tambahkan baris untuk backup harian (misalnya, pukul 02:00): bash 0 2 * * * cd ~/zabbix-restore && docker exec zabbix-docker-postgres-server-1 pg_dump -U zabbix zabbix > zabbix_backup_$(date +\%F).sql && tar -zcvf zbx_env_backup_$(date +\%F).tar.gz zbx_env Catatan Penting Integritas backup : Pastikan file backup tidak rusak sebelum restore. Verifikasi ukuran file dan coba buka file .sql untuk memeriksa isinya. Konsistensi konfigurasi : Gunakan file docker-compose.yaml dan .env yang sama dengan server sumber untuk menghindari masalah konfigurasi. Penyimpanan : Pastikan server tujuan memiliki ruang penyimpanan yang cukup untuk volume Docker dan database. Keamanan : Ganti kata sandi default ( Admin/zabbix , POSTGRES_PASSWORD ) setelah restore. Pertimbangkan untuk mengenkripsi transfer file backup (misalnya, menggunakan scp dengan SSH). Referensi : Dokumentasi Zabbix Docker: https://www.zabbix.com/documentation/current/en/manual/installation/containers Dokumentasi PostgreSQL Backup/Restore: https://www.postgresql.org/docs/15/backup.html Ringkasan Dengan langkah-langkah di atas, Anda telah berhasil merestorasi Zabbix 7.4 dari backup di server Ubuntu 22.04 LTS baru. Proses ini mencakup transfer file backup, restore volume Docker, restore database PostgreSQL, dan verifikasi sistem. Zabbix Anda sekarang seharusnya berjalan seperti di server sumber, dengan semua data monitoring, host, dan konfigurasi utuh. Jika Anda mengalami masalah atau memerlukan panduan tambahan (misalnya, konfigurasi lanjutan seperti notifikasi atau clustering), silakan beri tahu!