Skip to content

翻訳 🌍

このページの翻訳を行ったり、改善したりすることができます。

コントリビュートする

セルフホストインストール

私たちは、インフラストラクチャをよりコントロールする必要がある組織向けに、Tuistサーバーのセルフホストバージョンを提供しています。このバージョンでは、お客様のインフラストラクチャ上でTuistをホストすることができ、データの安全性とプライバシーを確保することができます。

::: 警告 ライセンスが必要です。

Tuistのセルフホスティングには、法的に有効な有料ライセンスが必要です。Tuistのオンプレミスバージョンは、Enterpriseプランの組織のみが利用可能です。このバージョンにご興味のある方は、[email protected]までご連絡ください。

:::

リリース・ケイデンス

Tuistの新バージョンは、新しいリリース可能な変更がmainに載るたびに継続的にリリースしています。私たちはsemantic versioningに従って、予測可能なバージョニングと互換性を保証します。

この主要なコンポーネントは、オンプレミスのユーザーとの調整が必要となるTuistサーバーの変更にフラグを立てるために使用されます。私たちがそれを使うことを期待しないでください。万が一必要になったとしても、私たちはスムーズな移行ができるよう協力しますのでご安心ください。

継続的デプロイメント

Tuistの最新バージョンを毎日自動的にデプロイする継続的デプロイメントパイプラインを設定することを強くお勧めします。これにより、常に最新の機能、改善、セキュリティアップデートにアクセスできるようになります。

毎日新しいバージョンをチェックしてデプロイする GitHub Actions のワークフローの例です:

yaml
name: Update Tuist Server
on:
  schedule:
    - cron: '0 3 * * *' # Run daily at 3 AM UTC
  workflow_dispatch: # Allow manual runs

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
      - name: Check and deploy latest version
        run: |
          # Your deployment commands here
          # Example: docker pull ghcr.io/tuist/tuist:latest
          # Deploy to your infrastructure

ランタイム要件

このセクションでは、Tuistサーバーをお客様のインフラストラクチャでホスティングするための要件を概説します。

互換性マトリックス

Tuistサーバーは以下の最小バージョンでテストされ、互換性があります:

コンポーネント最小バージョン備考
PostgreSQL15TimescaleDB拡張機能付き
TimescaleDB2.16.1必須 PostgreSQL 拡張モジュール (非推奨)
クリックハウス25分析に必要

TIMESCALEDB DEPRECATION

TimescaleDBは現在Tuistサーバーの必須PostgreSQL拡張で、時系列データの保存とクエリに使用されています。しかし、TimescaleDBは非推奨です。 、近い将来、すべての時系列機能をClickHouseに移行するため、必須の依存関係から外れる予定です。今のところ、PostgreSQLインスタンスにTimescaleDBがインストールされ、有効になっていることを確認してください。

Docker-仮想化イメージの実行

サーバーはDockerイメージとしてGitHub's Container Registry経由で配布します。

これを実行するには、インフラがDockerイメージの実行をサポートしている必要がある。ほとんどのインフラ・プロバイダーがDockerをサポートしているのは、Dockerが本番環境でソフトウェアを配布・実行するための標準的なコンテナになっているからだ。

Postgresデータベース

Dockerイメージの実行に加えて、リレーショナルデータと時系列データを保存するために、TimescaleDB拡張付きのPostgresデータベースが必要です。ほとんどのインフラプロバイダーはPostgresデータベースを提供しています(例:AWSGoogle Cloud)。

TimescaleDBエクステンションが必要です: Tuistは、効率的な時系列データの保存とクエリのためにTimescaleDBエクステンションを必要とします。この拡張機能は、コマンドイベント、分析、その他の時間ベースの機能に使用されます。Tuistを実行する前に、PostgreSQLインスタンスにTimescaleDBがインストールされ、有効になっていることを確認してください。

::: 情報 移住

Dockerイメージのエントリポイントは、サービスを開始する前に、保留中のスキーママイグレーションを自動的に実行します。TimescaleDBエクステンションがないために移行に失敗した場合は、まずデータベースにインストールする必要があります。

:::

クリックハウスデータベース

Tuistは大量の分析データの保存とクエリにClickHouseを使用しています。ClickHouseは、ビルドインサイトのような機能のために**、** 、TimescaleDBを段階的に廃止していく中で、主要な時系列データベースになる予定です。ClickHouseをセルフホストするか、ホスティングサービスを利用するかを選択できます。

::: 情報 移住

Dockerイメージのエントリーポイントは、サービスを開始する前に、保留中のClickHouseスキーマ・マイグレーションを自動的に実行します。

:::

ストレージ

また、ファイル(フレームワークやライブラリのバイナリなど)を保存するソリューションも必要です。現在、私たちはS3に準拠したストレージをサポートしています。

コンフィギュレーション

サービスのコンフィギュレーションは、環境変数を通して実行時に行われます。これらの変数は機密性が高いため、暗号化して安全なパスワード管理ソリューションに保存することをお勧めします。ご安心ください、Tuistはこれらの変数を細心の注意を払って扱い、ログに表示されることがないようにしています。

::: 情報 ランチ・チェック

必要な変数は起動時に確認されます。欠けている変数があれば起動は失敗し、エラーメッセージに欠落している変数の詳細が表示されます。

:::

ライセンス設定

オンプレミスのユーザーとして、環境変数として公開する必要があるライセンスキーを受け取ります。このキーは、ライセンスを検証し、サービスが契約条件内で実行されていることを確認するために使用されます。

環境変数説明必須デフォルト
TUIST_LICENSEサービスレベル契約締結後に提供されるライセンスはい******
tuist_license_certificate_base64****TUIST_LICENSE の例外的な代替手段。Base64 エンコードされた公開証明書で、サーバーが外部サービスと通信できないエアギャップ環境でオフラインのライセンス検証を行います。 TUIST_LICENSE が使用できない場合のみ使用してください。``はいLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0t...

*TUIST_LICENSE またはTUIST_LICENSE_CERTIFICATE_BASE64 のどちらかを提供する必要がありますが、両方を提供する必要はありません。標準的なデプロイメントにはTUIST_LICENSE を使用してください。

有効期限

ライセンスには有効期限があります。ライセンスの有効期限が30日未満である場合、サーバーと相互作用するTuistコマンドの使用中に警告が表示されます。ライセンスの更新をご希望の場合は、[email protected]までご連絡ください。

ベース環境設定

環境変数説明必須デフォルト
TUIST_APP_URLインターネットからインスタンスにアクセスするためのベースURLはいhttps://tuist.dev
tuist_secret_key_base情報の暗号化に使用するキー(クッキーのセッションなど)はいc5786d9f869239cbddeca645575349a570ffebb332b64400c37256e1c9cb7ec831345d03dc0188edd129d09580d8cbf3ceaf17768e2048c037d9c31da5dcacfa
tuist_secret_key_passwordハッシュ化されたパスワードを生成するペッパーいいえtuist_secret_key_base
tuist_secret_key_tokensランダム・トークンを生成するためのシークレット・キーいいえtuist_secret_key_base
tuist_secret_key_encryption機密データのAES-GCM暗号化のための32バイトのキーいいえtuist_secret_key_base
TUIST_USE_IPV61 、IPv6アドレスを使用するようにアプリを設定する。いいえ01
tuist_log_levelアプリで使用するログレベルいいえインフォメーションログレベル
tuist_github_アプリ名GitHubアプリ名のURLバージョンいいえマイアプリ
tuist_github_app_private_key_base64GitHubアプリで、PRコメントの自動投稿などの追加機能のロックを解除するために使用する、base64エンコードされた秘密鍵。いいえLS0tLS1CRUdJTiBSU0EgUFJJVkFUR...
tuist_github_app_private_keyGitHub アプリで、PR コメントの自動投稿などの追加機能のロックを解除するために使用する秘密鍵。特殊文字の問題を避けるため、base64 エンコード版を使うことを推奨します。いいえ-----RSAを始める
tuist_ops_user_handles操作URLにアクセスできるユーザーハンドルのカンマ区切りリスト。いいえユーザー1,ユーザー2
TUIST_WEBウェブ・サーバー・エンドポイントを有効にするいいえ11 または0

