شعار زيفيرنت

استخراج بيانات ServiceNow باستخدام AWS Glue Studio في بحيرة بيانات Amazon S3 وتحليلها باستخدام Amazon Athena

التاريخ:

تتوفر العديد من عروض البرامج كخدمة (SaaS) المختلفة المستندة إلى مجموعة النظراء في AWS. ServiceNow هي إحدى منصات أتمتة سير العمل السحابية الشائعة المستخدمة على نطاق واسع من قبل عملاء AWS. في السنوات القليلة الماضية ، رأينا الكثير من العملاء الذين أرادوا استخراج البيانات ودمجها من أدوات إدارة خدمات تكنولوجيا المعلومات (ITSM) مثل ServiceNow لحالات الاستخدام المختلفة:

  • توليد البصيرة من البيانات - عند دمج بيانات ServiceNow مع بيانات من خدمات أخرى مثل CRM (مثل Salesforce) أو بيانات Martech (مثل الأمازون التحديد) لتوليد رؤى أفضل (على سبيل المثال ، إنشاء عرض 360 كامل للعميل).
  • أرشفة البيانات للأعمال التجارية المستقبلية أو المتطلبات التنظيمية - يمكنك أرشفة البيانات في شكل خام في بحيرة البيانات الخاصة بك للعمل على حالات الاستخدام المستقبلية أو الاحتفاظ بها فقط لتلبية المتطلبات التنظيمية مثل التدقيق.
  • قم بتحسين الأداء عن طريق فصل التقارير أو حالات استخدام التعلم الآلي عن ITSM - عند نقل تقارير ITSM الخاصة بك من ServiceNow إلى ملف خدمة تخزين أمازون البسيطة (Amazon S3) بحيرة البيانات ، لا يوجد تأثير على الأداء في مثيل ServiceNow الخاص بك.
  • دمقرطة البيانات - يمكنك استخراج البيانات ووضعها في بحيرة البيانات بحيث تكون متاحة لمستخدمي الأعمال والوحدات الأخرى لاستكشافها واستخدامها.

قام العديد من العملاء ببناء هياكل بيانات حديثة على AWS ، والتي تتضمن بناء بحيرات بيانات على Amazon S3 واستخدام تحليلات AWS واسعة وعميقة وخدمات AI / ML لاستخراج معلومات ذات مغزى من البيانات من خلال دمج البيانات من مصادر بيانات مختلفة.

في هذا المنشور ، نقدم دليلًا مفصلاً خطوة بخطوة لجلب البيانات من ServiceNow إلى بحيرة بيانات S3 باستخدام AWS الغراء ستوديو وتحليل البيانات باستخدام أمازون أثينا.

حل نظرة عامة

في هذا الحل ، يتم استخراج بيانات ServiceNow من خلال غراء AWS باستخدام موصل السوق. يوفر AWS Glue دعمًا مدمجًا لمخازن البيانات الأكثر استخدامًا (مثل Amazon Redshift و Amazon Aurora و Microsoft SQL Server و MySQL و MongoDB و PostgreSQL) باستخدام اتصالات JDBC. يتيح لك AWS Glue أيضًا استخدام برامج تشغيل JDBC المخصصة في مهام الاستخراج والتحويل والتحميل (ETL). بالنسبة لمخازن البيانات غير المدعومة محليًا ، مثل تطبيقات SaaS ، يمكنك استخدام الموصلات وتخزينها في Amazon S3. تم تصنيف البيانات في كتالوج بيانات AWS Glue ، ونستخدم أثينا للاستعلام عن البيانات.

غراء AWS هي خدمة تكامل بيانات بدون خادم تسهل اكتشاف البيانات وإعدادها ودمجها لأغراض التحليلات والتعلم الآلي (ML) وتطوير التطبيقات. يوفر AWS Glue جميع الإمكانات اللازمة لتكامل البيانات حتى تتمكن من البدء في تحليل بياناتك واستخدامها في دقائق بدلاً من شهور.

أمازون أثينا هي خدمة استعلام تفاعلية تسهل تحليل البيانات في Amazon S3 باستخدام لغة SQL القياسية. أثينا بلا خادم ، لذلك لا توجد بنية تحتية لإدارتها ، ولا تدفع إلا مقابل الاستعلامات التي تجريها.

ServiceNow عبارة عن منصة برمجية قائمة على السحابة لـ ITSM تساعد على أتمتة إدارة أعمال تكنولوجيا المعلومات. تم تصميمه بناءً على إرشادات ITIL لتوفير توجيه الخدمة للمهام والأنشطة والعمليات.

