كيفية إرسال سجلات Python إلى OpenSearch باستخدام Fluent Bit

المقدمة

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

الحالة التطبيقية

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

الأحتياجات السابقة

قبل أن تبدأ، تأكد من وجود الأحتياجات التالية:

  1. تثبيت Python: أتضح أن تتمكن من تثبيت Python على مخزونك الخاص أو الحاسب المحلي الخاص بك.
  2. قاعدة OpenSearch: يجب أن يكون لديك وصول إلى قاعدة OpenSearch. يمكنك إنشاء قاعدة جديدة أو استخدام قاعدة قد توافر.
  3. تثبيت Fluent Bit: يجب أن يكون Fluent Bit متوفرًا على الخادم أو الآلة التي تشغل برنامجك البايثوني.

خطوة 1 – تثبيت Python

أولاً، قم بتحديث مجموعتك وتثبيت Python. قم بتنفيذ الأوامر التالية:

sudo apt update
sudo apt install python3

لتأكد من تثبيت Python، قم بتنفيذ:

python3 --version

خطوة 2 – إعداد مسجل البيانات Python

قم بتكوين برنامجك البايثوني لتسجيل الرسائل في ملف. هذه إعداد بسيط:

import logging

# تكوين المسجل
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

# رسالة معلومات تجريبية
logging.info('This is a test log message.')

هذه الconfiguration تكتب رسائل السجل إلى app.log مع توقيت، مستوى السجل، ونمط الرسالة.

خطوة 3 – إنشاء مجموعة OpenSearch

إذا لم يكن لديك مجموعة OpenSearch، يمكنك إنشاؤها باستخدام أداة الخطأ الخاصة ب DigitalOcean، doctl. استخدم الأمر التالي:

doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1

أستبدل your-region بالمنطقة التي ترغب فيها. بدلاً عن ذلك، يمكنك استخدام لوحة تحكم DigitalOcean لإنشاء مجموعة يدويًا. لتحصل على تفاصيل كيفية عمل ذلك، انظر إلى هذه الدراسة حول إنشاء مجموعات OpenSearch من خلال لوحة التحكم.

خطوة 4 – تثبيت Fluent Bit

لتثبيت Fluent Bit، استخدم الأمر التالي:

curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh

خطوة 5 – تكوين Fluent Bit

إنشاء ملف 配置 named fluent-bit.conf لتعريف كيفية قراءة وتوزيع المعاين الى OpenSearch. هذا مثال للتعريف:

[SERVICE]
    Flush         1
    Daemon        Off
    Log_Level     info

[INPUT]
    Name          tail
    Path          /path/to/your/log/file.log
    Tag           python_logs
    Refresh_Interval 5

[OUTPUT]
    Name          opensearch
    Match         python_logs
    Host          your-opensearch-host
    Port          25060
    HTTP_User     your-username
    HTTP_Passwd   your-password
    Index         your-index-name
    tls           On
    Suppress_Type_Name On
  • Path: Specify the path to your app.log.
  • Host: Replace with your OpenSearch host.
  • HTTP_User: Your OpenSearch username.
  • HTTP_Passwd: Your OpenSearch password.
  • Index: The name of the index where logs will be stored.

Step 6 – Run Fluent Bit

Run Fluent Bit with the configuration file:

/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf

Step 7 – Verify Logs in OpenSearch

To ensure logs are being ingested correctly, check your OpenSearch dashboard. You should see the logs being forwarded from Fluent Bit.

Step 8 – Create an Index Pattern in OpenSearch Dashboards

  1. تسجيل دخول للواجهات OpenSearch باسمك والمعلومات الشخصية.
  2. قم بتوسيع قائمة الأيمن وانقر في إدارة البنود تحت الإدارة.
  3. انقر في إنشاء بند من قائمة البنود.
  4. أدخل أسم البند و调整 أي إعدادات اخرى وانقر في إنشاء.

الخلاصة

بتتبع هذه الخطوات أنت قد أنشأت نظام لإرسال أيام البرمجية الخاصة بـ Python إلى OpenSearch بواسطة Fluent Bit. هذا الإعداد يمكنك من إدارة وتحليل الأيام بكفاءة معينة، مما يساعدك في إنتظام ومراقبة التطبيقات بشكل فعال. مع OpenSearch و Fluent Bit لديك حلول قوية لتحليل الأيام والمراقبة في الوقت الحالي وتخصصها لمواجهة احتياجات أي تطبيق يعتمد على Python.

Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit