フロントエンドのエラーログモニタリングサービスSentoryをMacのdocker-composeでサクッと立ち上げて起動するまでの手順
MacツールインストールDocker
フロントエンドのエラーログモニタリングサービスSentoryをMacのdocker-composeでサクッと立ち上げて起動するまでの手順をメモしました。
Sentry(セントリー)
Sentryとは?
Sentryとは、フロントエンドのエラー監視ツールになります。
エラーログや日時、ユーザーの情報、ブラウザや端末の情報などを集積し
GUIでログの確認を行うことができます。
Sntoryの特徴
- Sentryは様々なプラットフォームで利用が可能
- ユーザーデータ(UA、OS)やユーザー行動ログに応じたエラーを検証することができる
- プロジェクトごとにエラーのチケットを管理することができる
公式サイト
やること
環境
- Mac OS Big SUR 11.3.1
- Docker 20.10.2
- docker-compose 1.25.0
要件
実際に利用するにはそこそこのスペックが必要になります。
- Docker 19.03.6+
- Compose 1.24.1+
- 4 CPU Cores
- 8 GB RAM
- 20 GB Free Disk Space
Sentryのインストール
githubからclone
setsentry/onpremiseのリポジトリからソースコードをクローンします。
terminal$ git clone https://github.com/getsentry/onpremise.git
cloneしたonpremiseディレクトリへ移動
cloneしたonpremiseディレクトリへ移動します。
terminal$ cd onpremise
インストールスクリプトを実行
インストールスクリプトである./install.sh
を実行します。
terminal$ ./install.sh
./install/_lib.sh: line 15: realpath: command not found
realpathコマンドが見つからないエラー
realpathコマンドが見つからないエラーが発生しました。
realpath: command not found
realpathが入っているcoreutilsをインストール
Homebrewで realpathが入っているGNU Linux coreutils
をいれます。
terminal$ brew install coreutils
再度インストールスクリプトを実行
再度インストールスクリプトを実行します。
terminal$ ./install.sh
メモリ不足エラー
今度はメモリが不足しているというエラーが発生しました。
terminalFAIL: Required minimum RAM available to Docker is 3800 MB, found 2993 MB
メッセージを確認する限り最低4G必要なようです。
dockerのメモリ設定変更
dockerのメモリ設定を4Gへ変更します。再度インストールスクリプトを実行
再度インストールスクリプトを実行します。
terminal$ ./install.sh
アカウント作成
アカウント作成の有無を問われるので必要に応じて回答します。
terminalWould you like to create a user account now? [Y/n]:
Emailの入力
アカウント作成へY
と回答するとアカウントを作成します。
Emailを入力して実行します。
terminalEmail:
Passwordの入力
続いてPasswordの入力を求めらるので入力して実行します。
terminalPassword
しばらくするとインストールが完了し下記のメッセージが表示されいます。
-----------------------------------------------------------------
You're all done! Run the following command to get Sentry running:
docker-compose up -d
-----------------------------------------------------------------
Sentryの起動
docker-compose upでSentryを起動
docker-compose upコマンドでSentryを起動します。
terminal$ docker-compose up -d
//中略
Starting sentry_onpremise_zookeeper_1 ... done
Starting sentry_onpremise_memcached_1 ... done
Starting sentry_onpremise_symbolicator_1 ... done
Starting sentry_onpremise_clickhouse_1 ... done
Starting sentry_onpremise_postgres_1 ... done
Starting sentry_onpremise_redis_1 ... done
Starting sentry_onpremise_smtp_1 ... done
Creating sentry_onpremise_symbolicator-cleanup_1 ... done
Creating sentry_onpremise_geoipupdate_1 ... done
Starting sentry_onpremise_kafka_1 ... done
Starting sentry_onpremise_snuba-sessions-consumer_1 ... done
Starting sentry_onpremise_snuba-subscription-consumer-events_1 ... done
Starting sentry_onpremise_snuba-api_1 ... done
Starting sentry_onpremise_snuba-subscription-consumer-transactions_1 ... done
Starting sentry_onpremise_snuba-outcomes-consumer_1 ... done
Starting sentry_onpremise_snuba-consumer_1 ... done
Starting sentry_onpremise_snuba-replacer_1 ... done
Starting sentry_onpremise_snuba-transactions-consumer_1 ... done
Creating sentry_onpremise_snuba-transactions-cleanup_1 ... done
Creating sentry_onpremise_snuba-cleanup_1 ... done
Creating sentry_onpremise_ingest-consumer_1 ... done
Creating sentry_onpremise_cron_1 ... done
Creating sentry_onpremise_web_1 ... done
Creating sentry_onpremise_subscription-consumer-transactions_1 ... done
Creating sentry_onpremise_sentry-cleanup_1 ... done
Creating sentry_onpremise_subscription-consumer-events_1 ... done
Creating sentry_onpremise_worker_1 ... done
Creating sentry_onpremise_post-process-forwarder_1 ... done
Creating sentry_onpremise_relay_1 ... done
Creating sentry_onpremise_nginx_1 ... done
Sentry起動の確認
docker psコマンドでSentryの起動を確認します。
ものすごい数のコンテナが立ち上がっています。
terminal$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d1af99d79486 nginx:1.21.0-alpine "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:9000->80/tcp, :::9000->80/tcp sentry_onpremise_nginx_1
31bd40c2d0b1 getsentry/relay:nightly "/bin/bash /docker-e…" 3 minutes ago Up 2 minutes 3000/tcp sentry_onpremise_relay_1
96946f054f97 getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_web_1
142cbe99bcab getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_post-process-forwarder_1
a73d30ffeecf getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_worker_1
53710796c597 sentry-cleanup-onpremise-local "/entrypoint.sh '0 0…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_sentry-cleanup_1
0fc66120b6e7 getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_subscription-consumer-events_1
6660c44c85d3 getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_subscription-consumer-transactions_1
1178f9de7dcb getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_ingest-consumer_1
247403b0cf0a getsentry/sentry:nightly "/etc/sentry/entrypo…" 3 minutes ago Up 3 minutes 9000/tcp sentry_onpremise_cron_1
2485d8b09449 snuba-cleanup-onpremise-local "/entrypoint.sh '*/5…" 3 minutes ago Up 3 minutes 1218/tcp sentry_onpremise_snuba-transactions-cleanup_1
3cdd89173e06 snuba-cleanup-onpremise-local "/entrypoint.sh '*/5…" 3 minutes ago Up 3 minutes 1218/tcp sentry_onpremise_snuba-cleanup_1
35672074e478 symbolicator-cleanup-onpremise-local "/entrypoint.sh '55 …" 4 minutes ago Up 3 minutes 3021/tcp sentry_onpremise_symbolicator-cleanup_1
d0f963485d02 getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up 3 minutes 1218/tcp sentry_onpremise_snuba-api_1
e9b9a080ae5b getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up 2 minutes 1218/tcp sentry_onpremise_snuba-outcomes-consumer_1
761ef79ae530 getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up 3 minutes 1218/tcp sentry_onpremise_snuba-replacer_1
5670be83129d getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up About a minute 1218/tcp sentry_onpremise_snuba-subscription-consumer-transactions_1
0f855d1ee7d4 getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up About a minute 1218/tcp sentry_onpremise_snuba-consumer_1
7c3727466982 getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up About a minute 1218/tcp sentry_onpremise_snuba-transactions-consumer_1
5ce98cc4b2ae getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up 3 minutes 1218/tcp sentry_onpremise_snuba-subscription-consumer-events_1
0ce211d4efc9 getsentry/snuba:nightly "./docker_entrypoint…" 9 minutes ago Up About a minute 1218/tcp sentry_onpremise_snuba-sessions-consumer_1
7fa51fba889b postgres:9.6 "/opt/sentry/postgre…" 9 minutes ago Up 3 minutes (healthy) 5432/tcp sentry_onpremise_postgres_1
81956699bb54 memcached:1.6.9-alpine "docker-entrypoint.s…" 9 minutes ago Up 4 minutes (healthy) 11211/tcp sentry_onpremise_memcached_1
4e57cfe13532 getsentry/symbolicator:nightly "/bin/bash /docker-e…" 9 minutes ago Up 3 minutes 3021/tcp sentry_onpremise_symbolicator_1
c65e4f13f9a4 tianon/exim4 "docker-entrypoint.s…" 9 minutes ago Up 3 minutes 25/tcp sentry_onpremise_smtp_1
d23c00d76349 confluentinc/cp-kafka:5.5.0 "/etc/confluent/dock…" 10 minutes ago Up 3 minutes (healthy) 9092/tcp sentry_onpremise_kafka_1
8bbb79e2d190 yandex/clickhouse-server:20.3.9.70 "/entrypoint.sh" 10 minutes ago Up 3 minutes 8123/tcp, 9000/tcp, 9009/tcp sentry_onpremise_clickhouse_1
f4f40b5dd5fe redis:6.2.4-alpine "docker-entrypoint.s…" 10 minutes ago Up 3 minutes (healthy) 6379/tcp sentry_onpremise_redis_1
5ff06b679111 confluentinc/cp-zookeeper:5.5.0 "/etc/confluent/dock…" 10 minutes ago Up 3 minutes (healthy) 2181/tcp, 2888/tcp, 3888/tcp sentry_onpremise_zookeeper_1
Sentryへアクセス
ブラウザからSentryを開く
http://localhost:9000
へブラウザからアクセスしSentryを開きます。
ログイン画面が表示されたらインストールは成功です。
SentryのSetup
Sentoryの初期設定を実施します。
ログイン
続いてインストール時に登録したユーザー情報を入力しログインします。
Setup情報の入力
Root URL
Sentoryを利用するURLを指定します。
Admin Email
管理者のメールアドレスを登録します。
Outbound email
SMTPサーバーの設定をします。詳しくはこちらをご確認ください。
Beacon
使用統計(Usage Statistics)の情報を送信するかどうかの設定です。
Send my contact information along with usage statistics
送信する場合はこちらを選択します。
Please keep my usage information anonymous
送信しない場合はこちらを選択します。
入力が完了したらContinueをクリックします。
Sentryのダッシュボード
ダッシュボードが表示されたらSentryのSetupは完了です。
終わりに
最後までご覧いただきありがとうございます。
この記事ではフロントエンドのエラーログモニタリングサービスSentoryをMacのdocker-composeでサクッと立ち上げて起動するまでの手順について紹介させていただきました。
これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。