データベース設定

以下の環境変数は、データベース接続の設定に使用されます:

環境変数説明必須デフォルト
DATABASE_URLPostgresデータベースにアクセスするためのURL。URLには認証情報を含める必要があることに注意してください。はいpostgres://username:[email protected]/production
tuist_clickhouse_urlClickHouseデータベースにアクセスするためのURLです。URLには認証情報を含める必要があります。いいえhttp://username:[email protected]/production
tuist_use_ssl_for_database。trueの場合、データベースへの接続にSSLを使用する。いいえ11
tuist_database_pool_sizeコネクションプールで開いておくコネクション数いいえ1010
tuist_database_queue_targetプールからチェックアウトされたすべての接続がキュー間隔以上かかったかどうかをチェックする間隔 (ミリ秒単位) (詳細)いいえ300300
tuist_database_queue_intervalプールが新しいコネクションのドロップを開始すべきかどうかを決定するために使用する、キュー内のしきい値時間 (ミリ秒単位) (詳細)いいえ10001000
tuist_クリックハウス_フラッシュ_インターバル_msClickHouseバッファフラッシュ間のミリ秒単位の時間間隔いいえ50005000
tuist_clickhouse_max_buffer_sizeフラッシュを強制する前のClickHouseバッファの最大サイズ(バイト単位いいえ10000001000000
tuist_clickhouse_buffer_pool_sizeClickHouseバッファプロセスの実行数いいえ55

認証環境設定

IDプロバイダ(IdP)](https://en.wikipedia.org/wiki/Identity_provider)を介した認証を容易にします。これを利用するには、選択したプロバイダに必要なすべての環境変数がサーバの環境に存在することを確認してください。**** 変数が欠落していると、Tuist はそのプロバイダをバイパスすることになります。

ギットハブ

GitHub App](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps)を使った認証を推奨しますが、OAuth Appを使うこともできます。サーバー環境には、GitHubが指定する必須環境変数をすべて含めるようにしてください。変数がないと、TuistはGitHub認証を見落としてしまいます。GitHubアプリを適切に設定するには:

  • GitHubアプリの一般設定:
    • クライアント ID をコピーし、TUIST_GITHUB_APP_CLIENT_ID として設定します。
    • 新しいクライアントシークレット を作成・コピーし、TUIST_GITHUB_APP_CLIENT_SECRET として設定します。
    • コールバックURLhttp://YOUR_APP_URL/users/auth/github/callback として設定します。YOUR_APP_URL には、サーバーのIPアドレスを指定することもできます。
  • 以下のパーミッションが必要です:
    • リポジトリ:
      • プルリクエスト読み書き
    • アカウント
      • メールアドレス読み取り専用

Permissions and events'sAccount permissions section, setEmail addresses permission toRead-only.

次に、Tuistサーバーが動作する環境で以下の環境変数を公開する必要がある:

環境変数説明必須デフォルト
tuist_github_app_client_idGitHubアプリケーションのクライアントIDはいIv1.a629723000043722
tuist_github_app_client_secretアプリケーションのクライアント・シークレットはい232f972951033b89799b0fd24566a04d83f44ccc

グーグル

