その他
    ホーム 技術発信 DoRuby Docker を試してみる(2.5)〜Sentryを試す
    Docker を試してみる(2.5)〜Sentryを試す
     

    Docker を試してみる(2.5)〜Sentryを試す

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    今回はちょっと脱線して SentryというサービスをDocker上で実行してみます。

    なお、Sentryはアプリケーションのログを収集して見やすくしてくれるサービスです。

    https://getsentry.com/welcome/

    SaaS型とオンプレ型が無償で提供されています。

    sentry のオフィシャルイメージが用意されていますので、そちらを使います。

    https://hub.docker.com/_/sentry/

    基本的にこの手順に従っていくだけです。

    事前準備: redisとPostgreSQLを起動

    これもコンテナで起動します。

    $ docker run -d --name sentry-redis redis
    $ docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=sentry -e POSTGRES_USER=sentry postgres
    

    シークレットキーの作成

    シークレットキーを出力します。

    コンテナの起動時に使いますので覚えておいてください。

    $ docker run --rm sentry generate-secret-key
    hogehogesecretkey
    

    データベースの作成

    $ docker run -it --rm -e SENTRY_SECRET_KEY='hogehogesecretkey' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade
    

    途中で「ユーザを作るか?」ときかれますので、作っておきましょ。

    linkオプションについて

    docker run コマンドで –link というオプションが使われています。

    これはコンテナ同士を通信させる簡単な方法です。

    リンクしたコンテナの情報(IPなど)を共有して参照できるようにします。 –link コンテナ名(:エイリアス) で指定します。

    sentryのコンテナ中でエイリアス(postresやredis)を使って参照(REDIS_PORT_6379_TCP_ADDRなど) しているので、上記の通りに指定しないと動きません。

    サーバの起動

    $ docker run -d -p 9000:9000 --name my-sentry -e SENTRY_SECRET_KEY='hogehogesecretkey' --link sentry-redis:redis --link sentry-postgres:postgres sentry
    

    ホストの9000版アドレスにポートフォワードしてるので、http://localhost:9000 や http://192.168.33.11:9000 のようにしてブラウザから確認できます。

    ワーカーの起動

    デフォルトの設定で、workerのコンテナも必要なようなので起動しておきます。

    $ docker run -d –name sentry-celery-beat -e SENTRY_SECRET_KEY=’hogehogesecretkey’ –link sentry-postgres:postgres –link sentry-redis:redis sentry celery beat $ docker run -d –name sentry-celery1 -e SENTRY_SECRET_KEY=’hogehogesecretkey’ –link sentry-postgres:postgres –link sentry-redis:redis sentry celery worker