Help us understand the problem. What is going on with this article?

Unity Accelerator + Prometheus + GrafanaをDockerでサービス化する

はじめに

Unity2019.3からAsset Pipeline v2が追加されてUnity Acceleratorを組み合わせるとインポートしたアセットをキャッシュおよび共有することができます。

それまでのUnityにもAsset Pipeline v1とキャッシュサーバーでキャッシュできていましたが、Unity Acceleratorには以下の違いがあります。

  • キャッシュサーバーと同居できる
  • Collaborateのキャッシュに対応
  • 不要なキャッシュを定期的にクリーンアップ
  • 転送されたバイト数や接続されたエディターなどの情報をPrometheusから利用できるメトリクスで公開

フォーラムの以下のスレッドによるとDockerHubでイメージが公開されています。

Unity AcceleratorはPrometheusとダッシュボードのGrafanaを組み合わせるとメトリクスを可視化できるのでdocker-composeでサービス化しました。

Dockerでサービス化

https://github.com/shiena/docker-unity-accelerator

設定ファイル

accelerator.env
COLLAB_REGISTRATION_TOKEN=ft0bJvbRD
DISABLE_USAGE_STATS=yes
  • Unity Collaborateと連携する場合はCOLLAB_REGISTRATION_TOKENにトークンを設定します。
  • 統計情報の送信を抑制する場合はDISABLE_USAGE_STATSに任意の値を設定します。

サービスを実行

docker-compose up -d

サービスを起動するとそれぞれ以下からアクセスできます。

GrafanaではUnity - Manual: Unity Acceleratorの一覧にあるメトリクスを扱えます。

Local Administraotr Dashboard

v1.0.272+gb7c26b9からLocal Administrator Dashboardが追加されて http://localhost:10080 からアクセスできるようになりました。

ConfigurationとLogsは以下のコマンドでパスワード設定が必要です。

docker-compose exec accelerator /agent/unity-accelerator tool adminpw mysupersecretpassword ​

image.png

公式イメージ公開前にDocker化で工夫したこと

  • Unity AcceleratorをダウンロードするURLからバージョンが分からないのでバージョンを確認する方法を用意しています。
  • v1.0.196+ge1f9988で修正されました。キャッシュサーバー追加でインストーラーを非対話モードで実行するとnpmのパスが展開されないバグがあるので対話モードprintfで強引にインストールしています。(バグ報告済み)
  • v1.0.242+gf11031dで修正されました。v1.0.196+ge1f9988で初回起動時などpidファイルがなかったり空の時に起動できないバグがあるのでパッチを当てています。
  • 公式イメージが公開されたので独自Dockerfileから切り替えました。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした