مراقبة خدمات الانترنت في أمازون (AWS)

يقوم AWS Agent بتجميع البيانات من AWS APIs ، مثل CloudWatch و S3و X-راى ، حيث لا يمكن تركيب agent Agent أو أي نوع آخر من agent بالنسبة له.

Platforms

خدمات Monitored

ملاحظة : بسبب طبيعة AWS CloudsWatch API ، يكون من الممكن حدوث تأخير في استرجاع المقاييس المترية. كما أن القيم التي يتم عرضها للمقاييس المترية مؤجلة أيضا لضمان الاتساق. يعتمد هذا التأخير على خدمة AWS الفعلية ومدى اتاحة البيانات ثم عادة ما يكون حوالي 10 دقائق.

تركيب

ملاحظة : تغطي هذه المطبوعات الفنية تركيب AWS Agent ، والذي يسمح لك بتجميع البيانات من CloudWatch ومصادر البيانات الأخرى لمراقبة الخدمات التي يتم ادارتها بواسطة أمازون.

اذا كنت ترغب في مراقبة ماكينة أمازون Elastic Computing (EC2) الظاهرية ، وهي مجموعة Kubernetes التي تعمل على AWS ، التي تم تركيبها وادارتها بواسطتك أو باستخدام أمازون Eالأمازون Kubernetes Service، أو مجموعة حاويات أمازون Esastic Container ، ارجع الى وثائق تركيب Insna Host Agent الفنية.

ملاحظة : قم بتركيب AWS Agent واحد فقط لكل مجموعة من حساب AWS ومنطقة WS. تركيب العديد من AWS Agents لنفس المجموعة من حساب AWS ومنطقة AWS يمكن أن يتحمل تكاليف اضافية من AWS ، بدون فائدة مضافة من حيث جودة المراقبة من خلال استخدام Inreasing.

تركيب على EC2

من الأفضل تشغيل مجس Intana AWS على جهاز الهدف العام للجيل الحالي الذي يقوم بتشغيل Linux®. على سبيل المثال ،m5.large. الحالات مثالية

  1. قم ببدء الاتصال الى Incasانه واضغط / يتبع / > وكلاء > تركيب Intana Agent > أفك.

  2. من كشف التكنولوجيا ، حدد وحدة استشعار ASRI.

  3. من كشف تشغيل AWS Agent على ، حدد Cloud Compute Compute (EC2) (انه المفترض)

    مفتاح ومكان agent الخاص بك يتم نشره مسبقا في البرنامج النصي الذي سيتم استخدامهUser Dataعلى EC2. البرنامج النصي يبدو كما يلي ، فيما عدا أنه يتم اتاحة كل المعلومات الضرورية :

    #!/bin/bash
    
    curl -o setup_agent.sh https://setup.instana.io/agent
    chmod 700 ./setup_agent.sh
    sudo ./setup_agent.sh -y -a <your-agent-key> -m aws -t dynamic -e <location> -s
    
  4. قم بالتجسس على آلة EC2 ظاهرية واستخدام البرنامج النصي باسمUser Data. للحصول على مزيد من المعلومات عن كيفية المستخدمUser Dataعلى EC2، أنظر المطبوعات الفنية الى تشغيل أوامر على نسخة Linux الخاصة بك عند بدء التشغيل .

  5. قم بنسخ الملف configuration.json لدور IAM. يعد هذا هو دور IAM المطلوب لآلة EC2 الظاهرية التي تقوم بتشغيل وحدة استشعار Intaria AWS وتمكن Agent Intasient Agent من اكتشاف ومراقبة مصادر AWS الخاصة بك.

  6. بالنسبة لوظيفة IAM للقيام بذلكAssumedRoleتصرف ، تحريرTrust Relationshipعلى سبيل المثال

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "ec2.amazonaws.com"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    في حالة أن نسخة EC2 الخاصة بك هي في واحدة من مناطق الصين ،Trust Relationship: تبدو وكأنها

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "ec2.amazonaws.com.cn"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    ارجع الى تفاصيل لمراقبة منطقة الصين للحصول على التوصيف الاضافي المطلوب.

