আপনার একত্রীকরণ কাজ নির্ণয়

নিম্নলিখিত সারণীতে অসংখ্য সমস্যা এবং ত্রুটির স্থিতি কোডের বিশদ বিবরণ দেওয়া হয়েছে, যার সম্ভাব্য কারণ এবং আপনার স্থাপনা প্রশমিত করার জন্য আপনি কী পদক্ষেপ নিতে পারেন। আপনি যদি অ্যাগ্রিগেশন সার্ভিসের সম্পূর্ণ ত্রুটির স্পেসিফিকেশন এবং প্রশমন পরীক্ষা করতে চান, তাহলে আমাদের বর্তমান পাবলিক নির্দেশিকাটি দেখুন।

গাইডের বিষয়গুলি:

অনুমতি এবং অনুমোদনের ত্রুটি

সমস্যা যখন আপনি terraform plan কার্যকর করেন অথবা আপনার পাবলিক ক্লাউড প্রকল্পে terraform apply তখন অনুমতি সংক্রান্ত সমস্যা দেখা দেয়।
উদাহরণ ত্রুটি Error: UnauthorizedOperation: You are not authorized to perform this operation.
রেজোলিউশন

আপনি যে পাবলিক ক্লাউড ব্যবহার করছেন তার ক্লি (কমান্ড-লাইন ইন্টারফেস) তে সঠিকভাবে প্রমাণীকরণ করেছেন কিনা তা পরীক্ষা করুন।

অ্যামাজন ওয়েব সার্ভিসেস

Aggregation Service-এর জন্য প্রয়োজনীয় ইনস্ট্যান্স এবং অন্যান্য পরিষেবা তৈরি করতে AWS-এর ব্যবহারকারীর অনুমতি প্রয়োজন। এটি প্রয়োগ করার পরে, আপনি কোনও সমস্যা ছাড়াই টেরাফর্ম প্ল্যান সম্পাদন করতে এবং আবেদন করতে সক্ষম হবেন।

গুগল ক্লাউড প্ল্যাটফর্ম

গুগল ক্লাউডে, মনে রাখবেন যে টেরাফর্মের দ্বিতীয়ার্ধ স্থাপন করার জন্য আপনাকে একটি পরিষেবা অ্যাকাউন্টের ছদ্মবেশ ধারণ করতে হবে। ডিপ্লয়মেন্ট পরিষেবা অ্যাকাউন্টে রিসোর্স তৈরির জন্য প্রয়োজনীয় সমস্ত অনুমতি থাকায় আপনি যদি এই ধাপটি এড়িয়ে যান তবে আপনার টেরাফর্ম প্রয়োগ কমান্ডটি ব্যর্থ হতে পারে। GitHub ডকুমেন্টেশনে "আপনার স্থাপনার পরিবেশ সেট আপ করুন" বিভাগে ধাপ 4 দেখুন।

গোপনীয়তা বাজেট ত্রুটি

ত্রুটি PRIVACY_BUDGET_ERROR
কারণ এর অর্থ হল গোপনীয়তা বাজেট পরিষেবার ত্রুটির কারণে পরিষেবাটি প্রতিবেদনগুলি প্রক্রিয়া করতে অক্ষম ছিল।
চেক করুন ত্রুটিটি মাঝেমধ্যে হয়েছে কিনা তা দেখার জন্য আবার চেষ্টা করার পর, প্রযুক্তিগত সহায়তা ফর্মের মাধ্যমে আমাদের সাথে যোগাযোগ করুন।
ত্রুটি PRIVACY_BUDGET_AUTHORIZATION_ERROR
কারণ আপনি হয়তো অনবোর্ডিংয়ের সময় তারা যা দিয়েছিল তার চেয়ে ভিন্ন রিপোর্টিং অরিজিন ব্যবহার করছেন।
চেক করুন

createJob অনুরোধের attribution_report_to ক্ষেত্রে আপনি যে সাইটটি জমা দিচ্ছেন তা যাচাই করুন যে এটি অনবোর্ডিংয়ের সময় জমা দেওয়া একই সাইট।

