正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: NodeJSアプリケーションでGitLab可観測性を使用する

この機能の利用可否は、機能フラグによって制御されます。

このチュートリアルでは、GitLab GitLab可観測性の機能を使用して、NodeJSアプリケーションを構成、計測、監視する方法を学びます。

はじめる前

以下のものがあることを確認してください:

  • GitLab.comまたはSelf-ManagedインスタンスのGitLab Ultimateサブスクリプション
  • NodeJSのローカルインストール
  • Git、NodeJS、JavaScript、およびOpenTelemetryのコアコンセプトに関する基本的な知識

新しいGitLabプロジェクトを作成します

まず、新しいGitLabプロジェクトと対応するアクセストークンを作成します。このチュートリアルでは、プロジェクト名nodejs-O11y-tutorialを使用します。

  1. 左側のサイドバーの上部で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  2. テンプレートから作成を選択します。
  3. NodeJS Expressのテンプレートを使用を選択します。
  4. プロジェクトの詳細を入力してください。
    • プロジェクト名フィールドに、nodejs-O11y-tutorialを入力します。
  5. プロジェクトを作成を選択します。
  6. nodejs-O11y-tutorialプロジェクトの左側のサイドバーで、設定 > アクセストークンを選択します。
  7. apiスコープとデベロッパーロールでアクセストークンを作成します。トークンの値は後で必要になるため、安全な場所に保管してください。

NodeJSアプリケーションをインストルメント化する

次に、NodeJSアプリケーションをインストルメント化する必要があります。

  1. 以下を実行して、NodeJSがインストールされていることを確認します:

    node -v
  2. nodejs-O11y-tutorialプロジェクトをクローンし、cd nodejs-O11y-tutorialディレクトリに移動します。

  3. 以下を実行して依存関係をインストールします:

    npm install
  4. アプリケーションを実行します:

    PORT=8080 node server.js
  5. Webブラウザでhttp://localhost:8080にアクセスし、アプリケーションが正しく実行されていることを確認します。

  6. OpenTelemetryパッケージを追加します:

    npm install --save @opentelemetry/api \
      @opentelemetry/auto-instrumentations-node
  7. プロジェクトIDを見つけます:

    1. nodejs-O11y-tutorialプロジェクトの概要ページの右上隅で、アクション ellipsis_v )を選択します。
    2. Copy project ID(プロジェクトIDをコピー)を選択します。コピーしたIDを後で使用するために保存します。
  8. インストルメンテーションを使用してプロジェクトを構成し、実行します:

    env OTEL_TRACES_EXPORTER="otlphttp" \
    OTEL_EXPORTER_OTLP_ENDPOINT="https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observability" \
    OTEL_EXPORTER_OTLP_HEADERS="PRIVATE-TOKEN={{ACCESS_TOKEN}}" \
    OTEL_SERVICE_NAME="nodejs-O11y-tutorial" \
    OTEL_LOG_LEVEL="debug" \
    NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register" \
    PORT=8080 node server.js

    PROJECT_IDACCESS_TOKENを、先ほど取得した値に置き換えてください。GitLab Self-Managedインスタンスを使用している場合は、gitlab.comをGitLab Self-Managedインスタンスのホスト名に置き換えます。

トレースを表示

可観測性トレーシングを使用するように構成されたアプリケーションがあるので、GitLab.comでエクスポートされたトレースを表示できます。

エクスポートされたトレースを表示するには:

  1. インストルメンテーションを使用して、nodejs-O11y-tutorialアプリケーションを再度起動します。

  2. http://localhost:8080/にアクセスし、アプリケーションでいくつかのアクションを実行します。

  3. nodejs-O11y-tutorialプロジェクトの左側のサイドバーで、モニタリング > トレースを選択します。すべてが正しく動作している場合は、リクエストごとにトレースが表示されます。

    メトリクスのUI

  4. オプション。トレースを選択して、そのスパンを表示します。

    トレースUI

おつかれさまでした。アプリケーションが正常に作成され、GitLab可観測性の機能を使用するように構成され、アプリケーションが作成したトレースが検証されました。このアプリケーションで実験を継続するか、より複雑なアプリケーションを構成してトレースをエクスポートしてみてください。

可観測性トレーシングはまだ本番環境での使用に対応していません。NodeJSアプリケーションでOpenTelemetryコレクターを使用して、ログまたはメトリクスの公式サポートはありません。