Orbtrace

Yedekleme ve geri yükleme

Neyi yedeklemeli (ve neyi değil), Helm yedekleme CronJob'ları nasıl çalışır, manuel Compose/Ansible prosedürü ve nasıl geri yüklenir — hem ayarlar veritabanı hem telemetri deposu için.

Orbtrace durumu iki depoda tutar ve bunların yedekleme ihtiyaçları çok farklıdır. Üretime geçmeden önce bunu doğru yapın.

Neyi yedeklemeli

On screen
  • PostgreSQL — bunu yedekleyinYapılandırmanız ve geçmişiniz: kullanıcılar ve roller, SLO sözleşmeleri, alarm kuralları / kanallar / yönlendirme, panolar, RCA olayları (pgvector embedding'leriyle), lisans kurulum kaydı ve audit log. Küçük ve yeri doldurulamaz — kaybetmek her panoyu ve alarmı elle yeniden kurmak demek.
  • Apache Doris — geçmiş tutacaksanız yedekleyinHam log/trace/metrikleriniz. Büyük; yeni telemetri akmaya devam ettiği anlamda yeniden-oluşabilir — ama geçmişi gittikten sonra geri getiremezsiniz. Bir saklama/uyumluluk gereksinimine tabiyseniz yedekleyin; değilse birçok ekip, bir felaketin son snapshot'tan eski telemetriyi kaybetmesini kabul eder.
  • Valkey — uğraşmayınBir önbellek. Kendini yeniden kurar. Burada yedeklenecek bir şey yok.

Pratik kural

PostgreSQL'i sık yedekleyin (küçük ve değerli). Doris'i uyumluluk pencerenize uyan bir takvimle yedekleyin (büyük ve kısmen kendini onaran). Valkey'i atlayın.

Kubernetes'te (Helm) — yerleşik CronJob'lar

Chart, yedekleme CronJob'ları ve geri-yükleme Job'ları gönderir, varsayılan kapalı. Values'ta açın:

backup:
  enabled: true
  postgres:
    schedule: "0 1 * * *"      # gecelik pg_dump
  doris:
    schedule: "0 2 * * *"      # gecelik Doris BACKUP SNAPSHOT
  # hedef (PVC / S3-uyumlu bucket) — bkz. values.yaml yorumları
  • Postgres CronJob pg_dump çalıştırır ve sıkıştırılmış bir dump'ı yapılandırılan hedefe yazar.
  • Doris CronJob telemetri tablolarının bir BACKUP SNAPSHOT'ını yedek deposuna alır.
  • Geri yükleme tek-seferlik bir Job'dır (restore.enabled: true, geri yüklenecek snapshot/dump ile) — taze bir release'e geri yükleyebilmeniz için post-install hook olarak koşacak şekilde bağlanmıştır. PostgreSQL ve Doris'i her zaman uyumlu zamanda alınan snapshot'lardan geri yükleyin.

Docker Compose / Ansible'da — manuel

Compose yığınında zamanlayıcı yoktur, bunları host'ta cron'a (ya da yedekleme aracınıza) bağlayın.

PostgreSQL

Mantıksal bir dump en basiti:

docker compose exec -T postgres \
  pg_dump -U "$PGUSER" -d "$PGDATABASE" --format=custom \
  > orbtrace-pg-$(date +%F).dump

Taze bir yığına geri yükleme:

docker compose exec -T postgres \
  pg_restore -U "$PGUSER" -d "$PGDATABASE" --clean --if-exists \
  < orbtrace-pg-YYYY-MM-DD.dump

Apache Doris

S3-uyumlu bir depoya Doris'in yerel BACKUP'ını kullanın (çalışan bir kümenin BE veri dizinlerini kopyalamaya çalışmayın):

-- bir kez: bir yedek deposu kaydedin (S3/MinIO)
CREATE REPOSITORY orbtrace_backup WITH S3 (...);
 
-- telemetri DB'sini snapshot'la
BACKUP SNAPSHOT orbtrace.snapshot_YYYYMMDD
  TO orbtrace_backup ON (otel_logs, otel_traces, otel_metrics_gauge, ...);

RESTORE SNAPSHOT … FROM orbtrace_backup ile geri yükleyin. Depo söz dizimi için Apache Doris yedekleme-geri yükleme belgelerine bakın; Orbtrace onu değiştirmez.

Şema-uyumlu şekilde geri yükleyin

PostgreSQL'i aynı ya da daha yeni bir Orbtrace sürümü çalıştıran sunucuya geri yükleyin (Flyway migration'ları yalnız ileri yöndedir). Doris için, uyumlu bir Doris ana sürümündeki kümeye geri yükleyin — 4.1 disk-üstü metadata'sı 3.x tarafından okunamaz.

Sade dille RPO / RTO

  • PostgreSQL küçüktür; gecelik (ya da saatlik) bir dump, en kötü durumda bir gün (ya da saat) yapılandırma değişikliği kaybı demektir — genelde hiçbir şey, çünkü panolar/alarmlar sürekli değişmez.
  • Doris kaybı "son snapshot'tan beri telemetri" demektir. Bu sizin için önemliyse daha sık snapshot alın ve kutu-dışına gönderin.
  • Kurtarma şudur: taze bir Orbtrace ayağa kaldırın (bkz. Kurulum), PostgreSQL'i geri yükleyin, Doris'i geri yükleyin, Collector'ınızı tekrar ona yönlendirin. Kurulum fingerprint'iniz PostgreSQL'de saklanan bir değerden türetilir, dolayısıyla bir PostgreSQL geri yüklemesi mevcut lisansınızı geçerli tutar (bkz. Lisanslama).

Geri yüklemenizi test edin

Hiç geri yüklemediğiniz bir yedek, bir umuttur, yedek değil. En az bir kez her iki depoyu da tek kullanımlık bir yığına geri yükleyin ve giriş yapabildiğinizi, panolarınızı görebildiğinizi ve geçmiş telemetriyi sorgulayabildiğinizi doğrulayın.

Sırada: Yükseltmeler.