يوضح الرسم البياني التالي بنية الحلول لدينا.
مدونة الغراء AWS

لتنفيذ الحل ، نكمل الخطوات عالية المستوى التالية:

  1. الاشتراك في سوق موصل الغراء AWS للخدمة الآن من سوق AWS.
  2. قم بإنشاء اتصال في AWS Glue Studio.
  3. خلق إدارة الهوية والوصول AWS (IAM) لـ AWS Glue.
  4. قم بتكوين وتشغيل وظيفة AWS Glue التي تستخدم الاتصال.
  5. قم بتشغيل الاستعلام مقابل بحيرة البيانات (Amazon S3) باستخدام Athena.

المتطلبات الأساسية المسبقة

لهذه الإرشادات ، يجب أن يكون لديك ما يلي:

  • An حساب AWS.
  • حساب ServiceNow. لمتابعة هذا المنشور ، يمكنك الاشتراك في ملف المطور الحساب ، الذي تم ملؤه مسبقًا بعينة من السجلات في العديد من كائنات ServiceNow.
  • يتم تخزين بيانات اعتماد خصائص اتصال ServiceNow بتنسيق مدير أسرار AWS. في وحدة تحكم Secrets Manager ، قم بإنشاء سر جديد (حدد نوع آخر من الأسرار) مع زوج قيم مفتاح لكل خاصية ، على سبيل المثال:
    • اسم المستخدم - اسم مستخدم حساب ServiceNow Instance (على سبيل المثال ، admin)
    • كلمة المرور - كلمة مرور حساب ServiceNow Instance
    • حتة - اسم مثيل ServiceNow بدون https و .service-now.com

انسخ الاسم السري لاستخدامه عند تكوين الاتصال في AWS Glue Studio.

اشترك في AWS Glue Marketplace Connector for ServiceNow

للاتصال ، نستخدم ملف موصل سوق الغراء AWS للخدمة الآن. تحتاج إلى الاشتراك في الموصل من AWS Marketplace.

موصل سوق الغراء AWS يتم توفير ServiceNow بواسطة بائع برامج مستقل من جهة خارجية (ISV) مدرج في AWS Marketplace. يتم تطبيق رسوم الاشتراك المرتبطة ورسوم استخدام AWS بمجرد الاشتراك.

لاستخدام الموصل في AWS Glue ، تحتاج إلى تنشيط الموصل المشترك في AWS Glue Studio. تقوم عملية التنشيط بإنشاء كائن موصل واتصال في حساب AWS الخاص بك.

  1. في وحدة تحكم AWS Glue ، اختر AWS الغراء ستوديو.
  2. اختار الموصلات.
  3. اختار السوق المفتوح .
  4. ابحث عن موصل CData AWS Glue Connector الخاص بـ ServiceNow.


بعد الاشتراك في الموصل ، تظهر علامة تبويب تكوين جديدة في صفحة موصل AWS Marketplace.

  1. راجع الأسعار والمعلومات الأخرى ذات الصلة.
  2. اختار استمر في الاشتراك.
  3. اختار قبول الشروط.

بعد الاشتراك في الموصل ، تتمثل الخطوات التالية في تكوينه.

  1. احتفظ بالاختيارات الافتراضية لـ طريقة التوصيل و إصدار البرنامج لاستخدام أحدث إصدار من برنامج الموصل.
  2. اختار تواصل الانطلاق.

  1. اختار تعليمات الاستخدام.


تظهر نافذة منبثقة مع ارتباط تشعبي لتنشيط الموصل مع AWS Glue Studio.

  1. اختر هذا الارتباط لبدء تكوين الاتصال بحساب ServiceNow الخاص بك في AWS Glue Studio.

أنشئ اتصالاً في AWS Glue Studio

أنشئ اتصالاً في AWS Glue Studio باتباع الخطوات التالية:

  1. في حالة الاسم، أدخل اسمًا فريدًا لاتصال ServiceNow الخاص بك.
  2. في حالة نوع بيانات اعتماد الاتصال، اختر اسم المستخدم كلمة المرور.
  3. في حالة سر AWS، اختر سر مدير الأسرار الذي أنشأته كشرط أساسي.

لا تقدم أي تفاصيل إضافية في الاختيارية أوراق اعتماد قسم لأنه يسترد القيمة من مدير الأسرار.

  1. اختار إنشاء اتصال وتنشيط الموصل لإنهاء إنشاء الاتصال.

