Toplama işlerinizi teşhis etme

Aşağıdaki tablolarda, olası nedenleri ve dağıtımınızı azaltmak için uygulayabileceğiniz işlemlerle birlikte çok sayıda sorun ve hata durumu kodu ayrıntılı olarak açıklanmıştır. Toplama Hizmeti'nin hata özelliklerini ve azaltma hakkında daha fazla bilgi edinmek için herkese açık mevcut kılavuzumuza göz atın.

Rehber konuları:

İzinler ve Yetkilendirme Hataları

Sorun Herkese açık bulut projenizde terraform plan veya terraform apply'i çalıştırırken izin sorunları.
Örnek Hata Error: UnauthorizedOperation: You are not authorized to perform this operation.
Çözünürlük

Kullandığınız herkese açık bulutun cli'sinde (komut satırı arayüzü) kimliğinizin doğru şekilde doğrulandığını kontrol edin.

Amazon Web Services

AWS, Toplama Hizmeti için gerekli örnekleri ve diğer hizmetleri oluşturabilmek amacıyla kullanıcı izinlerinin kullanılmasını gerektirir. Bunu uyguladıktan sonra terraform planını gerçekleştirip herhangi bir sorun yaşamadan uygulayabilirsiniz.

Google Cloud Platform

Google Cloud'da, Terraform'un ikinci yarısını dağıtmak için bir hizmet hesabının kimliğine bürünmeniz gerektiğini unutmayın. Dağıtım hizmet hesabı, kaynak oluşturmak için gerekli tüm izinlere sahip olduğundan bu adımı atladıysanız terraform apply komutunuz başarısız olabilir. GitHub dokümanlarındaki "Dağıtım ortamınızı ayarlama" bölümündeki 4. adıma bakın.

Gizli Erişim Limiti Hataları

Hata PRIVACY_BUDGET_ERROR
Neden Bu durum, hizmetin gizlilik bütçesi hizmetindeki bir hata nedeniyle raporları işleyemediğini gösterir.
Kontrol Et Hatanın aralıklı olup olmadığını görmek için işi yeniden denedikten sonra teknik destek formu aracılığıyla bize ulaşın.
Hata PRIVACY_BUDGET_AUTHORIZATION_ERROR
Neden İlk katılım sırasında sağlanan raporlama kaynağından farklı bir kaynak kullanıyor olabilirsiniz.
Kontrol Et

createJob isteğinin attribution_report_to alanında gönderdiğiniz sitenin, ilk katılım sırasında gönderilen siteyle aynı olduğundan emin olun.

Site, ilk katılım yapılan siteyle eşleşmeli veya bu sitenin alt alan adlarından biri olmalıdır. Toplama Hizmeti'ne ilk katılımın üst düzey alanda yapıldığını ve üst düzey alan eklendikten sonra tüm alt alanların Toplama Hizmeti'ni kullanmaya uygun olduğunu unutmayın.

Hata PRIVACY_BUDGET_AUTHENTICATION_ERROR
Neden Eski veya yanlış bir ARN kullanıyor olabilirsiniz.
Kontrol Et Google Cloud Platform

Toplama Hizmeti dağıtımınızda kullanılan hizmet hesabının, ilk katılım sırasında sağlanan hizmet hesabıyla eşleştiğinden emin olun. Yalnızca aynı projeye ait olmakla kalmayıp tam olarak eşleşmelidir.

Amazon Web Services

E-posta üzerinden size sağlanan koordinatörleri kullanmanız beklenir. Sorun yaşamaya devam ederseniz auto.tfvars dosyanızı ve raporlama kaynağı bilgilerinizi toplayın ve teknik destek formunu kullanarak bizimle iletişime geçin.