تركيب على فرقاطة على ECS

  1. قم ببدء الاتصال الى Incasانه واضغط مزيد-> Agents-> تركيب agent agent-> AWS.

  2. من كشف التكنولوجيا ، حدد وحدة استشعار ASRI.

  3. من كشف تشغيل AWS Agent على ، حدد Castic Container Service (ECS)

    يتم تكوين JSON الخاص بتعريف المهمة مسبقا لك في قالب تعريف المهمة JSON. يمكنك استخدامها مع وظائف توصيف باستخدام JSON لواجهة تعامل مستخدم تعريف المهمة.

  4. قم بتخصيصه لتعريف المهمة الجديدة الذي يحتوي على دور IAM الذي يحتوي على الأقل على التصاريح التي يتم عرضها تحت وثيقة تصاريح IAM JSON.

  5. قم بتكوين خدمة ECS بنسخة واحدة من تعريف المهمة الذي تم تكوينه حديثا.

توصيف

تركيب خارج بنية AWS الأساسية الخاصة بك

يمكنك أيضا تخصيص أي Agent يتم تشغيله خارج بنية AWS الأساسية الخاصة بك. لتحقيق هذا الهدف ، يجب أن تقوم بتحديد متغيرات بيئة التشغيل التالية في/opt/instana/agent/bin/setenvملف:

توصيف Proxy

من خلال متغيرات بيئة التشغيل

لتوصيف AWS Sensor لاستخدام توصيف proxy ، حدد متغيرات بيئة التشغيل التالية في<instana-agent-dir>/bin/setenv:

HTTP_PROXY=
HTTPS_PROXY=

ملحوظة: يجب تعريف متغيرات بيئة التشغيل. بعد أن يتم تعريفه ، يجب اعادة بدء تشغيل Agent Agent لاجراء التغييرات.

يمكنك ايجاد مزيد من المعلومات عن HTTP proxy على وصلة.

من خلال Agent configuration.yaml

لتوصيف وحدات استشعار AWS لاستخدام توصيف proxy ، قم باضافة محددات توصيف البرنامج الوسيط التالية :

com.instana.plugin.aws:
  proxy_host: 'example.com' # proxy host name or ip address
  proxy_port: 3128 # proxy port
  proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
  proxy_username: 'username' # OPTIONAL: proxy username
  proxy_password: 'password' # OPTIONAL: proxy password
  tagging: # proxy setup for AWS Tagging API, used for AWS resource monitoring filtering
    proxy_host: 'example.com' # proxy host name or ip address
    proxy_port: 3128 # proxy port
    proxy_protocol: 'HTTP' # proxy protocol: HTTP or HTTPS
    proxy_username: 'username' # OPTIONAL: proxy username
    proxy_password: 'password' # OPTIONAL: proxy password

يمكن أيضا توصيف محددات Proxy على مستوى فردي AWS Sensor. في هذه الحالة ، يتم احلال التوصيف الشامل الذي تم ذكره من قبل بواسطة توصيف AWS Sensor المحدد. للحصول على مزيد من المعلومات ، ارجع الى وثائق AWS Sensor المحددة.

خصائص منطقة الصينية

وبصفة مفترضة ، يقوم وكيل Intance بالاتصال بنقطة نهاية STS العالمية من نسخة EC2 لتجميع بيانات اعتماد ملف مواصفات النسخة. بما أن هذا النهج لا يعملCNالمناطق ، تحتاج نقطة نهاية منطقة STS ليتم عرضها كمتغير بيئة تشغيل ، مما يشير الى قيام وكيل Nastanانة باستخدام نقاط نهاية STS الاقليمية (CN).

