> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# الكل في واحد

> نشر ClickStack Open Source بوضع الكل في واحد - حزمة observability لـ ClickHouse

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

تجمع صورة Docker الشاملة هذه جميع مكوّنات ClickStack Open Source:

* **ClickHouse**
* **HyperDX**
* **مجمّع OpenTelemetry ‏(OTel)** (يُعرّض OTLP على المنفذين `4317` و`4318`)
* **MongoDB** (للاحتفاظ بحالة التطبيق بشكل دائم)

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

<div id="suitable-for">
  ### مناسب لـ
</div>

* العروض التوضيحية
* الاختبار المحلي للمكدس بالكامل

<div id="deployment-steps">
  ## خطوات النشر
</div>

<br />

<Steps>
  <Step>
    ### النشر باستخدام Docker

    سيشغّل الأمر التالي مجمّع OpenTelemetry (على المنفذين 4317 و4318) وواجهة HyperDX (على المنفذ 8080).

    ```shell theme={null}
    docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
    ```

    <Info>
      **تحديث اسم الصورة**

      تُنشر صور ClickStack الآن تحت الاسم `clickhouse/clickstack-*` (وكانت تُنشر سابقًا تحت `docker.hyperdx.io/hyperdx/*`).
    </Info>
  </Step>

  <Step>
    ### الانتقال إلى واجهة HyperDX

    زُر [http://localhost:8080](http://localhost:8080) للوصول إلى واجهة HyperDX.

    أنشئ مستخدمًا بإدخال اسم مستخدم وكلمة مرور يستوفيان المتطلبات.

    عند النقر على `Create`، ستُنشأ مصادر البيانات لمثيل ClickHouse المدمج.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Y4vFHGANad_GoFVH/images/use-cases/observability/hyperdx-login.png?fit=max&auto=format&n=Y4vFHGANad_GoFVH&q=85&s=c991ac28df1abc86034ca2b9d3cb3cc2" alt="HyperDX UI" size="lg" width="3600" height="1900" data-path="images/use-cases/observability/hyperdx-login.png" />

    للاطلاع على مثال لاستخدام مثيل ClickHouse بديل، راجع ["استخدام ClickHouse Cloud"](#using-clickhouse-cloud).
  </Step>

  <Step>
    ### إدخال البيانات

    لإدخال البيانات، راجع ["إدخال البيانات"](/ar/clickstack/ingesting-data/index).
  </Step>
</Steps>

<div id="persisting-data-and-settings">
  ## الاحتفاظ بالبيانات والإعدادات
</div>

للاحتفاظ بالبيانات والإعدادات عند إعادة تشغيل الحاوية، يمكنك تعديل أمر Docker أعلاه لربط المسارات `/data/db` و`/var/lib/clickhouse` و`/var/log/clickhouse-server`. على سبيل المثال:

```shell theme={null}
# ensure directories exist
mkdir -p .volumes/db .volumes/ch_data .volumes/ch_logs
# modify command to mount paths
docker run \
  -p 8080:8080 \
  -p 4317:4317 \
  -p 4318:4318 \
  -v "$(pwd)/.volumes/db:/data/db" \
  -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
  -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
  clickhouse/clickstack-all-in-one:latest
```

<div id="deploying-to-production">
  ## النشر في بيئة الإنتاج
</div>

لا ينبغي نشر هذا الخيار في بيئة الإنتاج للأسباب التالية:

* **تخزين غير دائم:** تُخزَّن جميع البيانات باستخدام نظام ملفات overlay الأصلي في Docker. هذا الإعداد لا يوفّر أداءً مناسبًا عند التوسّع، كما ستُفقد البيانات إذا أُزيلت الحاوية أو أُعيد تشغيلها، ما لم يقم المستخدمون [بتركيب مسارات الملفات المطلوبة](#persisting-data-and-settings).
* **غياب عزل المكوّنات:** تعمل جميع المكوّنات داخل حاوية Docker واحدة. وهذا يمنع التوسّع والمراقبة بشكل مستقل، كما يطبّق أي حدود `cgroup` على مستوى جميع العمليات. ونتيجة لذلك، قد تتنافس المكوّنات على CPU والذاكرة.

<div id="customizing-ports-deploy">
  ## تخصيص المنافذ
</div>

إذا كنت بحاجة إلى تخصيص منفذ التطبيق (8080) أو منفذ API ‏(8000) اللذين يعمل عليهما HyperDX Local، فستحتاج إلى تعديل الأمر `docker run` لإعادة توجيه المنافذ المناسبة وضبط بعض متغيرات البيئة.

ويمكن تغيير منافذ OpenTelemetry ببساطة عبر تعديل خيارات إعادة توجيه المنافذ. على سبيل المثال، استبدال `-p 4318:4318` بـ `-p 4999:4318` لتغيير منفذ HTTP الخاص بـ OpenTelemetry إلى 4999.

```shell theme={null}
docker run -p 8080:8080 -p 4317:4317 -p 4999:4318 clickhouse/clickstack-all-in-one:latest
```

<div id="using-clickhouse-cloud">
  ## استخدام ClickHouse Cloud
</div>

يمكن استخدام هذا التوزيع مع ClickHouse Cloud. ومع أن مثيل ClickHouse المحلي سيظل منشورًا (وسيتم تجاهله)، يمكن تهيئة OTel collector لاستخدام مثيل ClickHouse Cloud من خلال تعيين متغيرات البيئة `CLICKHOUSE_ENDPOINT` و`CLICKHOUSE_USER` و`CLICKHOUSE_PASSWORD`.

على سبيل المثال:

```shell theme={null}
export CLICKHOUSE_ENDPOINT=<HTTPS ENDPOINT>
export CLICKHOUSE_USER=<CLICKHOUSE_USER>
export CLICKHOUSE_PASSWORD=<CLICKHOUSE_PASSWORD>

docker run -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} -p 8080:8080 -p 4317:4317 -p 4318:4318 clickhouse/clickstack-all-in-one:latest
```

يجب أن تكون قيمة `CLICKHOUSE_ENDPOINT` هي نقطة نهاية HTTPS الخاصة بـ ClickHouse Cloud، متضمنةً المنفذ `8443`، على سبيل المثال `https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443`

عند الاتصال بـ واجهة HyperDX، انتقل إلى [`Team Settings`](http://localhost:8080/team) وأنشئ اتصالًا بخدمة ClickHouse Cloud الخاصة بك، ثم أضف المصادر المطلوبة.

<div id="configuring-collector">
  ## إعداد مجمّع OpenTelemetry
</div>

يمكن تعديل إعدادات OTel collector عند الحاجة - راجع ["تعديل الإعدادات"](/ar/clickstack/ingesting-data/collector#modifying-otel-collector-configuration).

<div id="schema-choice-map-vs-json">
  ## اختيار المخطط: Map مقابل JSON
</div>

يخزّن ClickStack السمات في أعمدة `Map(LowCardinality(String), String)` افتراضيًا. هذا هو المخطط الموصى به لأعباء عمل Observability. وعند دمجه مع [تسلسل map المقسّم إلى buckets](/ar/reference/data-types/map#bucketed-map-serialization) وفهارس النص على مفاتيح map وقيمه، فإنه يوفّر عمليات بحث انتقائية من دون الكلفة الإضافية لإدخال كل مفتاح على حدة كما في JSON subcolumns الديناميكية.

يتوفر مخطط من النوع `JSON` في مرحلة بيتا للتقييم على أعباء العمل التي تتضمن مجموعة صغيرة ومستقرة من مفاتيح السمات. وهو **غير موصى به** كخيار افتراضي. راجع [Map مقابل نوع JSON](/ar/clickstack/ingesting-data/schema/map-vs-json) للاطلاع على المقارنة الكاملة ومتغيرات البيئة المطلوبة لتمكين دعم JSON.