Hata PRIVACY_BUDGET_EXHAUSTED
Neden Hata:
            "result_info": {
              "return_code": "PRIVACY_BUDGET_EXHAUSTED",
              "return_message": "com.google.aggregate.adtech.worker.exceptions.AggregationJobProcessException:
              Insufficient privacy budget for one or more aggregatable reports. No aggregatable report can appear
              in more than one aggregation job. Information related to reports that do not have budget can be
              found in the following file:
              File path: //
              Filename: privacy budget exhausted debugging information  \n
              com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.consumePrivacyBudgetUnits(ConcurrentAggregationProcessor.java:525) \n com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.process(ConcurrentAggregationProcessor.java:319) \n com.google.aggregate.adtech.worker.WorkerPullWorkService.run(WorkerPullWorkService.java:157)",
              "error_summary": {
                  "error_counts": [],
                  "error_messages": []
              },
              "finished_at": 
            }
          

Gizlilik bütçesinin tükenmesi sorunu, paylaşılan kimliği daha önce başarılı bir toplu işleme dahil edilmiş bir raporu toplu işleme eklemeye çalıştığınızda ortaya çıkar. Bu hata, birleştirilebilir raporların yalnızca tek bir grupta görünmesine izin verilen ve yalnızca bir özet rapora katkıda bulunabilen "Yinelenen öğe yok" kuralı nedeniyle ortaya çıkar.

Her rapora, shared_info alanları API'si, reporting_origin, destination_site, source_registration_time (güne göre kısaltılmış), scheduled_report_time (saate göre kısaltılmış) ve version'den oluşan bir "ortak kimlik" atanır. Bu, shared_info alanının aynı özelliklerini paylaşan birden fazla raporun aynı "paylaşılan kimliğe" ait olabileceği anlamına gelir.

Kontrol Et

Hatayı inceleyip çözmek için iş yanıtından sağlanan Gizlilikle İlgili Bütçe Tükenmiş Destek seçeneğini denemenizi öneririz. Bu işlem, hataya hangi raporların katkıda bulunduğunu görmenizi sağlayacak yeni bir yardımcı JSON dosyası sağlar.

Doğru şekilde gruplandırma yapıyorsanız bütçe kurtarma için uygun olabileceğinizi unutmayın (açıklayıcı). Açıklamayı okumalarını ve formu doldurmalarını önerin. Ancak bütçenin başarıyla kurtarılması ve işin yeniden çalıştırılması için isteklerinin onaylanmasının gerektiğini unutmayın.

Hata DEBUG_SUCCESS_WITH_PRIVACY_BUDGET_EXHAUSTED
Neden Bu, işi hata ayıklama modunda çalıştırdığınızı gösterir. createJob isteğinde job_parameters, debug_run: true içerir. debug_run işareti etkinleştirildiğinde, hata ayıklama amacıyla raporu birden çok kez çalıştırabilirsiniz. Bu hata mesajı, hata ayıklama modunda çalıştırılmamış olsaydı raporun gizlilik bütçesinin tükenmesi nedeniyle işin başarısız olacağını size bildirir. Bu hata yalnızca 2.10.0 veya önceki sürümlerde geçerli olacaktır.
Kontrol Et createJob istek metni, job_parameters içinde debug_run içerir.
            {
              "job_request_id": "{job_request_id}",
              "input_data_blob_prefix": "{input_prefix}",
              "input_data_bucket_name": "{input_bucket}",
              "output_data_blob_prefix": "{output_prefix}",
              "output_data_bucket_name": "{output_bucket}",
              "job_parameters": {
                "output_domain_blob_prefix": "{output_domain_prefix}",
                "output_domain_bucket_name": "{output_domain_bucket}",
                "attribution_report_to": "{reporting_origin}",
                "debug_run": "true"
              }
            }
          

İş Çalışma Zamanı Hataları

Hata INVALID_JOB
Uç nokta createJob
Neden Bu durum, sağlanan hata ayıklama gizlilik epsilonu sınırların (0,64] dışında olduğunda veya iş parametreleri doğrulama işlemini geçemediğinde ortaya çıkabilir.
Kontrol Et Hangi epsilon değeri kullanıldı? createJob isteğinde hangi iş parametreleri kullanıldı ve bu parametreler ortamınızla eşleşiyor mu? Doğru şekilde biçimlendirilmiş mi? Gerekli düzeltmeleri yapın ve işi tekrar deneyin.
Hata INTERNAL_ERROR
Uç nokta getJob
Neden Çıkış alanının veya raporların işlenmesinin başarısız olmasına neden olan bir biçimlendirme sorunu olabilir. Aggregation Service dağıtımınızla ilgili bir sorun da olabilir.
Kontrol Et Çıkış alanı konumunun geçerli bir yol olduğundan emin olun. İşi tekrar deneyin. Hata devam ederse Toplama Hizmeti dağıtımının sorunlarını gidermek için auto.tfvars dosyasını ve Terraform plan çıkışını isteyin.
Hata RESULT_WRITE_ERROR
Uç nokta getJob
Neden Bu durum, çıkış dizinine yazma işlemi geçici olarak veya dizinde yazma izni olmadığı için başarısız olduğunda ortaya çıkabilir. Yazma hatalarının gizlilik bütçesini tükettiğini ve işin yeniden denenemediğini unutmayın. Bu, PRIVACY_BUDGET_EXHAUSTED hatasının başka bir sonucuna yol açabilir.
Kontrol Et Bu hata her işte mi yoksa yalnızca ara sıra mı ortaya çıkıyor? Bu durum her işte gerçekleşiyorsa çıkış dizininde yazma izinlerini etkinleştirdiğinizden emin olun. Bu durum aralıklı olarak yaşanıyorsa izinler doğrudur. Özet raporların yazılmasının başarısız olabileceği ancak gizlilik bütçesinin yine de harcanacağı bilinen bir sorundur. Bu durumda bütçenin geri alınmasını isteyebilirsiniz (açıklayıcı).
Sorun Bir iş çalıştırırken ve doğrulama hizmeti jetonu alırken 403 hataları ile karşılaşılıyor ve iş her zaman "RECEIVED" (ALINAN) durumuyla geri dönüyor.
Hata
            {
                "job_status": "RECEIVED",
                "request_received_at": "{utc timestamp}",
                "request_updated_at": "{utc timestamp}",
                "job_request_id": "0001",
                "input_data_blob_prefix": "reports/",
                "input_data_bucket_name": "{bucket_name}",
                "output_data_blob_prefix": "summary/",
                "output_data_bucket_name": "{bucket_name}",
                "postback_url": "",
                "job_parameters": {
                    "output_domain_bucket_name": "{bucket_name}",
                    "output_domain_blob_prefix": "output_domain/",
                    "attribution_report_to": 
                }
            }
          
Çözünürlük

İşlerin RECEIVED durumunda takılması ve 403 hatası genellikle hizmet hesabı henüz ilk katılım işlemini tamamlamamışsa ortaya çıkar. Kullandığınız hizmet hesabının, ilk katılım isteğinizde belirttiğiniz hesapla eşleştiğini doğrulayın. İlk katılım isteğini tamamlamadıysanız lütfen ilk katılım formunu ve kayıt formlarını doldurun.

Kayıt ve ilk katılım durumunuzu doğruladıktan sonra, çalışan işinize ne olduğunu kontrol edin.

Amazon Web Services

Bu durumda, AWS enklavı çalışmıyor veya kilitlenmiş olabilir. Bu nedenle işler alınmıyordur.

  1. EC2 örneği Session Manager'a bağlanın.
  2. Session Manager'a bağlanmayla ilgili aşağıdaki adımları içeren bu AWS dokümanlarını uygulayın.
  3. AWS Console Manager > EC2 > Instances'a (AWS Console Yöneticisi > EC2 > Örnekler) gidin.
  4. Çalışan Toplama Hizmeti'nin örnek kimliğini seçin.
  5. "Oturum Yöneticisi" sekmesini > "Bağlan" düğmesini seçin. Bu işlem sizi örneğinize bağlar.
  6. Enclave örneği çalıştıktan sonra terminalde şunları çalıştırın:
    sudo nitro-cli describe-enclaves
    Bu komut günlükleri beklendiği gibi göstermiyorsa tekrar denemeden önce şunları çalıştırın:
    sudo nitro-cli run-enclave --cpu-count=2 --memory=7000 --eif-path=/opt/google/worker/enclave.eif
  7. AWS enklavının kilitlenip kilitlenmediğini kontrol etmek için şu komutu çalıştırın: sudo journalctl -u aggregate-worker.service
  8. Aşağıdaki gibi çıkış günlüklerinin doldurulduğunu görürsünüz:
    Starting aggregate-worker.service - Watcher script for nitro enclave.
    Hata varsa vb. burada görünür.
