Toplama işlerinizi teşhis etme

Aşağıdaki tablolarda, olası nedenleri ve dağıtımınızı azaltmak için yapabileceğiniz işlemlerle birlikte çok sayıda sorun ve hata durumu kodu ayrıntılı olarak açıklanmaktadır. Toplama Hizmeti'nin hata spesifikasyonları ve azaltma ile ilgili tüm bilgileri incelemek isterseniz mevcut herkese açık kılavuzumuza göz atın.

Rehberdeki konular:

İzin ve Yetkilendirme Hataları

Sorun Herkese açık bulut projenizde terraform plan veya terraform apply komutunu ç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 genel bulutun CLI'sinde (komut satırı arayüzü) doğru şekilde kimliğinizin doğrulandığından emin olun.

Amazon Web Services

AWS, Toplama Hizmeti için gereken örnekleri ve diğer hizmetleri oluşturabilmek için kullanıcı izinleri gerektirir. Bu işlemi uyguladıktan sonra terraform plan ve apply işlemlerini sorunsuz bir şekilde gerçekleştirebilirsiniz.

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. Bu adımı atladıysanız kaynak oluşturmak için gerekli tüm izinlere dağıtım hizmet hesabı sahip olduğundan 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, gizlilik bütçesi hizmetinde bir hata nedeniyle hizmetin raporları işleyemediğini gösterir.
Kontrol Et Hatayı gidermek için işi yeniden denedikten sonra teknik destek formu aracılığıyla bize ulaşın.
Hata PRIVACY_BUDGET_AUTHORIZATION_ERROR
Neden Onboarding sırasında sağladıklarından farklı bir raporlama kaynağı kullanıyor olabilirsiniz.
Kontrol Et

createJob isteğinin attribution_report_to alanında gönderdiğiniz sitenin, oryantasyon sırasında gönderilen siteyle aynı olduğunu doğrulayın.

Site, eklenen öğeyle eşleşmeli veya bu öğenin alt alan adı olmalıdır. Toplama hizmetine katılımın üst düzey alan adında yapıldığını ve üst düzey alan adı hizmete katıldıktan sonra tüm alt alan adlarının Toplama Hizmeti'ni kullanabileceğini unutmayın.

Hata PRIVACY_BUDGET_AUTHENTICATION_ERROR
Neden Eski veya yanlış 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. Bu değer, aynı projeye ait olmakla kalmayıp tam olarak eşleşmelidir.

Amazon Web Services

E-posta yoluyla size sağlanan koordinatörleri kullanmanız beklenir. Sorun yaşamaya devam ediyorsanız auto.tfvars dosyanızı ve raporlama kaynağı bilgilerinizi toplayıp teknik destek formu üzerinden 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çesi tükenmesi sorunu, paylaşılan kimliği daha önce başarılı bir toplu işlemde yer almış bir raporu toplu işleme almaya çalıştığınızda ortaya çıkar. Bu hata, "Yinelenen yok" kuralı nedeniyle oluşur. Bu kuralda, toplanabilir raporların yalnızca tek bir toplu işlemde görünmesine ve yalnızca bir özet rapora katkıda bulunmasına izin verilir.

Her rapora, shared_info alanları API, 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'dan oluşan bir "paylaşılan kimlik" atanır. Bu durumda, shared_info alanının aynı özelliklerini paylaşıyorlarsa birden fazla rapor aynı "paylaşılan kimliğe" ait olabilir.

Kontrol Et

Hatayı incelemek ve çözmek için iş yanıtından sağlanan Gizlilik bütçesi tükendi desteğini denemenizi öneririz. Bu, hataya hangi raporların katkıda bulunduğunu görünür hale getirecek yeni bir yardımcı JSON dosyası sağlar.

Doğru şekilde toplu işlem yapıyorsanız bütçe telafisi için uygun olabileceğinizi unutmayın (açıklama). Açıklayıcı metni okuyup formu doldurmalarını önerin ancak bütçenin başarıyla kurtarılması ve işin tekrar çalıştırılması için isteklerinin onaylanması gerektiğini belirtin.