OAuth 2](https://developers.google.com/identity/protocols/oauth2)を使用してGoogleとの認証を設定できます。そのためには、OAuthクライアントIDタイプの新しいクレデンシャルを作成する必要がある。クレデンシャルを作成する際、アプリケーションタイプとして "Web Application "を選択し、名前をTuist とし、リダイレクトURIを{base_url}/users/auth/google/callback に設定する。base_url は、ホストしているサービスが稼働しているURLである。アプリを作成したら、クライアントIDとシークレットをコピーし、それぞれ環境変数GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRET に設定する。

::: 情報 同意画面スコープ

同意画面を作成する必要があるかもしれない。その際、userinfo.emailopenid スコープを必ず追加し、アプリを内部とマークしてください。

:::

Okta

OAuth2.0](https://oauth.net/2/)プロトコルにより、Oktaで認証を有効にすることができます。以下の手順に従って、Okta上でアプリを作成する必要があります

Oktaアプリケーションのセットアップ時にクライアントIDとシークレットを取得したら、以下の環境変数を設定する必要があります:

環境変数説明必須デフォルト
tuist_okta_1_client_idOktaと認証するためのクライアントID。この番号は組織IDでなければなりません。はい
tuist_okta_1_client_secretOktaと認証するためのクライアントシークレットはい

1 の数字を組織IDに置き換える必要がある。これは通常1ですが、データベースで確認してください。

ストレージ環境設定

TuistはAPIを通じてアップロードされた成果物を格納するストレージを必要とする。Tuistが効果的に動作するためには、サポートされているストレージソリューション のいずれかを設定することが不可欠である。

S3 準拠のストレージ {#s3compliant-storages}.

アーティファクトの保存には、任意の S3 準拠のストレージ・プロバイダを使用できます。ストレージプロバイダとの統合を認証および構成するには、以下の環境変数が必要です:

環境変数説明必須デフォルト
TUIST_S3_ACCESS_KEY_ID またはAWS_ACCESS_KEY_IDストレージ・プロバイダに対して認証するためのアクセス・キーID。はいアキアイオスフォード
TUIST_S3_SECRET_ACCESS_KEY またはAWS_SECRET_ACCESS_KEYストレージ・プロバイダに対して認証するための秘密のアクセス・キー。はいwJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
TUIST_S3_REGION またはAWS_REGIONバケツがある地域いいえオート米西2
TUIST_S3_ENDPOINT またはAWS_ENDPOINTストレージ・プロバイダのエンドポイントはいhttps://s3.us-west-2.amazonaws.com
tuist_s3_バケット名成果物が保存されるバケツの名前はいツイスト・アーティファクト
tuist_s3_ca_cert_pemS3 HTTPS 接続を検証するための PEM エンコードされた CA 証明書。自己署名証明書または内部認証局を使用するエアギャップ環境に便利です。いいえシステム CA バンドル-----BEGIN CERTIFICATE-----...ⅳ-END CERTIFICATE-----...
tuist_s3_connect_timeoutストレージ・プロバイダへの接続を確立するためのタイムアウト(ミリ秒)。いいえ30003000
tuist_s3_receive_timeoutストレージ・プロバイダからデータを受信するタイムアウト(ミリ秒単位いいえ50005000
tuist_s3_pool_timeoutストレージ・プロバイダへの接続プールのタイムアウト(ミリ秒)。タイムアウトなしの場合はinfinity を使用します。いいえ50005000
tuist_s3_pool_max_idle_timeプール内の接続の最大アイドル時間 (ミリ秒単位)。接続を無期限に維持するにはinfinity を使用する。いいえインフィニティ60000
tuist_s3_pool_sizeプールあたりの最大接続数いいえ500500
tuist_s3_pool_count使用するコネクションプールの数いいえシステム・スケジューラの数4
tuist_s3_protocolストレージ・プロバイダに接続する際に使用するプロトコル (http1 またはhttp2)いいえエイチティーティーピーワンエイチティーティーピーワン
tuist_s3_virtual_hostバケツ名をサブドメイン(バーチャルホスト)として URL を構築するかどうか。いいえ擬似1

::: 環境変数からWeb Identity Tokenを使ったAWS認証の情報

ストレージプロバイダがAWSで、ウェブアイデンティティトークンを使って認証したい場合は、環境変数TUIST_S3_AUTHENTICATION_METHODaws_web_identity_token_from_env_vars に設定すれば、Tuistは従来のAWS環境変数を使ってその方法を使う。

:::

Google Cloud Storage

Google Cloud Storageの場合は、これらのドキュメントに従って、AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY のペアを取得する。AWS_ENDPOINThttps://storage.googleapis.com に設定する。その他の環境変数は、他のS3準拠のストレージと同じである。

電子メール設定

Tuistは、ユーザー認証とトランザクション通知(パスワードリセット、アカウント通知など)のために電子メール機能を必要とします。現在、メールプロバイダーとしてMailgun のみがサポートされています。

環境変数説明必須デフォルト
tuist_mailgun_api_keyMailgunで認証するためのAPIキーはいキー1234567890abcdef
tuist_mailing_domainメールの送信元ドメインはいmg.tuist.io
tuist_mailing_from_address。差出人」フィールドに表示されるメールアドレスはい[email protected]
tuist_mailing_返信先アドレスユーザー返信用の返信先アドレス(オプションいいえ[email protected]
tuist_skip_email_confirmation新規ユーザー登録時の電子メール確認をスキップします。有効にすると、ユーザーは自動的に確認され、登録後すぐにログインできます。いいえ電子メールが設定されていない場合は true, 電子メールが設定されている場合は falsetrue,false,1,0

* 電子メール設定変数は、電子メールを送信する場合にのみ必要です。設定されていない場合、Eメール確認は自動的にスキップされます。

SMTPサポート

一般的なSMTPサポートは現在ご利用いただけません。オンプレミス展開にSMTPサポートが必要な場合は、[email protected]までご連絡いただき、要件をご相談ください。

:::

::: 情報 エアギャップ展開

インターネットアクセスや電子メールプロバイダの設定がないオンプレミスインストールの場合、電子メール確認はデフォルトで自動的にスキップされます。ユーザーは登録後すぐにログインできます。電子メールが設定されていても確認を省略したい場合は、TUIST_SKIP_EMAIL_CONFIRMATION=true を設定してください。電子メールが設定されているときに電子メールの確認を要求するには、TUIST_SKIP_EMAIL_CONFIRMATION=false を設定します。

:::

Gitプラットフォームの設定

TuistはGitプラットフォームと統合して、プルリクエストにコメントを自動的に投稿するなどの追加機能を提供することができる。

ギットハブ

GitHub アプリを作成する](https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/about-creating-github-apps) 必要があります。OAuth GitHub アプリを作成したのでなければ、認証用に作成したものを再利用できます。Permissions and events'のRepository permissions セクションで、さらにPull requests permission をRead and write に設定する必要があります。

TUIST_GITHUB_APP_CLIENT_IDTUIST_GITHUB_APP_CLIENT_SECRET の上に、以下の環境変数が必要です:

環境変数説明必須デフォルト
tuist_github_app_private_keyGitHubアプリケーションの秘密鍵はい-----RSA秘密鍵の開始------...

ローカルでのテスト

お客様のインフラにデプロイする前に、ローカルマシンでTuistサーバをテストするために必要なすべての依存関係を含む包括的なDocker Compose設定を提供します:

  • PostgreSQL 15とTimescaleDB 2.16拡張(非推奨)
  • クリックハウス25アナリティクス
  • クリックハウス・キーパー
  • S3互換ストレージのMinIO
  • デプロイ時にKVストレージを持続させるためのRedis(オプション)
  • データベース管理用pgweb

危険なライセンスが必要です。

ローカルの開発インスタンスを含むTuistサーバーを実行するには、有効なTUIST_LICENSE 環境変数が法的に必要です。ライセンスが必要な場合は、[email protected]までご連絡ください。

:::

クイックスタート:

  1. 設定ファイルをダウンロードする:

    bash
    curl -O https://docs.tuist.io/server/self-host/docker-compose.yml
    curl -O https://docs.tuist.io/server/self-host/clickhouse-config.xml
    curl -O https://docs.tuist.io/server/self-host/clickhouse-keeper-config.xml
    curl -O https://docs.tuist.io/server/self-host/.env.example
  2. 環境変数を設定する:

    bash
    cp .env.example .env
    # Edit .env and add your TUIST_LICENSE and authentication credentials
  3. すべてのサービスを開始する:

    bash
    docker compose up -d
    # or with podman:
    podman compose up -d
  4. http://localhost:8080、サーバーにアクセスする。

サービス・エンドポイント:

共通コマンド:

サービス状況を確認する:

bash
docker compose ps
# or: podman compose ps

ログを見る

bash
docker compose logs -f tuist

サービスを停止する:

bash
docker compose down

すべてをリセットする(すべてのデータを削除する):

bash
docker compose down -v

設定ファイル:

デプロイメント

公式のTuist Dockerイメージは以下で入手できる:

ghcr.io/tuist/tuist

Dockerイメージのプル

以下のコマンドを実行すれば、画像を取り出すことができる:

bash
docker pull ghcr.io/tuist/tuist:latest

あるいは特定のバージョンを引き出す:

bash
docker pull ghcr.io/tuist/tuist:0.1.0

Dockerイメージをデプロイする

Dockerイメージのデプロイプロセスは、選択したクラウドプロバイダと組織の継続的なデプロイアプローチによって異なります。Kubernetes](https://kubernetes.io/)のようなほとんどのクラウドソリューションやツールは、基本単位としてDockerイメージを利用しているため、このセクションの例は既存のセットアップとうまく一致するはずです。

::: 警告

デプロイメントパイプラインでサーバーが稼働していることを検証する必要がある場合、GET HTTPリクエストを/ready に送信し、レスポンスで200 ステータスコードをアサートすることができます。

:::

飛ぶ

Fly](https://fly.io/)にアプリをデプロイするには、fly.toml 設定ファイルが必要です。継続的デプロイメント(CD)パイプライン内で動的に生成することを検討してください。以下に参考例を示します:

toml
app = "tuist"
primary_region = "fra"
kill_signal = "SIGINT"
kill_timeout = "5s"

[experimental]
  auto_rollback = true

[env]
  # Your environment configuration goes here
  # Or exposed through Fly secrets

[processes]
  app = "/usr/local/bin/hivemind /app/Procfile"

[[services]]
  protocol = "tcp"
  internal_port = 8080
  auto_stop_machines = false
  auto_start_machines = false
  processes = ["app"]
  http_options = { h2_backend = true }

  [[services.ports]]
    port = 80
    handlers = ["http"]
    force_https = true

  [[services.ports]]
    port = 443
    handlers = ["tls", "http"]
  [services.concurrency]
    type = "connections"
    hard_limit = 100
    soft_limit = 80

  [[services.http_checks]]
    interval = 10000
    grace_period = "10s"
    method = "get"
    path = "/ready"
    protocol = "http"
    timeout = 2000
    tls_skip_verify = false
    [services.http_checks.headers]

[[statics]]
  guest_path = "/app/public"
  url_prefix = "/"

その後、fly launch --local-only --no-deploy を実行してアプリを起動できます。以降のデプロイでは、fly launch --local-only を実行する代わりに、fly deploy --local-only を実行する必要があります。Fly.ioではプライベートなDockerイメージをプルできないため、--local-only フラグを使用する必要があります。

プロメテウスのメトリクス

Tuistは/metrics でPrometheusのメトリクスを公開しており、セルフホストインスタンスの監視に役立ちます。これらのメトリクスには以下が含まれます:

FinchのHTTPクライアント・メトリクス

TuistはHTTPクライアントとしてFinchを使用し、HTTPリクエストに関する詳細なメトリクスを公開している:

リクエスト・メトリクス

  • tuist_prom_ex_finch_request_count_total - フィンチのリクエスト総数(カウンター)。
    • ラベル:フィンチ名,方法,スキーム,ホスト,ポート,ステータス
  • tuist_prom_ex_finch_request_duration_milliseconds - HTTP リクエストの持続時間 (ヒストグラム)
    • ラベル:フィンチ名,方法,スキーム,ホスト,ポート,ステータス
    • バケット10ms、50ms、100ms、250ms、500ms、1s、2.5s、5s、10s
  • tuist_prom_ex_finch_request_exception_count_total - フィンチのリクエスト例外の総数 (カウンター)
    • ラベル:フィンチ名,方法,スキーム,ホスト,ポート,種類,理由

接続プールのキュー・メトリクス

  • tuist_prom_ex_finch_queue_duration_milliseconds - 接続プールのキューで待機していた時間 (ヒストグラム)
    • ラベル:フィンチ名スキームホストポートプール
    • バケット1ms、5ms、10ms、25ms、50ms、100ms、250ms、500ms、1s
  • tuist_prom_ex_finch_queue_idle_time_milliseconds - 接続が使用される前にアイドル状態であった時間(ヒストグラム)。
    • ラベル:フィンチ名スキームホストポートプール
    • バケット10ms、50ms、100ms、250ms、500ms、1s、5s、10s
  • tuist_prom_ex_finch_queue_exception_count_total - フィンチ・キュー例外の総数 (カウンター)
    • ラベル:フィンチ名,スキーム,ホスト,ポート,種類,理由

コネクション・メトリクス

  • tuist_prom_ex_finch_connect_duration_milliseconds - 接続確立に要した時間(ヒストグラム)。
    • ラベル:フィンチ名,スキーム,ホスト,ポート,エラー
    • バケット10ms、50ms、100ms、250ms、500ms、1s、2.5s、5s
  • tuist_prom_ex_finch_connect_count_total - 接続試行回数の合計(カウンター)。
    • ラベル:フィンチ名スキームホストポート

メトリクスの送信

  • tuist_prom_ex_finch_send_duration_milliseconds - リクエスト送信に要した時間(ヒストグラム)。
    • ラベル:フィンチ名,方法,スキーム,ホスト,ポート,エラー
    • バケット1ms、5ms、10ms、25ms、50ms、100ms、250ms、500ms、1s
  • tuist_prom_ex_finch_send_idle_time_milliseconds - 接続が送信前にアイドル状態であった時間(ヒストグラム)。
    • ラベル:フィンチ名,方法,スキーム,ホスト,ポート,エラー
    • バケット1ms、5ms、10ms、25ms、50ms、100ms、250ms、500ms

すべてのヒストグラム・メトリクスは、_bucket_sum_count のバリアントを提供し、詳細な分析を行う。

その他の指標

フィンチのメトリクスに加え、トゥイストは以下のメトリクスを公開している:

  • BEAM仮想マシンのパフォーマンス
  • カスタム・ビジネス・ロジックのメトリクス(ストレージ、アカウント、プロジェクトなど)
  • データベース・パフォーマンス(Tuistホスト・インフラストラクチャ使用時)

オペレーション

Tuistは、/ops/ の下に、インスタンスを管理するために使用できる一連のユーティリティを提供しています。

認証

TUIST_OPS_USER_HANDLES 環境変数にリストされているハンドルを持つ人だけが、/ops/ エンドポイントにアクセスできる。

  • エラー (/ops/errors): アプリケーションで発生した予期せぬエラーを見ることができます。これはデバッグや何が問題だったのかを理解するのに便利で、もしあなたが問題に直面しているのであれば、私たちとこの情報を共有するようお願いするかもしれません。
  • ダッシュボード (/ops/dashboard): アプリケーションのパフォーマンスと健全性 (メモリ消費量、実行中のプロセス、リクエスト数など) に関する洞察を提供するダッシュボードを見ることができます。このダッシュボードは、使用しているハードウェアが負荷を処理するのに十分かどうかを理解するのに非常に役立ちます。

Released under the MIT License.