সাইটটি অনবোর্ড করা তথ্যের সাথে মিলিত হওয়া উচিত অথবা সাবডোমেন হওয়া উচিত। মনে রাখবেন যে অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং শীর্ষ স্তরের ডোমেনে পরিচালিত হয় এবং শীর্ষ স্তরের ডোমেনটি অনবোর্ড করা হয়ে গেলে সমস্ত সাবডোমেন অ্যাগ্রিগেশন সার্ভিস ব্যবহারের জন্য যোগ্য।

ত্রুটি PRIVACY_BUDGET_AUTHENTICATION_ERROR
কারণ আপনি হয়তো পুরনো বা ভুল ARN ব্যবহার করছেন।
চেক করুন গুগল ক্লাউড প্ল্যাটফর্ম

আপনার অ্যাগ্রিগেশন সার্ভিস ডিপ্লয়মেন্টে ব্যবহৃত পরিষেবা অ্যাকাউন্টটি অনবোর্ডিংয়ের সময় প্রদত্ত পরিষেবা অ্যাকাউন্টের সাথে মিলে যাচ্ছে কিনা তা পরীক্ষা করে দেখুন। এটি অবশ্যই হুবহু মিলে যেতে হবে, কেবল একই প্রকল্পের সাথে সম্পর্কিত নয়।

অ্যামাজন ওয়েব সার্ভিসেস

আশা করা হচ্ছে যে আপনি ইমেলের মাধ্যমে যে সমন্বয়কারী সরবরাহ করেছিলেন সেই একই সমন্বয়কারী ব্যবহার করছেন। যদি আপনার এখনও সমস্যা হয়, তাহলে আপনার auto.tfvars ফাইল এবং রিপোর্টিং অরিজিন তথ্য সংগ্রহ করুন এবং প্রযুক্তিগত সহায়তা ফর্মে আমাদের সাথে যোগাযোগ করুন।

ত্রুটি PRIVACY_BUDGET_EXHAUSTED
কারণ ত্রুটি:
            "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": 
            }
          

গোপনীয়তা বাজেটের অবসানের সমস্যা তখন ঘটে যখন আপনি এমন একটি প্রতিবেদন ব্যাচ করার চেষ্টা করেন যার শেয়ার করা আইডি ইতিমধ্যেই একটি সফল ব্যাচে অন্তর্ভুক্ত করা হয়েছে। এই ত্রুটিটি "কোনও সদৃশ নয়" নিয়মের কারণে ঘটে যেখানে সমষ্টিগত প্রতিবেদনগুলি শুধুমাত্র একটি একক ব্যাচে প্রদর্শিত হতে পারে এবং শুধুমাত্র একটি সারাংশ প্রতিবেদনে অবদান রাখতে পারে।

প্রতিটি রিপোর্টকে একটি "শেয়ার্ড আইডি" দেওয়া হবে যার মধ্যে থাকবে shared_info ফিল্ড API, reporting_origin , destination_site , source_registration_time (দিন অনুযায়ী ছোট করা), scheduled_report_time (ঘন্টা অনুযায়ী ছোট করা) এবং version । এর অর্থ হল একাধিক রিপোর্ট একই "শেয়ার্ড আইডি" এর অন্তর্গত হতে পারে যদি তারা shared_info ফিল্ডের একই বৈশিষ্ট্যগুলি ভাগ করে।

চেক করুন

আপনার ত্রুটি পরীক্ষা এবং সমাধানের জন্য আমরা আপনাকে জব রেসপন্স থেকে প্রদত্ত Privacy Budget Exhausted সহায়তা ব্যবহার করে দেখার পরামর্শ দিচ্ছি। এটি একটি নতুন সহায়ক JSON ফাইল সরবরাহ করে যা ত্রুটির জন্য কী কী প্রতিবেদন অবদান রেখেছে তা দৃশ্যমানতা প্রদান করবে।

মনে রাখবেন যে আপনি যদি সঠিকভাবে ব্যাচিং করেন, তাহলে আপনি বাজেট পুনরুদ্ধারের জন্য যোগ্য হতে পারেন ( explainer )। তাদের ব্যাখ্যাকারীটি পড়ে ফর্মটি পূরণ করার পরামর্শ দিন, তবে মনে রাখবেন যে বাজেট সফলভাবে পুনরুদ্ধার করতে এবং আবার কাজটি চালানোর জন্য তাদের অনুরোধ অনুমোদিত হতে হবে।