يجب أن تكون الآن قادرًا على عرض موصل ServiceNow الذي اشتركت فيه والاتصال المرتبط به.

أنشئ دور IAM لـ AWS Glue

تتمثل الخطوة التالية في إنشاء دور IAM مع الأذونات اللازمة لوظيفة AWS Glue. يجب أن يبدأ اسم الدور بالسلسلة AWSGlueServiceRole لـ AWS Glue Studio لاستخدامه بشكل صحيح. تحتاج إلى منح أذونات دور IAM الخاصة بك والتي يمكن أن تفترضها AWS Glue عند الاتصال بخدمات أخرى نيابة عنك. لمزيد من المعلومات، راجع أنشئ دور IAM لـ AWS Glue.

أرفق سياسات AWS التالية بالدور:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "{secret name arn}" ] } ]
}

لمزيد من المعلومات حول الأذونات ، راجع راجع أذونات IAM المطلوبة لمستخدم AWS Glue Studio.

قم بتكوين وظيفة AWS Glue وتشغيلها

بعد تكوين اتصالك ، يمكنك إنشاء مهمة AWS Glue وتشغيلها.

قم بإنشاء وظيفة تستخدم الاتصال

لإنشاء وظيفة ، أكمل الخطوات التالية:

  1. في AWS Glue Studio ، اختر الموصلات.
  2. حدد الاتصال الذي قمت بإنشائه.
  3. اختار خلق وظيفة.


يظهر محرر الوظيفة المرئية. يتم عرض عقدة مصدر جديدة ، مشتقة من الاتصال ، في الرسم البياني للوظيفة. في لوحة تفاصيل العقدة على اليمين ، يظهر ملف خصائص مصدر البيانات تم تحديد علامة التبويب لإدخال المستخدم.

تكوين خصائص العقدة المصدر

يمكنك تكوين خيارات الوصول لاتصالك بمصدر البيانات على خصائص مصدر البيانات التبويب. بالنسبة لهذا المنشور ، نقدم تجولًا بسيطًا. الرجوع إلى دليل مستخدم AWS Glue Studio للمزيد من المعلومات.

  1. على مصدر القائمة، اختر موصل الغراء CData AWS للخدمة الآن.

  1. على خصائص مصدر البيانات - موصل علامة التبويب ، تأكد من تحديد العقدة المصدر للموصل الخاص بك.

مجال الاتصال يتم ملؤها تلقائيًا باسم الاتصال المرتبط بموصل السوق.

  1. أدخل إما اسم جدول مصدر أو استعلامًا لاستخدامه في استرداد البيانات من مصدر البيانات. بالنسبة لهذا المنشور ، نقوم بإدخال حادث اسم الجدول.

  1. على تحول القائمة ، اختر تطبيق التعيين.
  2. في علامة تبويب خصائص العقدة ، حدد العقدة الأصل موصل الغراء CData AWS للخدمة الآن.
  3. لأننا نتصل بمصدر بيانات خارجي ؛ عندما تنظر لأول مرة إلى علامة تبويب مخطط التحويل والإخراج ؛ لن تجد المخطط المستخرج من المصدر.
  4. لكي تتمكن من استرداد المخطط ، انتقل إلى علامة التبويب معاينة البيانات ، وانقر فوق بدء جلسة معاينة البيانات وحدد دور IAM الذي أنشأته لهذه الوظيفة.
  5. بمجرد الانتهاء من معاينة البيانات ، انتقل إلى قسم مصدر البيانات وانقر فوق استخدم مخطط مراجعة البيانات.
  6. انتقل إلى البرنامج المساعد في التأليف تحول وتحقق من جميع الأعمدة التي يظهر بها نوع البيانات اغية.

  1. على الهدف القائمة، اختر الأمازون S3.
  2. على خصائص هدف البيانات - S3 علامة التبويب ، لـ شكل، اختر الباركيه.
  3. في حالة نوع الضغط، اختر GZIP.
  4. في حالة S3 الهدف الموقع، أدخل موقع Amazon S3 لتخزين البيانات.
  5. في حالة خيارات تحديث كتالوج البيانات، حدد قم بإنشاء جدول في كتالوج البيانات وفي عمليات التشغيل اللاحقة ، احتفظ بالمخطط الحالي وأضف أقسامًا جديدة.
  6. في حالة قاعدة البيانات، أدخل sampledb.
  7. في حالة اسم الطاولة، أدخل incident.

تحرير وحفظ وتشغيل الوظيفة