Google Cloud Platform

Yönetilen örnek grubu (MIG) sağlıklı olmayabilir. Bu ilk kurulumsa veya adtech_setup Terraform'u silip yeniden oluşturduysanız hizmet hesabınızın kullanıma sunulduğunu onaylayın. Hizmet hesabı ilk katılım işlemini tamamlamazsa MIG'ler sağlıklı olmaz.

  1. Cloud Console'da Compute Engine > Instance groups'a (Örnek grupları) gidin.
  2. Durum sütunlarınızı kontrol edin (yeşil onay işaretleri sağlıklıdır)
  3. Sorun hakkında daha fazla bilgi edinmek için örnek gruplarından birini tıklayın ve Hatalar sekmesine bakın. Sanal makine düzeyindeki bilgilere erişmek için örnek adını tıklayın.
  4. Terminal'inizi kullanarak da örnek grubuyla etkileşime geçebilir ve aynı bilgileri alabilirsiniz. list-errors komutunu deneyin:
    gcloud compute instance-groups managed list-errors --region=
    Aşağıda örnek bir çıkış verilmiştir.
                      INSTANCE_URL: https://www.googleapis.com/compute/v1/projects/aggservice-sandbox/zones/us-central1-c/instances/collector-operator-demo-env-67hd
                      ACTION: VERIFYING
                      ERROR_CODE: WAITING_FOR_HEALTHY_TIMEOUT_EXCEEDED
                      ERROR_MESSAGE: Waiting for HEALTHY state timed out (autohealingPolicy.initialDelay=200 sec) for instance projects/aggservice-sandbox/zones/us-central1-c/instances/collector-operator-demo-env-67hd and health check projects/aggservice-sandbox/global/healthChecks/operator-demo-env-collector-auto-heal-hc.
                      TIMESTAMP: 
                      INSTANCE_TEMPLATE: https://www.googleapis.com/compute/v1/projects/aggservice-sandbox/global/instanceTemplates/operator-demo-env-collector
                      VERSION_NAME: primary
                    
Sorun görmeye devam ederseniz bu sayfayı kaydedip ekibimize iletin. Sonraki adımlara geçin.

Özet raporunuz beklendiği gibi dönüşüm gerçekleştiriyor mu?

getJob çağrınızın başarılı olduğu ancak Toplama Hizmeti tarafından döndürülen özet raporda bir sorun olduğu durumlarla karşılaşabilirsiniz. Özet rapor AVRO biçimindedir ve JSON biçimine dönüştürülmesi gerekir. JSON biçimine dönüştürüldüğünde aşağıdaki gibi görünür.

{
  "bucket": "\u0005Y",
  "metric": 26308
}

AVRO dönüşümünde sorun varsa AVRO araçlarını kullanmayı deneyin ve AVRO raporunda aşağıdaki komutu kullanın. java -jar avro-tools-1.11.1.jar tojson [report_name].avro > [report_name].json Kararlı sürümleri buradan indirebilirsiniz. Daha fazla yardıma ihtiyacınız olursa sonraki adımlarımıza geçin.

Sonraki Adımlar

Privacy Sandbox Durum Kontrol Paneli'nde veya herkese açık GitHub deposunda başka birinin aynı sorunla karşılaşıp karşılaşmadığını kontrol edin.

Toplama Hizmeti sorununuzun çözümünü göremiyorsanız GitHub sorunu göndererek veya teknik destek formunu göndererek bizi bilgilendirin.