بعد تركيب Intana Agent ، قم بتحديد متغير بيئة التشغيل التالي في<instana-agent-dir>/bin/setenv:

AWS_STS_REGIONAL_ENDPOINTS=regional

اتاحة المراقبة لخدمات معينة

بالنسبة لكل خدمة ، يجب أن تقوم باضافة التصاريح اللازمة على صفحات الخدمة المنفردة ، المتصلة من قسم الخدمات التي تم مراقبتها . لاستبعاد أحد الخدمات من المراقبة ، يجب الخروج من التصريح الخاص به.

بدلا من ذلك ، هناك طريقة أخرى لاستبعاد خدمة من المراقبة لاضافة شارة enabled_ enabled_ في<agent_install_dir>/etc/instana/configuration.ymlكما هو موضح في صفحات الخدمة المنفردة التالية.

مراقبة حسابات AWS المتعددة

يقوم وكيل AWS Intana بدعم خدمات المراقبة من حسابات AWS المتعددة في نفس المنطقة. حاليا ، يوجد نهجين : استخدام ملفات المواصفات المسماة AWS وباستخدام AWS Security Token Service (STS).

ملحوظة: عندما تقوم بتوصيف Intasانة Agent لمراقبة حسابات AWS المتعددة ، يجب استخدام واحد فقط من النهجين المتاحين.

نهج ملفات مواصفات محددة بالاسم

لمراقبة حسابات متعددة ، يجب أن تقوم بتعريف ملفات المواصفات التي تم تحديد اسم لها بنفس الطريقة التي تريدها باستخدام أكو كلير، أو تكوين الملف يدويا. و#.aws/credentialsيجب أن يتم تكوين الملف في الدليل الرئيسي للمستخدم الذي يقوم بتشغيل Intana Agent ، والذي يكون عادةroot. تقوم AWS CLI باستخدام ملفات بيانات الاعتماد~/.aws/credentialsكما يلي:

[default]
aws_access_key_id = accessKey1
aws_secret_access_key = secretAccessKey1

[profile2]
aws_access_key_id = accessKey2
aws_secret_access_key = secretAccessKey2

[profile3]
aws_access_key_id = accessKey3
aws_secret_access_key = secretAccessKey3

كل ملف مواصفات يمثل المناظرة بين ملف مواصفات AWS المسمى وبيانات اعتماد AWS. على تركيب وكيل AWS، adefaultتم تكوين ملف مواصفات AWS. لا حاجة لإضافةdefaultملف مواصفات الى~/.aws/credentialsملف.

يجب أن يتم عرض ملفات المواصفات الاضافية التي سيتم استخدامها بواسطة وكيل AWS كما يلي في ملف توصيف البرنامج الوسيط/opt/instana/agent/etc/instana/configuration.yaml:

com.instana.plugin.aws:
  profile_names:
    - 'profile2'
    - 'profile3'

ملحوظات :

لتجنب أي تهديدات أمنية ، يجب أن تقوم اما تحديد قواعد أكثر صرامة for EC2 instance أو تكوين مستخدم Intana AWS منفصل بتجنب اضافة اعتمادات سرية المستخدم root user الى~/.aws/credentialsملف.

نهج AWS STS

هذا النهج يستخدم AWS STS service API للحصول على اعتمادات الاتصال لكل حسابات AWS الاضافية التي يجب مراقبتها بواسطة Intasانة agent. بعد تركيب البرنامج الوسيط وتوصيفه لمراقبة الحساب الافتراضي، وذلك بعد الخطوات التي تم وصفها فيInstallationقسم ، يجب أن تقوم باتاحة ARNs وظيفة IAM من كل حسابات AWS الاضافية ، بالطريقة التالية :

com.instana.plugin.aws:
  role_arns:
    - 'arn:aws:iam::<account_2_id>:role/<role_2_name>'
    - 'arn:aws:iam::<account_3_id>:role/<role_3_name>'