قم بتحرير الوظيفة عن طريق إضافة وتحرير العقد في الرسم البياني للوظيفة. نرى تحرير وظائف ETL في AWS Glue Studio للمزيد من المعلومات.

بعد تحرير الوظيفة ، أدخل خصائص الوظيفة.

  1. اختيار تفاصيل الوظيفة علامة التبويب أعلى محرر الرسم البياني المرئي.
  2. في حالة الاسم، أدخل اسم الوظيفة.
  3. في حالة دور IAM، اختر دور IAM مع الأذونات اللازمة ، كما هو موضح سابقًا.
  4. في حالة النوع، اختر شرارة.
  5. في حالة نسخة الغراء، اختر الغراء 3.0 - يدعم شرارة 3.1 ، سكالا 2 ، بايثون 3.
  6. في حالة اللغة ، اختر بيثون 3.
  7. نوع العامل: G.1X
  8. عدد العمال المطلوب: 2
  9. عدد المحاولات: 1
  10. مهلة الوظيفة (بالدقائق): 3
  11. استخدم القيم الافتراضية للمعلمات الأخرى.

لمزيد من المعلومات حول معلمات الوظيفة ، راجع تحديد خصائص الوظيفة لوظائف سبارك.

12. بعد حفظ الوظيفة ، اختر يجري لتشغيل الوظيفة.

ملاحظة - تشغيل وظيفة الغراء ينطوي على تكلفة. يمكنك معرفة المزيد حول تسعير AWS Glue هنا.

لعرض البرنامج النصي الذي تم إنشاؤه للوظيفة ، اختر ملف سيناريو علامة التبويب في الجزء العلوي من المحرر المرئي. ال يدير العمل تُظهر علامة التبويب محفوظات تشغيل الوظيفة للوظيفة. لمزيد من المعلومات حول تفاصيل تشغيل الوظيفة ، راجع عرض معلومات لتشغيل الوظائف الأخيرة.

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

بعد اكتمال المهمة ، يمكنك الاستعلام عن البيانات في أثينا.

  1. في وحدة تحكم أثينا ، اختر ملف sampledb قاعدة البيانات.

يمكنك عرض الجدول الذي تم إنشاؤه حديثًا باسم incident.

  1. اختر أيقونة الخيارات (ثلاث نقاط عمودية) واختر جدول المعاينة لعرض البيانات.

الآن دعونا نجري بعض التحليلات.

  1. ابحث عن جميع بطاقات الحوادث التي تم تصعيدها عن طريق تشغيل الاستعلام التالي:
    SELECT task_effective_number FROM "sampledb"."incident" where escalation = 2;

  1. البحث عن عدد التذاكر مع الأولوية:
    SELECT priority, count(distinct task_effective_number) FROM "sampledb"."incident"
    group by priority
    order by priority asc

وفي الختام

في هذا المنشور ، أوضحنا كيف يمكنك استخدام موصل AWS Glue Studio للاتصال من ServiceNow وإحضار البيانات إلى بحيرة البيانات الخاصة بك لمزيد من حالات الاستخدام.

يوفر AWS Glue دعمًا مدمجًا لمخازن البيانات الأكثر استخدامًا (مثل Amazon Redshift و Amazon Aurora و Microsoft SQL Server و MySQL و MongoDB و PostgreSQL) باستخدام اتصالات JDBC. يتيح لك AWS Glue أيضًا استخدام برامج تشغيل JDBC المخصصة في مهام الاستخراج والتحويل والتحميل (ETL). بالنسبة لمخازن البيانات غير المدعومة أصلاً ، مثل تطبيقات SaaS ، يمكنك استخدام الموصلات.

لمعرفة المزيد ، راجع موصل AWS Glue Studioدليل مستخدم AWS Glue Studio و دليل مستخدم أثينا.


حول المؤلف

نافنيت شوكلا هو مهندس حلول متخصص في AWS في Analytics. إنه متحمس لمساعدة العملاء في الكشف عن الرؤى من بياناتهم. يبني حلولًا لمساعدة المؤسسات على اتخاذ قرارات تعتمد على البيانات.

سريكانث سوبيرالا هو مهندس حلول رئيسي في AWS. إنه قائد محنك يتمتع بخبرة تزيد عن 20 عامًا ، وهو متحمس لمساعدة العملاء على بناء بيانات قابلة للتطوير وحلول تحليلية لاكتساب رؤى في الوقت المناسب واتخاذ قرارات أعمال حاسمة. في أوقات فراغه ، يستمتع بالقراءة وقضاء الوقت مع أسرته وركوب الدراجات على الطرق.

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

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة