सामग्री पर जाएं
क्लाउड खाता कनेक्ट करें

क्लाउड खाता कनेक्ट करें

Markdown के रूप में देखें

डैशबोर्ड से कोई AWS खाता, Azure सब्सक्रिप्शन या Google Cloud प्रोजेक्ट कनेक्ट करें, और Status200 उसके संसाधनों की सूची बनाता है और तय समय पर उनके मुख्य मेट्रिक्स पढ़ता है। आप अपने क्लाउड के ब्राउज़र टर्मिनल में एक कमांड चलाते हैं और जो वह प्रिंट करे उसे पेस्ट करते हैं: न कोई कलेक्टर चलाना है, न कुछ इंस्टॉल करना है।

यह कैसे काम करता है

flowchart TB cmd["क्लाउड के टर्मिनल में<br/>एक कमांड"] --> access["केवल पढ़ने की पहुँच"] access --> ou["Status200 हर कुछ<br/>मिनट में पढ़ता है"] ou --> res["क्लाउड संसाधन"] ou --> met["मेट्रिक्स"]

आपके क्लाउड से क्लाउड संसाधनों तक

  • पहुँच केवल पढ़ सकती है। कमांड ऐसी पहुँच बनाती है जो मेट्रिक्स पढ़ती है और कुछ नहीं: AWS पर तीन पढ़ने की क्रियाएँ, Azure पर Monitoring Reader भूमिका और Google Cloud पर Monitoring Viewer भूमिका। Status200 की पहुँच रोकने के लिए इसे हटा दें।
  • Status200 तय समय पर पढ़ता है। Azure और Google Cloud के लिए हर 5 मिनट में और AWS के लिए हर 10 मिनट में, जब तक आप कनेक्ट करते समय कोई और अंतराल न चुनें।
  • हर संसाधन का अपना पेज होता है। संसाधन क्लाउड → सभी संसाधन में अपने मुख्य मेट्रिक्स, स्वामियों और लेबल के साथ दिखते हैं, ठीक वैसे ही जैसे किसी कलेक्टर से रिपोर्ट किए गए संसाधन।

शुरू करने से पहले

  • प्रोजेक्ट का स्वामी या एडमिन। केवल वही क्लाउड खाते कनेक्ट, टेस्ट और संपादित कर सकते हैं।
  • आपके क्लाउड का टर्मिनल (AWS CloudShell, Azure Cloud Shell या Google Cloud Shell), जिसमें ऐसा कोई व्यक्ति साइन इन हो जो IAM भूमिका या उपयोगकर्ता, ऐप पंजीकरण या सेवा खाता बना सकता हो।

Amazon Web Services

  1. AWS फ़ॉर्म खोलें

    क्लाउड → कनेक्ट करें पर जाएँ और Amazon Web Services चुनें।

  2. AWS CloudShell में कमांड चलाएँ

    चुनें कि Status200 कैसे साइन इन करे। IAM भूमिका अनुशंसित तरीका है: कुछ भी गोपनीय संग्रहीत नहीं होता, और आप भूमिका को कभी भी हटा सकते हैं। फ़ॉर्म आपके प्रोजेक्ट के लिए लिखी कमांड दिखाता है: यह ऐसी भूमिका बनाती है जो आपके प्रोजेक्ट की बाहरी ID के साथ Status200 के AWS खाते पर भरोसा करती है, और भूमिका का ARN प्रिंट करती है। जब भूमिका संभव न हो, तो एक्सेस कुंजी का उपयोग करें। यह कमांड समान अनुमतियों वाला उपयोगकर्ता बनाती है और उसकी कुंजी प्रिंट करती है:

    Bash
    aws iam create-user --user-name OneUptimeReadOnly > /dev/null 2>&1 || true
    aws iam put-user-policy --user-name OneUptimeReadOnly --policy-name OneUptimeReadOnly --policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":["cloudwatch:GetMetricData","cloudwatch:ListMetrics","tag:GetResources"],"Resource":"*"}]}'
    aws iam create-access-key --user-name OneUptimeReadOnly
  3. AWS कमांड ने जो प्रिंट किया उसे पेस्ट करें

    कमांड ने जो कुछ प्रिंट किया, वह सब कमांड ने क्या प्रिंट किया में पेस्ट करें। Status200 उसमें से भूमिका का ARN, या एक्सेस कुंजी ID और उसका सीक्रेट निकाल लेता है।

  4. AWS का परीक्षण करें और कनेक्ट करें

    यह चरण खुलते ही Status200 कनेक्शन का परीक्षण करता है: साइन इन करता है, मिले संसाधनों को गिनता है और बताता है कि उन्हें पढ़ने की लागत क्या है। सहेजने के लिए कनेक्ट करें चुनें।

