খরচ নিয়ন্ত্রণ, খরচ নিয়ন্ত্রণ

সতর্কতা কনফিগার করুন

আপনার আর্থ ইঞ্জিন রিসোর্স ব্যবহার এবং খরচ নিয়ন্ত্রণ করার জন্য, আপনি ক্লাউড মনিটরিং-এ সতর্কতা কনফিগার করতে পারেন যখন কোনো মেট্রিক একটি নির্দিষ্ট থ্রেশহোল্ডে আঘাত করে আপনাকে সতর্ক করতে।

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

রেসিপি: workload_tag ব্যবহারের জন্য চ্যাট বিজ্ঞপ্তি

এই উদাহরণটি দেখায় কিভাবে একটি চ্যাট বিজ্ঞপ্তি (যেমন, একটি Google চ্যাট বার্তা বা একটি স্ল্যাক বার্তা) সংযুক্ত করতে হয় যদি একটি প্রদত্ত workload_tag জন্য আর্থ ইঞ্জিনের গণনা ব্যবহার একটি থ্রেশহোল্ড অতিক্রম করে। এটি এমন ক্ষেত্রে কার্যকর হতে পারে যে আপনার কাছে রপ্তানি কাজের একটি সেট রয়েছে যা আপনার উত্পাদন পরিষেবার জন্য ডেটা তৈরি করে এবং যদি তারা সম্মিলিতভাবে নির্দিষ্ট পরিমাণ EECU-সময়ের বেশি ব্যবহার করে তবে আপনি বিজ্ঞপ্তি পেতে চান।

  1. ক্লাউড কনসোলের ক্লাউড মনিটরিং বিভাগে সতর্কতা পৃষ্ঠাটি দেখুন।
  2. একটি নতুন সতর্কতা নীতি কনফিগার করতে "নীতি তৈরি করুন" চয়ন করুন৷
  3. মেট্রিক নির্বাচন করুন:
    • ইন-প্রোগ্রেস EECU-সেকেন্ড মুলতুবি (এখনও সফল হয়নি) গণনা সেকেন্ডের সংখ্যা উপস্থাপন করে।
    • মেট্রিক দেখতে আপনাকে "সক্রিয়" ফিল্টারটি অনির্বাচন করতে হতে পারে৷
  4. একটি ফিল্টার যোগ করুন:
    • একটি নির্দিষ্ট কাজের চাপ ট্যাগ ফিল্টার করতে workload_tag == your_workload_tag_value ব্যবহার করুন।
    • একটি নির্দিষ্ট ধরনের গণনায় ফিল্টার করতে compute_type = batch বা compute_type = online ব্যবহার করুন।
  5. একটি উপযুক্ত "রোলিং উইন্ডো" মান চয়ন করুন। আপনি যদি নিশ্চিত না হন, 5 min ব্যবহার করুন।
  6. "রোলিং উইন্ডো ফাংশন" মেনু থেকে "সমষ্টি" নির্বাচন করুন। ক এর কনফিগারেশন একটি সতর্কতার জন্য মেট্রিক
  7. সতর্কতা ট্রিগার চয়ন করুন এবং এটি একটি নাম দিন।
  8. বিজ্ঞপ্তি চ্যানেল নির্বাচন করুন.
    • এই রেসিপিটির জন্য, আমরা মডেল উইন্ডো থেকে "নোটিফিকেশন চ্যানেলগুলি পরিচালনা করুন" নির্বাচন করব, তারপরে আপনার Google চ্যাটের স্পেস আইডিতে পেস্ট করতে "নতুন যোগ করুন" নির্বাচন করব৷ চ্যাট দেখার সময় এই আইডিটি Gmail বা চ্যাট পেজের URL-এ পাওয়া যাবে।
    • Google Chat ব্যবহার করলে, আপনাকে @Google Cloud Monitoring টাইপ করতে হবে এবং আপনার স্পেসে সতর্ককারী অ্যাপ যোগ করতে অ্যাপটি নির্বাচন করতে হবে (যদি আপনার সংস্থা অনুমতি দেয়)।
  9. প্রাসঙ্গিক নীতি এবং তীব্রতা লেবেল চয়ন করুন.
  10. একটি ছোট ডকুমেন্টেশন স্নিপেট লিখুন.
  11. আপনার নতুন সতর্কতা নীতি প্রকাশ করুন!

একবার সেট হয়ে গেলে, আপনার প্রকল্পের জন্য থ্রেশহোল্ড অতিক্রম করার সময় আপনি আপনার চ্যাট স্পেসে সতর্কতা পাবেন।

রেসিপি: মোট ইন-প্রোগ্রেস EECU-সময়ের জন্য ইমেল সতর্কতা পান

চ্যাট বিজ্ঞপ্তির জন্য রেসিপি অনুসরণ করুন, কিন্তু দুটি পরিবর্তন করুন:

  1. একটি workload_tag ​​ফিল্টার যোগ করার পদক্ষেপটি এড়িয়ে যান, যাতে আপনি সমস্ত মান দেখতে পারেন।
  2. একটি বিজ্ঞপ্তি চ্যানেল নির্বাচন করার সময়, একটি চ্যাট চ্যানেল কনফিগার করার পরিবর্তে, পরিবর্তে আপনার ইমেল ঠিকানা যোগ করুন৷

সতর্কতা বিলম্ব এবং সময়

মনে রাখবেন যে মনিটরিং রিপোর্টের প্রচারে একটি ছোট বিলম্ব আছে, তাই আপনার তাত্ক্ষণিক বিজ্ঞপ্তি আশা করা উচিত নয়।

সম্পদ-ভারী কাজ বাতিল করুন

একটি সীমা দেওয়া, মুলতুবি থাকা টাস্কগুলির তালিকা পর্যায়ক্রমে চেক করতে এবং EECU-সেকেন্ডের সীমা ছাড়িয়ে যে কোনও চলমান টাস্ক বাতিল করার অনুরোধ করতে আর্থ ইঞ্জিন API ব্যবহার করা সম্ভব।

রেসিপি: একটি নোটবুক বা স্থানীয় পাইথন শেলে কোডের একটি স্নিপেট চালান

eecu_seconds_limit = 50 * 60 * 60  # 50 hours
print("Watching for operations to cancel...")
while(True):
  for op in ee.data.listOperations():
    if op['metadata']['state'] == 'RUNNING':
      if op['metadata'].get('batchEecuUsageSeconds', 0) > eecu_seconds_limit:
        print(f"Cancelling operation {op['name']}")
        ee.data.cancelOperation(op['name'])
  time.sleep(10)  # 10 seconds
,

সতর্কতা কনফিগার করুন

আপনার আর্থ ইঞ্জিন রিসোর্স ব্যবহার এবং খরচ নিয়ন্ত্রণ করার জন্য, আপনি ক্লাউড মনিটরিং-এ সতর্কতা কনফিগার করতে পারেন যখন কোনো মেট্রিক একটি নির্দিষ্ট থ্রেশহোল্ডে আঘাত করে আপনাকে সতর্ক করতে।

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

রেসিপি: workload_tag ব্যবহারের জন্য চ্যাট বিজ্ঞপ্তি

এই উদাহরণটি দেখায় কিভাবে একটি চ্যাট বিজ্ঞপ্তি (যেমন, একটি Google চ্যাট বার্তা বা একটি স্ল্যাক বার্তা) সংযুক্ত করতে হয় যদি একটি প্রদত্ত workload_tag জন্য আর্থ ইঞ্জিনের গণনা ব্যবহার একটি থ্রেশহোল্ড অতিক্রম করে। এটি এমন ক্ষেত্রে কার্যকর হতে পারে যে আপনার কাছে রপ্তানি কাজের একটি সেট রয়েছে যা আপনার উত্পাদন পরিষেবার জন্য ডেটা তৈরি করে এবং যদি তারা সম্মিলিতভাবে নির্দিষ্ট পরিমাণ EECU-সময়ের বেশি ব্যবহার করে তবে আপনি বিজ্ঞপ্তি পেতে চান।

  1. ক্লাউড কনসোলের ক্লাউড মনিটরিং বিভাগে সতর্কতা পৃষ্ঠাটি দেখুন।
  2. একটি নতুন সতর্কতা নীতি কনফিগার করতে "নীতি তৈরি করুন" চয়ন করুন৷
  3. মেট্রিক নির্বাচন করুন:
    • ইন-প্রোগ্রেস EECU-সেকেন্ড মুলতুবি (এখনও সফল হয়নি) গণনা সেকেন্ডের সংখ্যা উপস্থাপন করে।
    • মেট্রিক দেখতে আপনাকে "সক্রিয়" ফিল্টারটি অনির্বাচন করতে হতে পারে৷
  4. একটি ফিল্টার যোগ করুন:
    • একটি নির্দিষ্ট কাজের চাপ ট্যাগ ফিল্টার করতে workload_tag == your_workload_tag_value ব্যবহার করুন।
    • একটি নির্দিষ্ট ধরনের গণনায় ফিল্টার করতে compute_type = batch বা compute_type = online ব্যবহার করুন।
  5. একটি উপযুক্ত "রোলিং উইন্ডো" মান চয়ন করুন। আপনি যদি নিশ্চিত না হন, 5 min ব্যবহার করুন।
  6. "রোলিং উইন্ডো ফাংশন" মেনু থেকে "সমষ্টি" নির্বাচন করুন। ক এর কনফিগারেশন একটি সতর্কতার জন্য মেট্রিক
  7. সতর্কতা ট্রিগার চয়ন করুন এবং এটি একটি নাম দিন।
  8. বিজ্ঞপ্তি চ্যানেল নির্বাচন করুন.
    • এই রেসিপিটির জন্য, আমরা মডেল উইন্ডো থেকে "নোটিফিকেশন চ্যানেলগুলি পরিচালনা করুন" নির্বাচন করব, তারপরে আপনার Google চ্যাটের স্পেস আইডিতে পেস্ট করতে "নতুন যোগ করুন" নির্বাচন করব৷ চ্যাট দেখার সময় এই আইডিটি Gmail বা চ্যাট পেজের URL-এ পাওয়া যাবে।
    • Google Chat ব্যবহার করলে, আপনাকে @Google Cloud Monitoring টাইপ করতে হবে এবং আপনার স্পেসে সতর্ককারী অ্যাপ যোগ করতে অ্যাপটি নির্বাচন করতে হবে (যদি আপনার সংস্থা অনুমতি দেয়)।
  9. প্রাসঙ্গিক নীতি এবং তীব্রতা লেবেল চয়ন করুন.
  10. একটি ছোট ডকুমেন্টেশন স্নিপেট লিখুন.
  11. আপনার নতুন সতর্কতা নীতি প্রকাশ করুন!

একবার সেট হয়ে গেলে, আপনার প্রকল্পের জন্য থ্রেশহোল্ড অতিক্রম করার সময় আপনি আপনার চ্যাট স্পেসে সতর্কতা পাবেন।

রেসিপি: মোট ইন-প্রোগ্রেস EECU-সময়ের জন্য ইমেল সতর্কতা পান

চ্যাট বিজ্ঞপ্তির জন্য রেসিপি অনুসরণ করুন, কিন্তু দুটি পরিবর্তন করুন:

  1. একটি workload_tag ​​ফিল্টার যোগ করার পদক্ষেপটি এড়িয়ে যান, যাতে আপনি সমস্ত মান দেখতে পারেন।
  2. একটি বিজ্ঞপ্তি চ্যানেল নির্বাচন করার সময়, একটি চ্যাট চ্যানেল কনফিগার করার পরিবর্তে, পরিবর্তে আপনার ইমেল ঠিকানা যোগ করুন৷

সতর্কতা বিলম্ব এবং সময়

মনে রাখবেন যে মনিটরিং রিপোর্টের প্রচারে একটি ছোট বিলম্ব আছে, তাই আপনার তাত্ক্ষণিক বিজ্ঞপ্তি আশা করা উচিত নয়।

সম্পদ-ভারী কাজ বাতিল করুন

একটি সীমা দেওয়া, মুলতুবি থাকা টাস্কগুলির তালিকা পর্যায়ক্রমে চেক করতে এবং EECU-সেকেন্ডের সীমা ছাড়িয়ে যে কোনও চলমান টাস্ক বাতিল করার অনুরোধ করতে আর্থ ইঞ্জিন API ব্যবহার করা সম্ভব।

রেসিপি: একটি নোটবুক বা স্থানীয় পাইথন শেলে কোডের একটি স্নিপেট চালান

eecu_seconds_limit = 50 * 60 * 60  # 50 hours
print("Watching for operations to cancel...")
while(True):
  for op in ee.data.listOperations():
    if op['metadata']['state'] == 'RUNNING':
      if op['metadata'].get('batchEecuUsageSeconds', 0) > eecu_seconds_limit:
        print(f"Cancelling operation {op['name']}")
        ee.data.cancelOperation(op['name'])
  time.sleep(10)  # 10 seconds