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
- 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).dumpTaze 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.dumpApache 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.