यह भूमिका और उपयोगकर्ता तीन काम कर सकते हैं, और कुछ नहीं:

क्रियाStatus200 इसका उपयोग किसलिए करता है
cloudwatch:ListMetricsहर क्षेत्र में मेट्रिक्स रिपोर्ट करने वाले संसाधन ढूँढना
cloudwatch:GetMetricDataउनके मुख्य मेट्रिक्स पढ़ना
tag:GetResourcesहर संसाधन को उसके Name टैग से नाम देना
नोट

सेल्फ़-होस्टेड Status200 पर, IAM भूमिका वाले तरीके के लिए Status200 की अपनी AWS पहचान चाहिए: CLOUD_CONNECT_AWS_ACCESS_KEY_ID और CLOUD_CONNECT_AWS_SECRET_ACCESS_KEY को ऐसे IAM उपयोगकर्ता की कुंजी पर सेट करें जो sts:AssumeRole कॉल कर सके। इनके बिना, फ़ॉर्म एक्सेस कुंजी देता है।

Microsoft Azure

  1. Azure फ़ॉर्म खोलें

    क्लाउड → कनेक्ट करें पर जाएँ और Microsoft Azure चुनें।

  2. Azure Cloud Shell में कमांड चलाएँ

    यह कमांड आपके मौजूदा सब्सक्रिप्शन पर Monitoring Reader भूमिका वाला ऐप बनाती है, और उसका विवरण प्रिंट करती है:

    Bash
    az ad sp create-for-rbac --name OneUptimeReadOnly --role "Monitoring Reader" --scopes "/subscriptions/$(az account show --query id --output tsv)"
  3. Azure कमांड ने जो प्रिंट किया उसे पेस्ट करें

    कमांड ने जो कुछ प्रिंट किया, वह सब कमांड ने क्या प्रिंट किया में पेस्ट करें। Status200 उसमें से tenant, appId और password निकाल लेता है।

  4. Azure का परीक्षण करें और कनेक्ट करें

    यह चरण खुलते ही Status200 कनेक्शन का परीक्षण करता है। सहेजने के लिए कनेक्ट करें चुनें।

उसी ऐप से और सब्सक्रिप्शन पढ़ने के लिए, हर सब्सक्रिप्शन पर उसे भूमिका दें:

Bash
az role assignment create --assignee <APP_ID> --role "Monitoring Reader" --scope /subscriptions/<SUBSCRIPTION_ID>

Status200 वे सभी सब्सक्रिप्शन पढ़ता है जिन्हें ऐप पढ़ सकता है, जब तक आप सब्सक्रिप्शन में कुछ सूचीबद्ध न करें।

Google Cloud

  1. Google Cloud फ़ॉर्म खोलें

    क्लाउड → कनेक्ट करें पर जाएँ और Google Cloud चुनें।

  2. Google Cloud Shell में कमांड चलाएँ

    इसे उस प्रोजेक्ट में चलाएँ जिसकी निगरानी करनी है। यह Cloud Monitoring API चालू करती है, Monitoring Viewer भूमिका वाला सेवा खाता बनाती है, और उसकी कुंजी प्रिंट करती है:

    Bash
    PROJECT_ID=$(gcloud config get-value project)
    gcloud services enable monitoring.googleapis.com
    gcloud iam service-accounts create oneuptime-read-only --display-name "Status200 (read only)"
    gcloud projects add-iam-policy-binding "$PROJECT_ID" --member "serviceAccount:oneuptime-read-only@$PROJECT_ID.iam.gserviceaccount.com" --role roles/monitoring.viewer --condition=None > /dev/null
    gcloud iam service-accounts keys create oneuptime-key.json --iam-account "oneuptime-read-only@$PROJECT_ID.iam.gserviceaccount.com"
    cat oneuptime-key.json && rm oneuptime-key.json
  3. कुंजी पेस्ट करें

    कमांड ने जो कुछ प्रिंट किया, वह सब पेस्ट करें। Status200 कुंजी का अपना प्रोजेक्ट पढ़ता है, और कुंजी को एन्क्रिप्ट करके संग्रहीत करता है।

  4. Google Cloud का परीक्षण करें और कनेक्ट करें

    यह चरण खुलते ही Status200 कनेक्शन का परीक्षण करता है। सहेजने के लिए कनेक्ट करें चुनें।

उसी सेवा खाते से और प्रोजेक्ट पढ़ने के लिए, हर प्रोजेक्ट में उसे भूमिका दें और उन्हें परियोजनाएँ में सूचीबद्ध करें:

Bash
gcloud projects add-iam-policy-binding <PROJECT_ID> --member "serviceAccount:oneuptime-read-only@<KEY_PROJECT_ID>.iam.gserviceaccount.com" --role roles/monitoring.viewer

Status200 क्या पढ़ता है

AWSAzureGoogle Cloud
संसाधनवे जो आपके इस्तेमाल किए हर क्षेत्र में CloudWatch को मेट्रिक्स रिपोर्ट करते हैंसब्सक्रिप्शन का हर संसाधनवे जो Cloud Monitoring को मेट्रिक्स रिपोर्ट करते हैं
मेट्रिक्सहर सेवा के मुख्य मेट्रिक्स, जैसे किसी इंस्टेंस का CPU, नेटवर्क और स्थिति जाँचहर संसाधन के लिए अधिकतम 8 मुख्य मेट्रिक्सहर संसाधन प्रकार के मुख्य मेट्रिक्स
हर इतने समय में पढ़ा जाता है10 मिनट5 मिनट5 मिनट
हटाया गया संसाधन7 दिन तक मेट्रिक्स न आने पर संग्रहीतअगली रीडिंग पर संग्रहीत7 दिन तक मेट्रिक्स न आने पर संग्रहीत

हर रीडिंग वहीं से शुरू होती है जहाँ पिछली रुकी थी, इसलिए हर डेटा पॉइंट एक ही बार लिखा जाता है। नए कनेक्शन की पहली रीडिंग एक मिनट के भीतर शुरू होती है और एक घंटा पीछे तक जाती है; किसी विराम के बाद, एक रीडिंग अधिकतम 6 घंटे पीछे तक जाती है।

Status200 की कॉल का बिल आपके क्लाउड खाते में, आपके क्लाउड की कीमतों पर आता है। परीक्षण मिली चीज़ों की लागत का अनुमान लगाता है, और कम बार पढ़ने से लागत कम होती है: और फ़ील्ड में मेट्रिक्स पढ़ने का अंतराल बदलें।

क्लाउडकीमत
AWSCloudWatch GetMetricData: हर 1,000 मेट्रिक्स पर $0.01, और किसी संसाधन का हर मुख्य मेट्रिक हर रीडिंग में एक मेट्रिक गिना जाता है
Azureहर सब्सक्रिप्शन के लिए हर महीने पहली 1,000,000 मेट्रिक रीडिंग मुफ़्त हैं, फिर हर 1,000 पर $0.01
Google Cloudहर महीने पढ़ी गई पहली 1,000,000 टाइम सीरीज़ मुफ़्त हैं, फिर हर दस लाख पर $0.50

समस्या निवारण

परीक्षण बताता है कि कुंजी या सीक्रेट स्वीकार नहीं हुआ

कमांड ने जो कुछ प्रिंट किया, वह सब कॉपी करें और फिर से पेस्ट करें। एक मिनट पहले बनी कुंजी को काम करने में एक मिनट लग सकता है।

परीक्षण साइन इन करता है, पर पढ़ नहीं पाता

कमांड फिर से चलाएँ: यह Status200 को ज़रूरी भूमिका देती है। AWS पर, वही कमांड चलाएँ जो फ़ॉर्म इस प्रोजेक्ट के लिए दिखाता है: किसी दूसरे प्रोजेक्ट के लिए बनी भूमिका उस प्रोजेक्ट की बाहरी ID पर भरोसा करती है, इस प्रोजेक्ट की नहीं।

Google Cloud कमांड को कुंजी बनाने नहीं देता

एक संगठन नीति, iam.disableServiceAccountKeyCreation, सेवा खाता कुंजियों पर रोक लगा सकती है। अपने संगठन के एडमिन से प्रोजेक्ट के लिए छूट माँगें, या अपने खुद के कलेक्टर से मेट्रिक्स भेजें।

कोई संसाधन नहीं दिखता

AWS और Google Cloud पर, कोई संसाधन मेट्रिक्स रिपोर्ट करते ही दिखता है। अगर कोई कनेक्शन काम नहीं कर रहा, तो क्लाउड → कनेक्ट करें में View error बताता है कि उसकी पिछली रीडिंग क्यों विफल हुई।

अगले कदम