> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# إنشاء بيانات OpenTelemetry اصطناعية باستخدام otelgen

> استخدم otelgen لإرسال سجلات وتتبعّات ومقاييس اصطناعية إلى ClickStack OpenTelemetry collector

[`otelgen`](https://github.com/krzko/otelgen) هي أداة CLI صغيرة مكتوبة بلغة Go تُنشئ سجلات وتتبعّات ومقاييس اصطناعية بتنسيق OTLP. استخدمها للتأكد من أن ClickStack OpenTelemetry collector الحالي يستقبل البيانات وأن الأحداث تظهر في ClickStack UI.

يفترض هذا الدليل أن الـ collector يعمل بالفعل مع OTLP endpoints على `4317` ‏(gRPC) و`4318` ‏(HTTP).

<Tabs>
  <Tab title="ClickStack المُدار">
    <Steps>
      <Step title="المتطلبات المسبقة" id="prerequisites-managed">
        يفترض هذا الدليل أنك أكملت [دليل Getting Started لـ Managed ClickStack](/docs/ar/clickstack/deployment/managed)، وأن لديك OpenTelemetry Collector قيد التشغيل مع إتاحة الوصول إلى نقطتَي نهاية OTLP عبر gRPC (`4317`) وHTTP (`4318`) من الجهاز الذي تشغّل عليه `otelgen`. وإذا كنت قد [أمّنت المجمّع](/docs/ar/clickstack/ingesting-data/collector#securing-the-collector) باستخدام `OTLP_AUTH_TOKEN`، فاحتفظ بهذه القيمة في متناول اليد.
      </Step>

      <Step title="تثبيت otelgen" id="install-otelgen-managed">
        ثبّت الأداة باستخدام Homebrew:

        ```shell theme={null}
        brew install krzko/tap/otelgen
        ```

        أو ثبّتها باستخدام Go:

        ```shell theme={null}
        go install github.com/krzko/otelgen@latest
        ```
      </Step>

      <Step title="تعيين متغيرات البيئة" id="set-env-vars-managed">
        صدّر نقطة نهاية المجمّع، وإذا كان المجمّع مؤمّنًا، فصدّر أيضًا رمز المصادقة:

        ```shell theme={null}
        export OTEL_ENDPOINT=<host>:4317
        export OTLP_AUTH_TOKEN=<your_otlp_auth_token>
        ```

        استخدم اسم المضيف والمنفذ الخاصين بالمجمّع. وإذا كان المجمّع يعمل على الجهاز نفسه، فستكون القيمة `localhost:4317`.

        <Info>
          **مجمّع غير مؤمّن**

          يكون ClickStack OpenTelemetry collector غير موثَّق افتراضيًا. إذا لم تتبع [تأمين المجمّع](/docs/ar/clickstack/ingesting-data/collector#securing-the-collector) لتعيين `OTLP_AUTH_TOKEN`، فتخطَّ `OTLP_AUTH_TOKEN` هنا واحذف الخيار `--header` من الأوامر أدناه.
        </Info>
      </Step>

      <Step title="توليد التتبعات" id="generate-traces-managed">
        أرسل دفعة قصيرة من traces متعددة الـ spans:

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          traces multi
        ```

        يشير `--rate` إلى عدد traces في الثانية، ويشير `--duration` إلى مدة التشغيل بالثواني. ويعطّل `--insecure` بروتوكول TLS لاتصال gRPC، وهذا مطلوب عند توجيه `otelgen` إلى منفذ OTLP غير المشفّر الخاص بالمجمّع.
      </Step>

      <Step title="توليد السجلات" id="generate-logs-managed">
        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          logs multi
        ```
      </Step>

      <Step title="توليد المقاييس" id="generate-metrics-managed">
        لا تراعي الأوامر الفرعية الخاصة بـ `metrics` الخيار `--duration`. شغّل الأمر ثم اضغط `Ctrl+C` بعد بضع ثوانٍ لإيقافه.

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 \
          metrics sum
        ```

        يدعم `otelgen` أيضًا الأوامر الفرعية `gauge` و`histogram` و`up-down-counter` و`exponential-histogram` ضمن `metrics`.
      </Step>

      <Step title="التحقق في ClickStack" id="verify-managed">
        افتح واجهة ClickStack من ClickHouse Cloud console. في عرض `Search`، بدّل الـ source بين `Logs` و`Traces` للتأكد من ظهور الأحداث الجديدة. اضبط النطاق الزمني على `Last 15 minutes`. افتح `Chart Explorer`، ثم حدّد `Metrics`، وأنشئ chart لأحد metric names التي يُنتجها `otelgen` (على سبيل المثال `otelgen.metrics.sum`) للتحقق من استيعاب المقاييس.
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack مفتوح المصدر">
    <Steps>
      <Step title="المتطلبات المسبقة" id="prerequisites-oss">
        يفترض هذا الدليل أنك شغّلت Open Source ClickStack باستخدام [تعليمات صورة الكل في واحد](/docs/ar/clickstack/getting-started/oss)، وأن نقاط نهاية OTLP (`4317` لـ gRPC و`4318` لـ HTTP) يمكن الوصول إليها. كما ستحتاج إلى مفتاح API للإدخال من واجهة HyperDX ضمن `Team Settings > API Keys`.
      </Step>

      <Step title="تثبيت otelgen" id="install-otelgen-oss">
        ثبّت الأداة باستخدام Homebrew:

        ```shell theme={null}
        brew install krzko/tap/otelgen
        ```

        أو ثبّتها باستخدام Go:

        ```shell theme={null}
        go install github.com/krzko/otelgen@latest
        ```
      </Step>

      <Step title="تعيين متغيرات البيئة" id="set-env-vars-oss">
        صدّر نقطة نهاية المجمّع ومفتاح API للإدخال:

        ```shell theme={null}
        export OTEL_ENDPOINT=localhost:4317
        export CLICKSTACK_API_KEY=<your_ingestion_api_key>
        ```
      </Step>

      <Step title="إنشاء التتبعات" id="generate-traces-oss">
        أرسل دفعة قصيرة من التتبعات متعددة الـ span:

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          traces multi
        ```

        يشير `--rate` إلى عدد التتبعات في الثانية، بينما يشير `--duration` إلى مدة التشغيل بالثواني. ويُفعّل `--insecure` استخدام gRPC بنص صريح مع المجمّع المحلي.
      </Step>

      <Step title="إنشاء السجلات" id="generate-logs-oss">
        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          logs multi
        ```
      </Step>

      <Step title="إنشاء المقاييس" id="generate-metrics-oss">
        لا تدعم الأوامر الفرعية `metrics` الخيار `--duration`. شغّل الأمر ثم اضغط `Ctrl+C` بعد بضع ثوانٍ لإيقافه.

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 \
          metrics sum
        ```

        يدعم `otelgen` أيضًا الأوامر الفرعية `gauge` و`histogram` و`up-down-counter` و`exponential-histogram` ضمن `metrics`.
      </Step>

      <Step title="التحقق في ClickStack" id="verify-oss">
        انتقل إلى [http://localhost:8080](http://localhost:8080) لفتح واجهة ClickStack. في عرض `Search`، بدّل الـ source بين `Logs` و`Traces` للتأكد من ظهور أحداث جديدة. اضبط النطاق الزمني على `Last 15 minutes`. ثم افتح `Chart Explorer`، واختر `Metrics`، وأنشئ chart لأحد أسماء المقاييس التي ينتجها `otelgen` (مثل `otelgen.metrics.sum`) للتحقق من إدخال المقاييس.
      </Step>
    </Steps>
  </Tab>
</Tabs>