ত্রুটি DEBUG_SUCCESS_WITH_PRIVACY_BUDGET_EXHAUSTED
কারণ এর অর্থ হল আপনি ডিবাগ মোডে কাজটি চালাচ্ছেন। createJob অনুরোধের job_parametersdebug_run: true রয়েছে। যখন debug_run ফ্ল্যাগটি সক্রিয় থাকে, তখন আপনি ডিবাগিংয়ের উদ্দেশ্যে রিপোর্টটি একাধিকবার চালাতে পারেন। এই ত্রুটি বার্তাটি আপনাকে জানায় যে রিপোর্টটি ডিবাগ মোডে না চালানো হলে এর গোপনীয়তা বাজেট শেষ হয়ে যাওয়ার কারণে কাজটি ব্যর্থ হত। এই ত্রুটিটি শুধুমাত্র v2.10.0 বা তার আগের সংস্করণগুলিতে বৈধ হবে।
চেক করুন createJob অনুরোধের বডিতে job_parametersdebug_run থাকবে।
            {
              "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"
              }
            }
          

চাকরির রানটাইম ত্রুটি

ত্রুটি INVALID_JOB
শেষবিন্দু createJob
কারণ এটি তখন ঘটতে পারে যখন প্রদত্ত ডিবাগ গোপনীয়তা অ্যাপসিলন সীমার (0.64]) মধ্যে না থাকে, অথবা যখন কাজের প্যারামিটারগুলি যাচাইকরণে ব্যর্থ হয়।
চেক করুন কোন এপসিলন মান ব্যবহার করা হয়েছিল? createJob অনুরোধে কোন কাজের প্যারামিটার ব্যবহার করা হয়েছিল, এবং সেগুলি কি আপনার পরিবেশের সাথে মেলে? সেগুলি কি সঠিকভাবে ফর্ম্যাট করা হয়েছে? প্রয়োজনীয় সংশোধনগুলি করুন এবং কাজটি পুনরায় চেষ্টা করুন।
ত্রুটি INTERNAL_ERROR
শেষবিন্দু getJob
কারণ এটি ফর্ম্যাটিং সংক্রান্ত সমস্যা হতে পারে যার ফলে আউটপুট ডোমেন বা রিপোর্টের প্রক্রিয়াকরণ ব্যর্থ হতে পারে। আপনার অ্যাগ্রিগেশন সার্ভিস ডিপ্লয়মেন্টের ক্ষেত্রেও এটি একটি সমস্যা হতে পারে।
চেক করুন আউটপুট ডোমেনের অবস্থানটি একটি বৈধ পথ কিনা তা যাচাই করুন। আবার চেষ্টা করুন। যদি ত্রুটি থেকে যায়, তাহলে তাদের সমষ্টি পরিষেবা স্থাপনার সমস্যা সমাধানের জন্য auto.tfvars ফাইল এবং Terraform প্ল্যান আউটপুট অনুরোধ করুন।
ত্রুটি RESULT_WRITE_ERROR
শেষবিন্দু getJob
কারণ এটি তখন ঘটতে পারে যখন আউটপুট ডিরেক্টরিতে লেখা ব্যর্থ হয়, হয় ক্ষণস্থায়ীভাবে অথবা ডিরেক্টরিতে লেখার অনুমতির অভাবে। মনে রাখবেন যে লেখার ত্রুটিগুলি গোপনীয়তার বাজেট নষ্ট করে এবং কাজটি পুনরায় চেষ্টা করা যায় না। এটি PRIVACY_BUDGET_EXHAUSTED ত্রুটির আরেকটি ত্রুটির ফলাফলে অবদান রাখতে পারে।
চেক করুন এই ত্রুটি কি প্রতিটি কাজে ঘটছে, নাকি শুধুমাত্র মাঝেমধ্যে? যদি এটি প্রতিটি কাজে ঘটছে, তাহলে যাচাই করুন যে আপনি আউটপুট ডিরেক্টরিতে লেখার অনুমতি সক্রিয় করেছেন। যদি এটি মাঝেমধ্যে ব্যর্থ হয়, তাহলে অনুমতিগুলি সঠিক হওয়া উচিত। এটি একটি পরিচিত সমস্যা যে সারাংশ প্রতিবেদন লেখা ব্যর্থ হতে পারে কিন্তু গোপনীয়তা বাজেট এখনও ব্যয় করা হবে। এই ক্ষেত্রে, আপনি বাজেট পুনরুদ্ধারের জন্য অনুরোধ করতে পারেন ( explainer )।
সমস্যা কোনও কাজ চালানোর সময় এবং একটি প্রত্যয়ন পরিষেবা টোকেন পুনরুদ্ধার করার সময় 403 ত্রুটির সম্মুখীন হলে এবং কাজটি সর্বদা "প্রাপ্ত" স্ট্যাটাস সহ ফিরে আসে।
ত্রুটি
            {
                "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": 
                }
            }
          
রেজোলিউশন

চাকরিগুলি RECEIVED স্ট্যাটাসে আটকে থাকে এবং 403 ত্রুটি সাধারণত তখন ঘটে যখন পরিষেবা অ্যাকাউন্টটি এখনও অনবোর্ড করা হয়নি। যাচাই করুন যে আপনি যে পরিষেবা অ্যাকাউন্টটি ব্যবহার করছেন তা আপনার অনবোর্ডিং অনুরোধে প্রদত্ত তথ্যের সাথে মেলে। যদি আপনি এখনও অনবোর্ডিং অনুরোধ পূরণ না করে থাকেন, তাহলে অনুগ্রহ করে অনবোর্ডিং ফর্ম এবং তালিকাভুক্তি ফর্মগুলি পূরণ করুন।

আপনার তালিকাভুক্তি এবং অনবোর্ডিং অবস্থা যাচাই করার পরে, আপনার চলমান কাজের কী হয়েছে তা পরীক্ষা করে দেখুন।

অ্যামাজন ওয়েব সার্ভিসেস

যখন এটি ঘটে, তখন সম্ভবত AWS এনক্লেভটি চালু নাও থাকতে পারে অথবা ক্র্যাশ হয়ে গেছে এবং এর ফলে কাজগুলি তোলা হচ্ছে না।

  1. EC2 ইনস্ট্যান্স সেশন ম্যানেজারের সাথে সংযোগ করুন।
  2. এই AWS ডকুমেন্টেশনটি অনুসরণ করুন, যার মধ্যে সেশন ম্যানেজারের সাথে সংযোগ স্থাপনের জন্য নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত রয়েছে।
  3. AWS কনসোল ম্যানেজার > EC2 > ইনস্ট্যান্সে যান।
  4. চলমান সমষ্টি পরিষেবার ইনস্ট্যান্স আইডি নির্বাচন করুন।
  5. "সেশন ম্যানেজার" ট্যাব > "কানেক্ট" বোতামটি নির্বাচন করুন। এটি আপনাকে আপনার ইনস্ট্যান্সের সাথে সংযুক্ত করবে।
  6. একবার এনক্লেভ ইনস্ট্যান্স চালু হয়ে গেলে, টার্মিনালে এক্সিকিউট করুন:
    sudo nitro-cli describe-enclaves
    যদি এই কমান্ডটি প্রত্যাশা অনুযায়ী লগ না দেখায়, তাহলে আবার চেষ্টা করার আগে নিম্নলিখিতগুলি কার্যকর করুন:
    sudo nitro-cli run-enclave --cpu-count=2 --memory=7000 --eif-path=/opt/google/worker/enclave.eif
  7. AWS এনক্লেভ ক্র্যাশ হয়েছে কিনা তা পরীক্ষা করতে, কমান্ডটি চালান: sudo journalctl -u aggregate-worker.service
  8. আপনি আউটপুট লগ ফাইলিং দেখতে পাবেন যেমন:
    Starting aggregate-worker.service - Watcher script for nitro enclave.
    যদি কোনও ব্যর্থতা থাকে, ইত্যাদি, তাহলে ত্রুটিগুলি এখানে দৃশ্যমান হওয়া উচিত।
গুগল ক্লাউড প্ল্যাটফর্ম

পরিচালিত ইনস্ট্যান্স গ্রুপ (MIG) সুস্থ নাও হতে পারে। যদি এটি প্রথমবারের মতো সেটআপ হয়, অথবা আপনি adtech_setup Terraform ধ্বংস করে পুনরায় তৈরি করেন, তাহলে নিশ্চিত করুন যে আপনার পরিষেবা অ্যাকাউন্টটি অনবোর্ড করা আছে। যদি পরিষেবা অ্যাকাউন্টটি অনবোর্ড করা না থাকে, তাহলে MIG গুলি সুস্থ থাকবে না।

  1. ক্লাউড কনসোল, কম্পিউট ইঞ্জিন > ইনস্ট্যান্স গ্রুপে নেভিগেট করুন
  2. আপনার স্ট্যাটাস কলামগুলি দেখুন (সবুজ টিক চিহ্নগুলি স্বাস্থ্যকর)
  3. ইনস্ট্যান্স গ্রুপগুলির একটিতে ক্লিক করুন এবং সমস্যাটি সম্পর্কে আরও জানতে ত্রুটি ট্যাবটি দেখুন। VM-স্তরের তথ্য অ্যাক্সেস করতে ইনস্ট্যান্স নামে ক্লিক করুন।
  4. আপনি আপনার টার্মিনাল ব্যবহার করে ইন্সট্যান্স গ্রুপের সাথে ইন্টারঅ্যাক্ট করতে পারেন এবং একই তথ্য পেতে পারেন। list-errors কমান্ডটি ব্যবহার করে দেখুন:
    gcloud compute instance-groups managed list-errors --region=
    নিম্নলিখিতটি একটি উদাহরণ আউটপুট।
                      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
                    
যদি আপনি এখনও সমস্যা দেখতে পান, তাহলে এটি সংরক্ষণ করুন এবং আমাদের টিমকে জানান। পরবর্তী ধাপগুলিতে এগিয়ে যান।

আপনার সারাংশ রিপোর্ট কি প্রত্যাশা অনুযায়ী রূপান্তরিত হচ্ছে?

এমন পরিস্থিতির সৃষ্টি হতে পারে যেখানে আপনার getJob কল সফল হয়েছে, কিন্তু Aggregation Service দ্বারা ফেরত পাঠানো সারাংশ রিপোর্টে একটি সমস্যা রয়েছে। সারাংশ রিপোর্টটি AVRO ফর্ম্যাটেড এবং এটিকে JSON ফর্ম্যাটে রূপান্তর করতে হবে। একবার JSON ফর্ম্যাটে রূপান্তরিত হলে, এটি নীচের মতো দেখাবে।

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

যদি AVRO রূপান্তরে কোনও সমস্যা হয়, তাহলে AVRO টুল ব্যবহার করার চেষ্টা করুন এবং AVRO রিপোর্টে নিম্নলিখিত কমান্ডটি ব্যবহার করুন। java -jar avro-tools-1.11.1.jar tojson [report_name].avro > [report_name].json স্থিতিশীল সংস্করণগুলি এখান থেকে ডাউনলোড করা যেতে পারে। যদি আপনার আরও সহায়তার প্রয়োজন হয়, তাহলে আমাদের পরবর্তী পদক্ষেপগুলিতে এগিয়ে যান।

পরবর্তী পদক্ষেপ

প্রাইভেসি স্যান্ডবক্স স্ট্যাটাস ড্যাশবোর্ডে অথবা পাবলিক গিটহাব রিপোজিটরিতে অন্য কেউ একই সমস্যার সম্মুখীন হয়েছেন কিনা তা পরীক্ষা করুন।

যদি আপনার একত্রীকরণ পরিষেবার সমস্যার সমাধান না পান, তাহলে GitHub সমস্যাটি দাখিল করে অথবা প্রযুক্তিগত সহায়তা ফর্ম জমা দিয়ে আমাদের জানান।