Skip to main content

Zabbix Backup

image.png

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

  1. Server Sumber:
    • Zabbix 7.4 sudah terinstal menggunakan Docker Compose (sesuai panduan sebelumnya).
    • Akses root atau hak sudo.
    • Docker dan Docker Compose sudah terinstal.
  2. 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).
  3. Alat Pendukung:
    • Akses SSH untuk transfer file (misalnya, scp atau rsync).
    • Penyimpanan sementara untuk menyimpan file backup.
  4. 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 SumberZabbix 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

  1. 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).
  2. 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.
  3. Verifikasi file backup: Pastikan file backup telah dibuat dan tidak kosong:
    bash

    ls -lh zabbix_backup_*.sql

1.2 Backup Volume DockerVolume Docker menyimpan file konfigurasi dan data persisten di direktori ./zbx_env (sesuai konfigurasi di docker-compose.yaml).

  1. Hentikan container Zabbix (opsional, untuk konsistensi data):
    bash

    cd ~/zabbix-docker
    docker-compose stop
  2. Backup direktori volume: Kompres direktori ./zbx_env ke file tar.gz:
    bash

    tar -zcvf zbx_env_backup_$(date +%F).tar.gz zbx_env
  3. Verifikasi file backup: Pastikan file backup telah dibuat:
    bash

    ls -lh zbx_env_backup_*.tar.gz
  4. Nyalakan kembali container (jika dihentikan):
    bash

    docker-compose start

1.3 (Opsional) Backup File Konfigurasi Docker ComposeBackup 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 BackupSekarang 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.