ملحوظة: يمكن أيضا تحديد مراقبة حسابات AWS المتعددة لخدمات AWS المعينة في التوصيف الخاص بها. كشف وظائف IAM التي تم تحديدها لخدمة معينة احلال التوصيفات العامة.

كل وظيفة ، مطابقة ARN المحددة ، يجب أن تتضمن أيضا تصاريح IAM المطلوبة اللازمة لمراقبة AWS AWS. لذلك ، يجب أن يسمح كل وظيفة الحساب الافتراضي بأداء ssus : AssueRole عن طريق تحديدTrust relationshipالسياسة بالطريقة التالية :

  1. اذا تم تنفيذ ssus : AssueRole من سياق مستخدم AWS-عند تركيب agent خارج بنية AWS الأساسية الخاصة بك

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::<default_account_id>:user/<default_account_username>"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    
  2. اذا تم تنفيذ ssus : AssueRole من سياق دور IAM-عند تركيب البرنامج الوسيط على EC2:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::<default_account_id>:role/<default_account_IAM_role_name>"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }
    

    وبالمثل ، يجب السماح لشركة الحساب الافتراضي بتنفيذ ssus : AssueRole لكل الحسابات الاضافية. ويمكن القيام بذلك عن طريق تحديد سياسات IAMM الاضافية في وظيفة IAM التي يتم استخدامها لمراقبة Intana ، وذلك بالطريقة التالية :

      {
        "Version": "2012-10-17",
        "Statement": [
          {
            #Instana monitoring policy specifications
          },
          {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::<account_1_id>:role/<role_1_name>",
            "Effect": "Allow"
          },
          {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "arn:aws:iam::<account_2_id>:role/<role_2_name>",
            "Effect": "Allow"
          }
        ]
      }
    

ترشيح وتعليم

ملحوظة: لاتاحة ترشيح البيانات ، تصريح IAMtag:GetResourcesيجب تضمينها في تصاريح IAM التي يتم منحها الى AWS Agent.

بعد أن تقوم باتاحة مراقبة الخدمة ، يكون من الممكن ترشيح البيانات ، والتي ستقوم استانارة بمراقبتها بناءا على شارات AWS من خلال تعديل ملف توصيف البرنامج الوسيط./opt/instana/agent/etc/instana/configuration.yamlمن AWS Agent.

الاختيارات المتاحة في ملف التوصيف هي :

com.instana.plugin.aws:
  # Comma-separated list of tags in key:value format.
  # Any AWS resource containing at least one of the specified tags is discovered.
  include_tags: ...
  # Comma-separated list of tags in key:value format.
  # Any AWS resource containing at least one of the specified tags is omitted from discovery.
  exclude_tags: ...
  # Exclude untagged AWS resources by setting the flag to `false`
  include_untagged: ...

يمكن تعريف شارات التعليم المتعددة ، مفصولة بفاصلة. يجب أن تكون شارات التعليم زوج من القيم الرئيسية يتم فصله بواسطة:. عندما تقوم بتعريف شارات التعليم في كلا القائمتين (تضمين واستبعاد) ، يكون لكشف الاستبعاد أولوية أعلى. اذا لم تكن هناك حاجة لخدمات ترشيح البيانات ، فيجب ألا يتم تعريف التوصيف.

ملاحظة : يقوم وكيل Ingass بمراقبة كل مصادر AWS آليا التي لا تحتوي على شارات تعليم مخصصة. لاستبعاد المصادر غير المعلمة من المراقبة ، قم بتحديدinclude_untaggedالشارة الىfalse.

يمكن أيضا توصيف ترشيح البيانات على مستوى الخدمة. في هذه الحالة ، يتم احلال التوصيف المفترض للخدمة المحددة. للحصول على مزيد من التفاصيل عن ترشيح بيانات الاكتشاف بواسطة خدمة معينة ، ارجع الى وثائق الخدمة المحددة.