Hata DEBUG_SUCCESS_WITH_PRIVACY_BUDGET_EXHAUSTED
Neden Bu, işi hata ayıklama modunda çalıştırdığınızı gösterir. createJob isteğindeki job_parameters, debug_run: true değerini içeriyor. debug_run işareti etkinleştirildiğinde, hata ayıklama amacıyla raporu birden fazla kez çalıştırabilirsiniz. Bu hata mesajı, hata ayıklama modunda çalıştırılmamış olması durumunda raporun gizlilik bütçesinin tükenmesi nedeniyle işin başarısız olacağını bildirir. Bu hata yalnızca v2.10.0 veya önceki sürümlerde geçerli olacaktır.
Kontrol Et createJob istek metni, job_parameters içinde debug_run değerini 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 gizliliği epsilon'u sınırların (0.64] dışında olduğunda veya iş parametreleri doğrulanamadığında ortaya çıkabilir.
Kontrol Et Hangi epsilon değeri kullanıldı? createJob isteğinde hangi iş parametreleri kullanıldı ve bunlar ortamınızla eşleşiyor mu? Doğru şekilde biçimlendirilmişler mi? Gerekli düzeltmeleri yapın ve işi tekrar deneyin.
Hata INTERNAL_ERROR
Uç nokta getJob
Neden Çıkış alanı 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ğunu doğrulayın. İşi yeniden deneyin. Hata devam ederse, Toplama Hizmeti dağıtımlarında sorun gidermek için auto.tfvars dosyasını ve Terraform plan çıktısı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 denenemeyeceğini unutmayın. Bu durum, PRIVACY_BUDGET_EXHAUSTED hatasıyla ilgili başka bir hata sonucuna yol açabilir.
Kontrol Et Bu hata her işte mi yoksa yalnızca aralıklı olarak mı oluşuyor? Bu durum her işte meydana geliyorsa çıkış dizininde yazma izinlerini etkinleştirdiğinizi doğrulayın. Bu aralıklı bir hataysa izinler doğru olmalıdır. Özet rapor yazma işleminin başarısız olabileceği ancak gizlilik bütçesinin yine de kullanılacağı bilinen bir sorundur. Bu durumda bütçe telafisi isteğinde bulunabilirsiniz (açıklama).
Sorun Bir iş çalıştırılırken ve onay hizmeti jetonu alınırken 403 hatalarıyla karşılaşılıyor ve iş her zaman "ALINDI" 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ının yaygın olarak görülmesi, hizmet hesabının henüz kullanıma alınmamış olmasından kaynaklanır. Kullandığınız hizmet hesabının, ilk katılım isteğinizde sağladığınız bilgilerle eşleştiğini doğrulayın. İlk katılım isteğinde bulunmadı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şinizin durumunu kontrol edin.

Amazon Web Services

Bu durumda, AWS güvenli alanı çalışmıyor veya çökmüş olabilir ve bu nedenle işler alınmıyor olabilir.

  1. EC2 örneği Session Manager'a bağlanın.
  2. Oturum Yöneticisi'ne bağlanmayla ilgili aşağıdaki adımları içeren bu AWS dokümanını inceleyin.
  3. AWS Console Manager > EC2 > Instances'a (Örnekler) gidin.
  4. Çalışan toplama hizmetinin örnek kimliğini seçin.
  5. "Oturum Yöneticisi" sekmesi > "Bağlan" düğmesini seçin. Bu işlem sizi örneğinize bağlar.
  6. Enclave örneği çalıştıktan sonra terminalde şunu yürütün:
    sudo nitro-cli describe-enclaves
    Bu komut günlükleri beklendiği gibi göstermiyorsa tekrar denemeden önce aşağıdakileri yürütün:
    sudo nitro-cli run-enclave --cpu-count=2 --memory=7000 --eif-path=/opt/google/worker/enclave.eif
  7. AWS güvenli alanının kilitlenip kilitlenmediğini kontrol etmek için şu komutu çalıştırın: sudo journalctl -u aggregate-worker.service
  8. Aşağıdakiler gibi çıkış günlüklerinin doldurulduğunu görmeniz gerekir:
    Starting aggregate-worker.service - Watcher script for nitro enclave.
    Başarısızlıklar vb. varsa hatalar 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 yok edip yeniden oluşturduysanız hizmet hesabınızın kullanıma hazır olduğunu doğrulayın. Hizmet hesabı dahil edilmezse 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ı olduğunu gösterir).
  3. Örnek gruplarından birini tıklayın ve sorun hakkında daha fazla bilgi edinmek için Hatalar sekmesine bakın. Sanal makine düzeyindeki bilgilere erişmek için örnek adını tıklayın.
  4. Ayrıca, örnek grubuyla etkileşim kurmak ve aynı bilgileri almak için terminalinizi de kullanabilirsiniz. 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 yaşamaya devam ederseniz bu dosyayı kaydedip ekibimize gönderin. Sonraki adımlara geçin.

Özet raporunuz beklendiği gibi dönüşüm sağlıyor mu?

getJob çağrınız başarılı olsa da Toplama Hizmeti tarafından döndürülen özet raporda bir sorun olabilir. Özet raporu 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üştürme işleminde sorun varsa AVRO araçlarını kullanmayı ve AVRO raporunda aşağıdaki komutu çalıştırmayı deneyin. 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 varsa sonraki adımlarımıza geçin.

Sonraki Adımlar

Özel Korumalı Alan Durum Kontrol Paneli'nde veya Herkese açık GitHub deposunda aynı sorunla karşılaşan başka kullanıcılar olup olmadığını kontrol edin.

Toplama hizmeti sorununuzun çözüldüğünü görmüyorsanız GitHub'da sorun bildirerek veya teknik destek formunu göndererek bize bildirin.