チュートリアル: Ruby on RailsアプリケーションでGitLab可観測性を使用する
この機能の利用可否は、機能フラグによって制御されます。
このチュートリアルでは、GitLab可観測性機能を使用して、Ruby on Railsアプリケーションを作成、設定、インストルメント、および監視する方法を学習します。
はじめる前
まず、以下を確認してください:
- GitLab.comまたはSelf-ManagedインスタンスのGitLab Ultimateサブスクリプション
- Ruby on Railsのローカルインストール
- Git、Ruby on Rails、およびOpenTelemetryのコアコンセプトに関する基本的な知識
新しいGitLabプロジェクトを作成
まず、新しいGitLabプロジェクトと対応するアクセストークンを作成します。このチュートリアルでは、プロジェクト名animalsを使用します。
- 左側のサイドバーの上部で、新規作成( )を選択し、新規プロジェクト/リポジトリを選択します。
- 空のプロジェクトの作成を選択します。
- プロジェクトの詳細を入力します。
- プロジェクト名フィールドに
animalsと入力します。
- プロジェクト名フィールドに
- プロジェクトを作成を選択します。
animalsプロジェクトの左側のサイドバーで、設定 > アクセストークンを選択します。apiスコープとデベロッパーロールでアクセストークンを作成します。トークンの値は後で必要になるため、安全な場所に保管してください。
Railsアプリケーションを作成
次に、インストルメントできる新しいRuby on Railsアプリケーションが必要です。このチュートリアルでは、動物のリストを保存するための簡単なアプリケーションを作成しましょう。
アプリケーションを作成するには:
コマンドラインから、以下を実行します:
rails new animalsanimalsディレクトリに移動し、アプリケーションを実行します:cd animals rails server -p 8080Webブラウザで
http://localhost:8080にアクセスし、アプリケーションが正しく実行されていることを確認してください。Animalクラスのモデルスキャフォールドを作成し、生成されたデータベース移行を実行します:
rails generate scaffold Animal species:string number_of_legs:integer dangerous:boolean rails db:migrateアプリケーションを再度実行し、
http://localhost:8080/animalsで動物のリストにアクセスします。動物を作成、編集、削除して、すべてが期待どおりに機能することを確認してください。OpenTelemetry gemとdotenv gemをGemfileに追加します:
bundle add opentelemetry-sdk opentelemetry-instrumentation-all opentelemetry-exporter-otlp dotenv設定を処理する初期化子を作成し、環境変数を格納するための
.envファイルを追加します:touch config/initializers/opentelemetry.rb touch .envconfig/initializers/opentelemetry.rbを編集し、次のコードを追加します:require 'opentelemetry/sdk' require 'opentelemetry/instrumentation/all' require 'opentelemetry-exporter-otlp' OpenTelemetry::SDK.configure do |c| c.service_name = 'animals-rails' c.use_all() endプロジェクトIDを見つけます:
animalプロジェクトの概要ページの右上隅にあるアクション( )を選択します。- Copy project ID(プロジェクトIDをコピー)を選択します。コピーしたIDを後で使用するために保存します。
.envを編集し、次のコードを追加します:OTEL_EXPORTER = "otlphttp" OTEL_EXPORTER_OTLP_ENDPOINT = "https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observability" OTEL_EXPORTER_OTLP_HEADERS = "PRIVATE-TOKEN={{ACCESS_TOKEN}}" OTEL_LOG_LEVEL = "debug"必ず
PROJECT_IDとACCESS_TOKENを、以前に取得した値に置き換えてください。Self-Managedインスタンスを使用している場合は、gitlab.comをGitLab Self-Managedインスタンスのホスト名に置き換えます。
トレースを表示
GitLab可観測性トレーシングを使用するように設定されたアプリケーションがあるため、GitLab.comでエクスポートされたトレースを表示できます。
エクスポートされたトレースを表示するには:
animalsアプリケーションを再度起動します。http://localhost:8080/animalsにアクセスし、アプリケーションでいくつかのアクションを実行します。animalsプロジェクトの左側のサイドバーで、モニタリング > トレースを選択します。すべてが正しく動作している場合は、各コントローラーアクションのトレースが表示されます。オプション。トレースを選択して、そのスパンを表示します。
おつかれさまでした。アプリケーションが正常に作成され、GitLab可観測性機能を使用するように設定され、アプリケーションが作成したトレースが検査されました。この簡単なアプリケーションで引き続き実験するか、より複雑なアプリケーションを設定してトレースをエクスポートしてみてください。
可観測性トレーシングはまだ本番環境での使用に対応していません。Ruby on RailsアプリケーションでOpenTelemetryコレクターを使用するログまたはメトリクスに対する公式サポートはありません。

