Orbtrace

Bare metal (Ansible)

Docker Compose ile aynı tek-host yığını, tek bir Linux host'ta sizin için kurulur ve yönetilir — Docker kurulur, sırlar vault'lanır ve yığın bir systemd servisi olarak çalışır.

Docker Compose ile aynı tek-host yığını, sizin için kurulur ve yönetilir. Komutları elle çalıştırmadan Compose dağıtımını istediğinizde bunu kullanın: playbook Docker'ı kurar, sırlarınızı vault'lar, Compose bundle'ını /opt/orbtrace'e bırakır ve docker compose up -d çalıştıran bir orbtrace.service systemd birimi kaydeder (böylece açılışta yeniden başlar). Compose yolu ile aynı mimari ve aynı tek-host ayak izi — yalnızca tekrarlanabilir, otomatik bir kurulum olarak sunulur. Tek bir Linux host hedefler; çok-makineli bir küme kurucusu değildir.

Önce host ön-koşulları için Kurulum hazırlığı sayfasına bakın. Her şey tek bir makineye iner — playbook yalnızca Docker Compose yığınını otomatikleştirir:

Tek bir Linux host — systemd: orbtrace.service

Orbtrace app:8080Orbtrace uygulaması · arayüz + API sunar
Apache Doris8030 / 9030Telemetri deposu · FE + BE
Postgres + pgvectorAyarlar · kullanıcılar · RCA vektörleri
ValkeyÖnbellek

Veri akışı

UygulamalarınızOTLPOTel CollectorStream LoadApache DorisokurOrbtrace appayarlar + önbellekPostgres + ValkeyTarayıcılar

Playbook aynı Compose yığınını — uygulama, Doris, Postgres ve Valkey — tek host üzerinde ayağa kaldırır ve orbtrace.service olarak çalıştırır. Ayrı çalıştırdığınız tek parça, telemetrinizi Doris'e yazan Collector'dır; uygulama bunu geri okuyup arayüzü :8080 üzerinde sunar.

