ログ収集基盤sentryのオンプレ版をローカルに立てて遊ぶ
アプリケーションログ収集基盤のsentryを触ってみたらすごい便利そうだったので、仕事でも使いたいなーと思ったのですが、ホスティング版をEnterprise向けに大々的に使おうとすると結構お金がかかりそうなので、まずは小さく試せるオンプレ版で使用感をみてみようという試み。 dockerベースでサクッと入れられるのでとても便利です。
手順は↑のREADMEに書いてある通りですが、一応。
0. クローンしてくる
$ git clone https://github.com/getsentry/onpremise.git $ cd onpremise
1. ディレクトリつくる
$ mkdir -p data/{sentry,postgres}
2. シークレットキーを生成してdocker-compose.ymlに貼り付ける
$ docker-compose run --rm web config generate-secret-key
一瞬どこにキーが出力されてるのかわかりづらいですが、一番最後、WARNINGの後に出力されてるのがキーです。
... WARNING: Image for service web was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`. [このへんにキーが出力されてる]
こいつをコピーして、docker-compose.yml
に貼り付けます
... version: '2' services: base: restart: unless-stopped build: . environment: # Run `docker-compose run web config generate-secret-key` # to get the SENTRY_SECRET_KEY value. SENTRY_SECRET_KEY: [ここにキーを貼り付ける] SENTRY_MEMCACHED_HOST: memcached ...
3. データベースを構築する
$ docker-compose run --rm web upgrade
このときに、初期アカウントも作ります。ダーっとログが出力されたあと、プロンプトが起動するので順番に答えていきます。
Would you like to create a user account now? [Y/n]: Y Email: [自分のメアドを入力] Password: [好きなパスワードを入力] Repeat for confirmation: [パスワード確認] Should this user be a superuser? [y/N]: Y
最後に「superuserにする?」って聞かれるので、Yにしときました。adminはいた方がいいよね。
4. アプリケーションを起動する
$ docker-compose up -d
5. アプリケーションにアクセスする
http://localhost:9000
でアクセスできるようになってます。
さっき設定したアカウントのメアドとパスワードでログインします。
- Root URL: sentryサーバにアクセスするためのURL。ローカルで試すだけなので
http://localhost:9000
にしました。外向きに公開するならば、そのURLを入力します。 - Admin Email: sentryサーバの管理者アドレス。自分のメールアドレスを入れました。
- Allow Registration: 誰でもアカウント作れるようにするかどうか。今回は自分だけですしデフォルトのままオフで。
- Anonymize Beacon: sentryの開発元に送られるデータを匿名化するかどうか。管理者アドレスとかその辺の情報が全部除外されるようです。ただし、セキュリティアップデートとかの連絡はできなくなっちゃうよ、とのこと。実サービス向けでの運用始めたらオフにした方がいいのかもしれないですが、今回はお試しなのでデフォのままオンで。
もろもろ設定してcontinueを押すと、ダッシュボードに遷移します。
超簡単でした。ここまで10分かかってない... せっかくなのでこの土日で遊び倒してみようと思います。