🚨

エラー監視ツール Sentryの導入方法(TeamPlan)(Golang)

2021/06/13に公開

エラーログをいろんなツールに送ってくれる便利なツールSentry。
先日、業務で使用しましたので、記事にしてみます。

Sentryとは?

エラーの監視ツールです。
詳しくは公式サイトをご確認ください。
https://sentry.io/welcome/

SentryのPlan

3つのPlanがあります。

  • Developer(無料)
    • 使用出来るユーザーは1人だけ。
    • 小さなサービスや動作確認用?
    • 30日間ログデータ保持
  • Team(有料)
    • 無制限のユーザー
    • 90日間ログデータ保持
  • Business(有料)
    • 無制限のユーザー
    • 90日間ログデータ保持

DeveloperのPlanは1人しか使えませんので、実際に業務で利用するなら、
Team以上になると思います。

BisinesのPlanはいろんなオプションが使えるようになるみたいです。
詳しくは公式サイトをご確認頂けたらと思います。
ここの一番下にあります。
https://sentry.io/pricing/

導入方法

それでは、実際に導入する方法を説明していきます。

ユーザー新規登録

  1. まずこちらからSentryにアクセスします。
    https://sentry.io/welcome/

トップ画面

  1. 上部タブの「PRICING」をタップ
    するとこちらの画面になります。

PRICING

この画面の下の方にPLANの比較の詳細がありますので、こちらでどのPLANにするか比較してから、
登録される事をオススメします。

  1. TeamのPLANの「START TRIAL」をタップ(今回はTeamPLANで進めます)
    ここから新規登録をすると、自動的にTeamPlanでの契約となります。
    自分の想定しているPlanかどうか間違えないようにご注意ください。

  2. こちらの画面に遷移するので、名前やアドレスやチーム情報など入力

情報入力

  1. 無事に登録が完了出来ましたら、こちらの画面に遷移します。

この画面で「I'm Ready」か下部にある「Skip onbording」をタップすると、次の画面に遷移出来ます。
「I'm Ready」を押すと、チュートリアルがスタートします。
もう既に、Sentryを使った事ある方は「Skip onbording」から進められるといいと思います。

  1. 「I'm Ready」を押した場合、こちらの画面に遷移します。

こちらで、今回のアプリケーションの言語を選択します。
(今回はGoを選択しました)

  1. 言語を選択すると、下部に「Create Project」ボタンが出て来ますので、
    そちらをタップします

  1. アプリのコードの記載方法の画面に遷移します。


この内容の通り、コードを記載してみましょう。

  1. Goのコード記載方法を書きます(Go言語以外の方はご自身の言語で実装ください。)
package main

import (
	"log"
	"time"

	"github.com/getsentry/sentry-go"
)

func main() {
	err := sentry.Init(sentry.ClientOptions{
		Dsn: "https://a8d1bdaec8d3472f8cf418e3d0c0e171@o836203.ingest.sentry.io/5813355",
	})
	if err != nil {
		log.Fatalf("sentry.Init: %s", err)
	}

	defer sentry.Flush(2 * time.Second)

	sentry.CaptureMessage("It works!")
}

はい。丸パクリです。
あと、go modの設定をしたら動きます。

$go mod init example.com
$go get github.com/getsentry/sentry-go
$go mod tidy

go modの詳細はこちらでは記載しません。
この記事が分かりやすいと思います。
https://qiita.com/uchiko/items/64fb3020dd64cf211d4e

Dsnは、SentryのプロジェクトIDみたいなもので、
ここにSentryのプロジェクトのDsnを設定する事で、そのプロジェクトにエラーが飛ぶようになります。
プロジェクト毎にDsnがあります。
Dsnは最初はサンプルのIDを入力します。
これでサンプルのプロジェクトに飛べるはず!!

Dsnの取得方法は「11」で説明します。

  1. ホーム画面に遷移すると思います

  1. プロジェクトのDsn設定をします。

プロジェクト画面に遷移します

作成したプロジェクトをタップして、
プロジェクトの中に入ります

歯車のマークをタップし、setting画面に遷移します。

その中の下の方に「Client Keys(DSN)」というタブがありますので、
そちらをタップすると、DSNが表示されています。

そのDSNをコード上のDSNに書き換えます。

  1. コードを実行します。

Goの場合、
$go run main.go
すると、

こんな感じで「issues」のタブに「It works!」のエラーが登録されています。

これで設定完了です。
あとは、お好きなエラーを設定をください。
間違っている箇所があればご指摘頂けると幸いです。

エラーをSlackに通知設定する方法はこちらの記事SentryでSlackにエラーを送るAlertの設定方法に書きましたので、
よろしければ、そちらもご確認ください。

番外編

  • 「9」の後、ホーム画面に遷移しなかった方、もしくは、「5」で「Skip onbording」をタップされた方へ

「8」の画面の下の方に
「view sample event for this SDK and finish setup later」
と書いてあります。

ここ↑を押すと
Sentryのホーム画面に遷移します。
sample projectが作成されていると思います。(後で消して大丈夫です)

この後、Projectタブより、プロジェクトを作成し、
DSNの設定をすれば設定完了となります。(11に戻る)

参考

https://docs.sentry.io/platforms/go/?_ga=2.100371358.1623639049.1623505257-635750107.1618887393

Discussion