Tüm Doris bu tek host'ta çalıştığı için, onu hacminize göre boyutlandırın — Kapasite planlama hesaplayıcısı, tek-host bir dağıtımın ihtiyaç duyduğu CPU/bellek/diski verir.

  1. 1

    Host'u hazırlayın

    Kontrol makinenizden SSH erişimi olan bir Linux host (Debian/Ubuntu 22.04+ veya RHEL/Rocky 9+) ve ön-koşullardaki 8 GB+ RAM.

  2. 2

    Playbook'u bundle'dan açın

    Ansible playbook'u, Nivorbit'in verdiği dağıtım bundle'ının içinde gelir (pull token'ınızla birlikte):

    tar xzf orbtrace-2.1.0.tar.gz && cd orbtrace-2.1.0/ansible
    ansible-galaxy collection install -r requirements.yml
    cp inventory.example.ini inventory.ini
    $EDITOR inventory.ini

    Hedef host'unuzu inventory.ini'ye koyun. Örnek dosya açıklamalıdır. Tek seferlik ansible-galaxy adımı, playbook'un host'u ghcr.io'ya giriş yaptırmak için kullandığı community.docker koleksiyonunu kurar; böylece özel imaj çalışma sırasında çekilir.

  3. 3

    Değişkenleri ayarlayın ve şifreleyin

    Açıklamalı değişken şablonunu kopyalayın, doldurun, sonra Ansible Vault ile şifreleyin. Playbook'un ön-kontrolü placeholder sırlarla çalışmayı reddeder:

    cp group_vars/all.example.yml group_vars/all.yml
    $EDITOR group_vars/all.yml
    ansible-vault encrypt group_vars/all.yml

    orbtrace_ghcr_username ve orbtrace_ghcr_token (registry pull token'ınız) ile orbtrace_postgres_password değerlerini girin. orbtrace_doris_password boş kalsın — pakete dahil Doris, root hesabını parolasız çalıştırır ve buraya yazılan bir değer ilk açılışı bozar. orbtrace_license_key'i yalnızca ücretsiz COMMUNITY sürümünü aştıysanız ekleyin.

  4. 4

    Playbook'u çalıştırın

    ansible-playbook -i inventory.ini site.yml --ask-vault-pass

    Idempotent — yeniden çalıştırmak güvenli.

  5. 5

    Sağlık kontrolü

    curl http://<host>:8080/actuator/health

    {"status":"UP"} bekleyin. İlk giriş'e devam edin.

Playbook neyi kurar

Çalışma idempotenttir ve host'u şu durumda bırakır:

Host'taNedir
Docker Engine + Compose eklentisiDocker'ın resmi deposundan kurulur (zaten varsa orbtrace_install_docker: false ile atlayın)
/opt/orbtrace/Dağıtım bundle'ı; yığın onun compose/ alt-dizininden çalışır
.envVault'lanmış değişkenlerinizden render edilir — asla versiyona alınmaz
orbtrace.service (systemd)docker compose up -d çalıştıran ve yığını açılışta başlatan bir birim
Kernel sysctl'lerivm.max_map_count, swap kapalı — host'ta ayarlanan Doris ön-koşulları

Değişken referansı

Bunları group_vars/all.yml'de (vault-şifreli) ayarlayın. Ön-kontrol, placeholder sırlarla çalışmayı reddeder.

DeğişkenZorunlu mu?Nedir
orbtrace_ghcr_username / orbtrace_ghcr_tokenevet (online)Nivorbit registry pull kimlik bilgileriniz
orbtrace_postgres_passwordevetPakete dahil veritabanı için Postgres parolası
orbtrace_doris_passwordboş bırakınPakete dahil Doris root'u parolasızdır — bir değer ilk açılışı bozar
orbtrace_bootstrap_admin_usernameönerilirAdmin'iniz olacak e-posta (bkz. Kimlik doğrulama)
orbtrace_license_keyopsiyonel.orblic token; boş = ücretsiz COMMUNITY sürümü (Lisanslama)
orbtrace_secret_kekönerilirAdmin panelinden saklanan AI-sağlayıcı anahtarlarını beklemede şifreler
orbtrace_airgappedoffline içintrue, imajları çekmek yerine bundle'ın tar'larından yükler (Air-gapped kurulum)

Pakete dahil group_vars/all.example.yml her değişkeni satır içinde belgeler.

Day-2 operasyonları

Her şey host'ta normal bir systemd servisi ve Compose projesi olarak çalışır:

sudo systemctl status orbtrace        # ayakta mı?
sudo systemctl restart orbtrace       # tüm yığını yeniden başlat
sudo journalctl -u orbtrace -f        # canlı loglar (compose çıktısı)
cd /opt/orbtrace/compose
sudo docker compose ps                # container-başına görünüm

Yükseltme: yeni bundle'ı kontrol makinenizde açın, group_vars/all.yml'de orbtrace_version'ı yükseltin ve ansible-playbook site.yml'i yeniden çalıştırın. Playbook yığını değiştirir ve servisi yeniden başlatır; uygulama bir sonraki açılışta yeni Doris şema migration'larını uygular. Önce yedek alın (aşağıda).

Tek bir host için üretim notları

  • Verinizin yaşadığı yer. Postgres ve Doris bu host'ta Docker adlandırılmış volume'larına (/var/lib/docker/volumes altında) yazar. Tek kopya budur — bu host arıza alanıdır, dolayısıyla onu makine dışına yedekleyin.
  • Her yükseltmeden önce yedek alın. Gecelik bir docker exec orbtrace-postgres pg_dump … ve uzak/nesne depolamaya bir Doris BACKUP SNAPSHOT zamanlayın (ayrıntılar kurulum-sonrası kontrol listesinde). Migration'lar yalnızca ileri yönlüdür, dolayısıyla bir yedek sizin geri-alma yönteminizdir.
  • TLS + firewall. Uygulamanın önüne pakete dahil Caddy'i (orbtrace_compose_profiles: [edge], 80/443 yayınlar) ya da kendi ters proxy'nizi koyun; kullanıcılara yalnızca 8080'i (ya da 443'ü) açın ve Doris'in 8030/9030'unu loopback'te tutun.
  • HA'ya mı ya da tek host'un ötesine ölçeklenmeye mi ihtiyacınız var? Bu yol yapamaz — tek host arıza alanıdır. Kubernetes (Helm) yoluna geçin.

Telemetrinizi bağlayın — bir OTel Collector kurun ya da doris exporter'ını mevcut OTel pipeline'ınıza ekleyin (Entegrasyon desenleri) — sonra kurulum-sonrası kontrol listesi ile bitirin.