المتطلبات الأساسية
- عنقود Kubernetes (يُوصى بالإصدار v1.20+) مع توفر ما لا يقل عن 32 GiB من RAM و100GB من مساحة القرص على إحدى العقد من أجل ClickHouse.
- Helm v3+
kubectl، مُعدّ للتفاعل مع عنقودك
خيارات النشر
-
Open Source ClickStack: انشر ClickStack بالكامل داخل عنقود Kubernetes لديك، بما في ذلك:
- ClickHouse
- HyperDX
- MongoDB (يُستخدم لحالة لوحة المعلومات وإعداداتها)
- Managed ClickStack، مع إدارة ClickHouse وواجهة ClickStack (HyperDX) في ClickHouse Cloud. وهذا يلغي الحاجة إلى تشغيل ClickHouse أو HyperDX داخل عنقودك.
نشر OpenTelemetry Demo (اختياري)
هذه الخطوة اختيارية ومخصّصة للحالات التي لا توجد فيها أي وحدات pod حالية لمراقبتها. ورغم أن المستخدمين الذين لديهم خدمات منشورة بالفعل في بيئة Kubernetes الخاصة بهم يمكنهم تخطيها، فإن هذا العرض التجريبي يتضمن خدمات مصغّرة مزوّدة بـinstrumentation تولّد بيانات trace وsession replay، مما يتيح للمستخدمين استكشاف جميع ميزات ClickStack.يقوم ما يلي بنشر نسخة ClickStack fork من حزمة تطبيق OpenTelemetry Demo داخل عنقود Kubernetes، والمخصّصة لاختبار observability واستعراض instrumentation. وهي تتضمن خدمات مصغّرة backend، ومولّدات حمل، وpipelines للـ telemetry، وبنية تحتية داعمة (مثل Kafka وRedis)، وعمليات تكامل SDK مع ClickStack.تُنشر جميع الخدمات في مساحة الأسماءotel-demo. ويتضمن كل Deployment ما يلي:- automatic instrumentation باستخدام OTel وClickStack SDKS لكل من traces وmetrics وlogs.
- ترسل جميع الخدمات بيانات instrumentation الخاصة بها إلى OpenTelemetry Collector باسم
my-hyperdx-hdx-oss-v2-otel-collector(غير منشور). - تمرير وسوم resource لربط logs وmetrics وtraces عبر متغير البيئة
OTEL_RESOURCE_ATTRIBUTES.
Running:بنية العرض التوضيحي
أضِف مستودع Helm chart الخاص بـ ClickStack
لنشر ClickStack، نستخدم Helm chart الرسمي.ويتطلب ذلك إضافة مستودع Helm الخاص بـ HyperDX:نشر ClickStack
بعد تثبيت مخطط Helm، يمكنك نشر ClickStack في عنقودك. يمكنك إما تشغيل جميع المكوّنات، بما في ذلك ClickHouse وHyperDX، داخل بيئة Kubernetes لديك، أو الاكتفاء بنشر OTel collector والاعتماد على Managed ClickStack لكلٍّ من ClickHouse وواجهة HyperDX.ClickStack Open Source (مُدار ذاتيًا)
ClickStack Open Source (مُدار ذاتيًا)
يثبّت الأمر التالي ClickStack في مساحة الأسماء يمكن للمستخدمين الذين لا ينشرون العرض التوضيحي لـ OTel تعديل ذلك واختيار مساحة أسماء مناسبة.
otel-demo. ويقوم مخطط Helm بنشر ما يلي:- مثيل ClickHouse
- HyperDX
- توزيعة ClickStack من OTel collector
- MongoDB لتخزين حالة تطبيق HyperDX
قد تحتاج إلى تعديل
storageClassName وفقًا لإعدادات عنقود Kubernetes لديك.Managed ClickStack
Managed ClickStack
إذا كنت تفضّل استخدام Managed ClickStack، فيمكنك نشر ClickStack وتعطيل ClickHouse المضمَّن.
ينشر المخطط حاليًا كلًا من HyperDX وMongoDB دائمًا. ومع أن هذه المكوّنات توفّر مسار وصول بديلًا، فإنها غير مدمجة مع آليات المصادقة في ClickHouse Cloud. وهذه المكوّنات مخصّصة للمسؤولين في نموذج النشر هذا، إذ توفّر الوصول إلى مفتاح API الآمن للإدخال اللازم لإدخال البيانات عبر OTel collector المنشور، ولكن لا ينبغي إتاحتها للمستخدمين النهائيين.
Running. لاحظ أن ClickHouse لن يظهر إذا كنت تستخدم Managed ClickStack:الوصول إلى واجهة HyperDX
حتى عند استخدام Managed ClickStack، يظل مثيل HyperDX المحلي المنشور في Kubernetes cluster مطلوبًا. فهو يوفّر مفتاح استيعاب يديره OpAMP server المضمَّن مع HyperDX، ما يؤمّن استيعاب البيانات عبر OTel collector المنشور — وهي ميزة غير متاحة حاليًا في Managed ClickStack.
ClusterIP ولا تكون مكشوفة خارجيًا افتراضيًا.للوصول إلى واجهة HyperDX، نفّذ توجيه المنفذ من 3000 إلى المنفذ المحلي 8080.استرداد مفتاح API للإدخال
تكون عملية إدخال البيانات إلى OTel collector الذي ينشره ClickStack collector مؤمّنة باستخدام مفتاح إدخال.انتقل إلىTeam Settings وانسخ Ingestion API Key من قسم API Keys. يضمن مفتاح API هذا أمان إدخال البيانات عبر OpenTelemetry collector.إنشاء سر Kubernetes لمفتاح API للإدخال
أنشئ سر Kubernetes جديدًا يتضمن مفتاح API للإدخال وconfig map تحتوي على موقع OTel collector المنشور باستخدام مخطط Helm الخاص بـ ClickStack. ستستخدم المكونات اللاحقة ذلك للسماح بإدخال البيانات إلى الـ OTel collector المنشور باستخدام مخطط Helm الخاص بـ ClickStack:أضف مستودع Helm الخاص بـ OpenTelemetry
لجمع مقاييس Kubernetes، سنقوم بنشر OTel collector قياسي وتهيئته لإرسال البيانات بأمان إلى ClickStack collector الخاص بنا باستخدام مفتاح API الخاص بالاستيعاب المذكور أعلاه.يتطلب ذلك تثبيت مستودع Helm الخاص بـ OpenTelemetry:نشر مكوّنات الـ collector في Kubernetes
لجمع السجلات والمقاييس من كلٍّ من المجموعة نفسها وكل عقدة على حدة، سنحتاج إلى نشر مُجمِّعَي بيانات OpenTelemetry منفصلَين، لكلٍّ منهما ملف manifest خاص به. يعمل الملفان المُرفقان -k8s_deployment.yaml وk8s_daemonset.yaml - معًا لجمع بيانات القياس الشاملة من مجموعة Kubernetes الخاصة بك.-
k8s_deployment.yamlينشر مثيلًا واحدًا من OpenTelemetry Collector مسؤولًا عن جمع الأحداث والبيانات الوصفية على مستوى العُنقود بأكمله. ويجمع أحداث Kubernetes ومقاييس العُنقود، ويُثري بيانات الرصد بملصقات البودات وتعليقاتها التوضيحية. ويعمل هذا المجمِّع كعملية نشر مستقلة مع نسخة متماثلة واحدة لتجنّب تكرار البيانات. -
k8s_daemonset.yamlينشر مجمِّعًا قائمًا على DaemonSet يعمل على كل عقدة في العُنقود. ويجمع المقاييس على مستوى العقدة وعلى مستوى البود، بالإضافة إلى سجلات الحاويات، باستخدام مكوّنات مثلkubeletstatsوhostmetricsوKubernetes Attribute Processor. وتُثري هذه المجمِّعات السجلات بالبيانات الوصفية وترسلها إلى HyperDX باستخدام مُصدِّر OTLP.
k8s_deployment.yaml
k8s_deployment.yaml
k8s_daemonset.yaml
k8s_daemonset.yaml
استكشف بيانات Kubernetes في HyperDX
انتقل إلى واجهة مستخدم HyperDX الخاصة بك، سواء عبر المثيل المنشور على Kubernetes أو من خلال Managed ClickStack.Managed ClickStack
Managed ClickStack
إذا كنت تستخدم Managed ClickStack، فما عليك سوى تسجيل الدخول إلى خدمة ClickHouse Cloud الخاصة بك واختيار “ClickStack” من القائمة اليمنى. ستتم مصادقتك تلقائيًا، ولن تحتاج إلى إنشاء مستخدم.سيتم إنشاء مصادر البيانات للسجلات والمقاييس والتتبعات مسبقًا لك.
ClickStack Open Source
ClickStack Open Source
للوصول إلى HyperDX المنشور محليًا، يمكنك إجراء إعادة توجيه للمنفذ باستخدام الأمر التالي، ثم الوصول إلى HyperDX على http://localhost:8080.
ClickStack في بيئة الإنتاجفي بيئة الإنتاج، نوصي باستخدام مورد Ingress مع TLS إذا لم تكن تستخدم Managed ClickStack. على سبيل المثال:
/kubernetes، مثل http://localhost:8080/kubernetes.يُفترض أن تكون علامات التبويب Pods وNodes وNamespaces جميعها معبأة بالبيانات.