معدل اقتراع Tag

لتحديد عدد المرات التي تقوم فيها وحدات استشعار AWS بمراقبة خدمة AWS للحصول على شارات التعليم المرفقة ، استخدمtagged-services-poll-rateخاصية التوصيف. المفترض هو300. ثوان يقوم المجس باستخدام الوحدة التابعة لخدمة AWS لشارات التعليم.

تعد مواصفات معدل الاقتراع للمصادر التي تم تعليمها هي :

com.instana.plugin.aws:
  tagged-services-poll-rate: 60 #default 300

الفترة الزمنية للاقتراع

يشير الفاصل الزمني للاقتراع الى عدد المرات التي تقوم فيها وحدة استشعار AWS باستدعاء CloudWatch API. ويمكن توصيفه على أنهcloudwatch_periodفيconfiguration.ymlملف. القيمة المفترضة هي 300 ثانية. ومن الشائع أن نرى منصات المراقبة تستخدم القيمة من 5 إلى 10 دقائق.

يتم توصيف فترة الاقتراع على مستويين :

التوصيف للخدمة المفردة يقوم باحلال توصيف مستوى البرنامج الوسيط.

تكاليف CloudWatch

لتقديم معلومات عن خدمات AWS الخاصة بك ، يجب أن تقوم بيئات التشغيل الخاصة بالمراقبة مثل Incass باستخدام CloudsWatch API. يتم اتاحة API بواسطة AWS مع التسعير القائم على الاستهلاك، والغرض من هذه المطبوعات الفنية هو اتاحة الشفافية في كيفية استخدام Intana الى CloudWatch API للمستخدمين لفهم التأثير على فاتورة AWS الخاصة بهم.

وتتأثر تكاليف CloudWatch بما يلي :

يقوم كل من وحدات استشعار AWS باستدعاءGetMetricDataطلب CloudWatch API لتجميع المقاييس المترية ، وفي حالة فشلهاGetMetricStatisticsيطلق عليه كمغالطة. يتحمل كل من نقاط النهاية التكاليف نفسها للمقاييس المترية (للوضوح : استخدام fallback لهاGetMetricStatisticsلا تتكبد تكاليف اضافية). يمكنك ايجاد التفاصيل لكلا من على صفحة تسعير AWS CloudWatch.

يحتوي الجدول التالي على التكاليف اليومية التقديرية لوحدات استشعار AWS المختلفة عندما يكون الفاصل الزمني للاقتراع 5 دقائق وتكلفة Amaza هي \ $0.01 لكل 1000 مترية CloudsWatch :

جهاز استشعار AWS عدد القياسات التكلفة اليومية لكل نسخة
BDynamD 71 \$0.2045
Elasticsearch 21 \$0.0346
Lambda 17 \$0.0490
MQ 22 \$0.0634
RDS 81 \$0.0518
SQS 8 \$0.0230
S3 13 \$0.0374

لاحظ أنه لا يتم استخدام CloudWatch ل ـ EC2 و شارات الاقتراع، لذلك لا توجد تكاليف CloudWatch تم استخدامها هناك.

يمكنك تقليل تكاليف CloudWatch من خلال زيادة فترة الاقتراع. الجانب السلبي لزيادة فترة الاقتراع هو أنك تقوم بتقليل مقاييس مترية النسخ من CloudWatch. يقدم كل طلب قيمة مقياس واحدة ، وبالتالي فان الاختلاف بين الفاصل الزمني للاقتراع من 60s و 300s هو خمسة قيم مترية أو قيمة قياس واحدة لفترة 300s .

والأمر متروك لك لتحديد ما اذا كانت الفترة الزمنية المفترضة للاقتراع هي الصحيحة للعمل الخاص بك أو ما اذا كان سيتم تهيئتها لتحقق التوازن بين تكلفة ونوعية النظرات المتعمقة.