問題:Webアプリケーションは非常に大きく、それを使用している人には毎日大量のエラーが発生します。修正するエラーに優先順位を付けるにはどうすれば良いのでしょうか?
解決策:Sentryを使用して本番環境で発生する特定のエラーを追跡し、HostedGraphiteのSentry Webhookアドオンを使用してシステムパフォーマンスグラフに注釈を追加できます。このようにして、特定のエラーが発生したときにシステム使用量の急増と関連付けることができます。
Sentryは、アプリでエラーが発生したときにアラートを出すことができるアプリケーションです。特定のエラーを警告できるため、何かがいつどこで壊れたかを確認できます。 SentryアノテーションをMetricFireのGrafanaグラフと一緒に使用すると、システムパフォーマンスモニターのいずれかでエラーが発生した時期を追跡できます。ユースケースは、エラーが長時間ループする場合、この1つのエラーによってCPUにどの程度のストレスがかかっているかを確認し、修正する優先度の高いタグを付けることができる場合などがあります。
Webhookに慣れていない場合、またはHosted Graphiteを使用したシステム監視ソリューションのセットアップに慣れていない場合は、Webhookの概要またはGitHubアノテーションに関する記事を確認してください。HostedGraphiteWebhookのセットアップ方法が示されています。
セットアップ
Sentry側:
まず、HostedGraphiteからWebhookURLを取得しましょう。 アカウントのダッシュボードから[Add-on]、[Add-on]の順に移動します。 MetricFireの無料トライアルにサインアップし、プラットフォームを使用してこのチュートリアルを実行できることを忘れないでください。
次に、Hosted GraphiteインターフェイスでSentryアドオンをアクティブ化し、WebhookURLをコピーします。
次に、Sentryアカウントページに移動し、HostedGraphiteで監視しているのと同じプロジェクトでこのWebhookを使用します。 Sentryアカウントページで、[Setting]> [Project]>に移動し、注釈を付けて追跡するプロジェクトを選択します。
プロジェクトページをクリックしたら、[Alert]> [Setting]に移動します。 このタブでは、このプロジェクトのアラートに統合を追加できます。 ここでWebhookを選択すると、HostedGraphiteからWebhookURLを挿入できるようになります。
Webhookが設定されると、このプロジェクトのアラートをHostedGraphiteのグラフに送信できるようになります。 次に、好みに合わせてアラートを設定する必要があります。 これらの設定は、テスト目的で使用できます。
Hosted Graphite側:
ここで行う必要があるのは、HostedGraphiteのGrafanaグラフに送信されているアラートデータを表示することだけです。 まず、注釈を付けたいGrafanaグラフのダッシュボードに移動する必要があります。 次に、右上のセッティングアイコンの設定に移動します。
[Setting]タブがポップアップし、[Annotation]タブが表示されます。 Newをクリックします。
データソースはHostedGraphiteに設定する必要があり、Graphiteイベントタグにはオプションとして歩哨が必要です。
Sentry側とHostedGraphite側の両方が適切に設定されると、グラフにSentryアラートを表示できるようになります。 Sentryプロジェクトの[Alert]タブに戻ってWebhookプラグインをテストするか、アプリケーションでエラーを強制することができます。
結果
上のグラフには、FlaskアプリからのSentryアノテーションアラートが表示されていることがわかります。 これらの注釈のリンクをクリックすると、そのエラーのSentryアカウントのプロジェクトページに移動します。 上のグラフは実稼働サーバーではありませんが、実稼働サーバーを監視する場合、Sentryアノテーションは何が起こっているかをすばやく示すのに役立ちます。
MetricFireについて詳しく知り、無料トライアルを入手して、すぐにダッシュボードの作成を開始できます。 MetricFireのHosted Graphiteで何ができるかについて質問がある場合は、デモを予約してください。