مجلة المعلوماتية مجلة المعلوماتية
المعرفة • البحث • التقنيةأعداد متاحة للقراءة الإلكترونية

Parseable: تخزين السجلات وتحليلها ببنية سحابية مفتوحة

العددالعدد 81
تاريخ النشر
عدد القراءات0
اقتباس

الملخص:

يعرف المقال منصة Parseable المفتوحة المصدر لتخزين بيانات السجلات وتحليلها، ويعرض تصميمها السحابي القائم على Rust وصيغ الأعمدة والتخزين الكائني. ويناقش الاستغناء عن الفهرسة التقليدية، ومرونة المخطط، ووصول المستخدم إلى بياناته وإمكان تحليلها بأدوات أخرى. كما يوضح إدخال السجلات عبر HTTP وتكامل المنصة مع أدوات الجمع، ثم يقدم إعدادًا تجريبيًا باستخدام Docker وربط FluentBit من خلال ملفات التهيئة وDocker Compose. ويؤكد سياق المثال العام وضرورة استبدال حاوية التخزين وبيانات الاعتماد التجريبية قبل إرسال بيانات فعلية. ويعرض الخطوات والشيفرات بوصفها تعريفًا عمليًا بآلية العمل وقت الأصل، مع إبراز تبسيط النشر والإدخال وتجربة المستخدم ضمن أهداف المنصة وتصميمها لا نتائج اختبار مستقل.

الكلمات المفتاحية: Parseable، تحليل السجلات، التخزين الكائني، FluentBit، البنية السحابية

مقدمة:

تُعد بيانات السجلات من أسرع قطاعات التخزين نموًا، ومن أكثرها تعقيدًا؛ إذ تتداخل استخدامات منتجات وحلول كثيرة وسط رسائل تسويقية مربكة.

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

ما Parseable؟

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

الاستغناء عن الفهرسة

أدت محركات بحث نصية، مثل Elastic، دور منصات السجلات أيضًا. وهذا منطقي لأن البحث لازم للاستفادة من السجل؛ لكن للفهرسة كلفة مرتفعة، فهي كثيفة الاستخدام للمعالج وتبطئ الإدخال. كما تشغل بيانات الفهرس مساحة تقارب البيانات الخام، فتضاعف كلفة التخزين وتزيد التعقيد. وتغير Parseable ذلك؛ فصيغ الأعمدة مثل Parquet تتيح ضغط السجلات واستعلامها بكفاءة دون فهرستها.

ملكية البيانات ومحتواها

باستخدام Parquet وحفظها في حاويات تخزين كائني معيارية، يملك المستخدم بيانات السجلات ويصل إلى محتواها الفعلي كاملًا. ويمكنه بسهولة استخدام Spark أو Presto أو TensorFlow لاستخلاص قيمة إضافية، مما يفتح آفاقًا قوية للتحليل.

مخطط مرن

السجلات شبه منظمة عادة، وتتطور باستمرار. فقد يبدأ المطور بمخطط مثل

{
  "Status": "Ready",
  "Application": "Example"
}

ثم يتغير مع جمع معلومات أكثر إلى

{
  "Status": "Ready",
  "Application": {
    "UserID": "3187F492-8449-4486-A2A0-015AE34F1D09",
    "Name": "Example"
  }
}

وتواجه فرق الهندسة وموثوقية المواقع SRE مشكلات المخططات باستمرار. وتعالجها Parseable بنهج يتيح تغيير المخطط أثناء العمل.

إدخال بسيط

آليات إدخال السجلات القائمة معقدة، بتعدد البروتوكولات والموصلات. وتسعى Parseable إلى التبسيط؛ فيمكن إرسال السجلات باستدعاءات HTTP POST، دون حزم تطوير SDK معقدة. وإذا أردت وكيلًا مثل FluentBit أو Vector أو LogStash أو غيره، فمعظم أدوات جمع السجلات الرئيسية تدعم HTTP، فتتوافق معها المنصة بالفعل.

البدء

يمكن تجربة Parseable بصورة Docker تعمل في الوضع التجريبي، مع تخزين كائني متاح للعامة

$ cat << EOF > parseable-env
P_S3_URL=https://minio.parseable.io:9000
P_S3_ACCESS_KEY=minioadmin
P_S3_SECRET_KEY=minioadmin
P_S3_REGION=us-east-1
P_S3_BUCKET=parseable
P_LOCAL_STORAGE=/data
P_USERNAME=parseable
P_PASSWORD=parseable
EOF

$ mkdir -p /tmp/data

$ docker run \
-p 8000:8000 \
–env-file parseable-env \
-v /tmp/data:/data \
parseable/parseable:latest

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

إعداد FluentBit لإرسال السجلات

يمكن استخدام Docker Compose لضبط التطبيقين وتيسير إنشائهما وإزالتهما عند الحاجة. احفظ الملف التالي باسم fluent-bit.conf داخل مجلد؛ وهو الإعداد المستخدم لإرسال البيانات:

[SERVICE]
  Flush 5
  Daemon Off
  Log_Level debug

[INPUT]
Name dummy
Tag dummy

[OUTPUT]
Name http
Match *
Host parseable
http_User parseable
http_Passwd parseable
format json
Port 8000
Header X-P-META-meta1 value1
Header X-P-TAG-tag1 value1
URI /api/v1/logstream/fluentbit1
Json_date_key timestamp
Json_date_format iso8601

ثم احفظ الملف التالي باسم docker-compose.yaml في المجلد نفسه

version: "3.7"

services:
fluent-bit:
image: fluent/fluent-bit
volumes:
– ./fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf
depends_on:
– parseable

parseable:
image: parseable/parseable
ports:
– “8000:8000”
environment:
– P_S3_URL=https://minio.parseable.io:9000
– P_S3_ACCESS_KEY=minioadmin
– P_S3_SECRET_KEY=minioadmin
– P_S3_REGION=us-east-1
– P_S3_BUCKET=parseable
– P_LOCAL_STORAGE=/tmp/data
– P_USERNAME=parseable
– P_PASSWORD=parseable

يشير ملف Compose إلى fluent-bit.conf ويمرره للحاوية ملفَّ إعداد. وتُنشر Parseable بالإعدادات الافتراضية نفسها في المثال السابق. ويمكن مشاهدة البيانات التي أرسلتها حاوية FluentBit في لوحة Parseable العاملة، التي يحدد الأصل عنوانها بـhttps://localhost:8000.

خاتمة

قدمنا نظرة أولى إلى منصة تخزين السجلات وتحليلها المفتوحة المبنية بـRust. ويتيح أمر Docker واحد البدء، وتجربة الواجهة، وتعيين FluentBit مصدرًا للبيانات. وإن بدا ذلك سهلًا جدًا، فربما حان وقت تجربة Parseable.

المراجع

  • https://blog.openshift.com/microservices-how-to-explain-them-to-your-ceo/?intcmp=7016000000127cYAAQ
  • https://www.openshift.com/promotions/microservices.html?intcmp=7016000000127cYAAQ
  • https://www.redhat.com/en/services/training/do092-developing-cloud-native-applications-microservices-architectures?intcmp=7016000000127cYAAQ
  • https://console.redhat.com?intcmp=7016000000127cYAAQ
  • https://github.com/parseablehq/parseable
  • https://www.parseable.io/docs/introduction
  • https://localhost:8000

اقتبس هذا المقال

نيتيش تيواري (2023). «Parseable: تخزين السجلات وتحليلها ببنية سحابية مفتوحة». مجلة المعلوماتية، العدد 81. https://informaticsjournal.net/?p=50574

مشاركة:

مقالات ذات صلة