Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

これを想像してみてください。あなたは、新しい Rails アプリの作業を終え、それを DigitalOcean のようなクラウド プロバイダーにデプロイしたところです。他の開発者と同様に、あなたも自分の仕事に誇りを持っていますが、次のような疑問がまだたくさんあります。

  • 新しいアプリがトラフィックをどの程度うまく処理できるか
  • 導入した最適化が実際に機能するかどうかなど

あなたの目標は、最高のユーザー エクスペリエンスを提供することです。エラーやその他の重要なイベントが発生したときに通知を受け取り、迅速に対処できるようにしたいと考えています。

アプリケーションを自動的に監視するセットアップがあれば便利です。 AppSign に参加してください! 2 部構成のシリーズの最初の部分であるこの記事では、DigitalOcean でホストされている Rails アプリを効果的に監視できるように AppSignal を設定します。

前提条件

手順を進めるには、次のものが揃っていることを確認してください。

  • Ruby のローカル インストール (このチュートリアルではバージョン 3.3.0 を使用します)。
  • ローカルの PostgreSQL インストール (Docker バージョンまたはローカルにインストールされたバージョンを使用できます)。
  • アプリケーションをデプロイするための DigitalOcean アカウント
  • AppSignal アカウント (30 日間の無料トライアルが利用可能)。

Ruby On Rails アプリの紹介

このチュートリアルでは、シンプルな Rails 7 経費トラッカー アプリを使用します。ユーザーはサインアップして個人的な支出のエントリを作成し、長期にわたって支出を追跡できるようになります。

このアプリを DigitalOcean にデプロイし、AppSignal の監視ソリューションを構成して、内部で何が起こっているかを追跡します。

ここからソース コードを取得するか、アプリをフォークして手順を進めることができます。

Rails アプリを DigitalOcean にデプロイする

DigitalOcean のアプリ プラットフォームを使用してアプリケーションをデプロイします。以下の手順は、上記の経費トラッカー アプリをすでにフォークしており、DigitalOcean アカウントをすぐに使用できることを前提としています。

ログインしたら、アプリを作成して実行します。ただし、このプロセスの一部を制御したいので、最初のステップはアプリのデータベースを作成することです。

アプリ データベースの作成

[データベース] をクリックします。 左側のメニューのリンクをクリックし、データベースの作成をクリックします。 新しい PostgreSQL データベースを作成するためのリンク:

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

次の画面でデータベースの設定が完了したら、データベース接続文字列をメモします。次のステップでアプリを作成するときに、これを環境変数として使用します。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

この時点で、データベースがすべての受信接続に対してオープンであるという警告が表示される可能性があります。このセキュリティ警告に対処するには、付属のリンクに従ってください。

アプリの作成と展開

最後に、最初にアプリをクリックしてアプリを作成します。 左側のメニューのリンク:

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

次に、以下に示すように、アプリのコード リポジトリ リソースを接続します。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

環境変数画面に進み、コピーしたデータベース URL 文字列を挿入します。また、RAILS_MASTER_KEY を追加します。 デプロイメントプロセスで使用されるため、環境変数として使用します。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

次に、これらの環境変数を設定した状態で、[次へ] をクリックします。 アプリをデプロイするためのボタン:

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

アプリが正常にデプロイされたので、AppSignal を使用してモニタリングを設定します。

Rails アプリを監視するための AppSignal の設定

まず、AppSignal アカウントにログインし、「Ruby &Rails」を選択します。

次に、AppSignal gem を Rails アプリに追加します。この気の利いた宝石は、エラー、例外、および関連するパフォーマンス データを収集し、分析のために AppSignal に移植します。

アプリの Gemfile を開いて gem を追加します。

 

次に、bundle install を実行します。 .

最後に、アカウント固有の API キーが添付されているインストール スクリプトを実行する必要があります。このインストール スクリプトを実行すると、次のような結果が得られるはずです。

 

スクリプトを実行するときは、次の点に注意してください。

  • AppSignal のダッシュボードに表示されるアプリの名前を変更するか、デフォルトのオプションのままにするかを選択できます。
  • アプリに対して AppSignal をどのように構成するかを選択するオプションも表示されます。私の場合は、設定ファイル オプションを使用し、config/appsignal.yml で設定ファイルを作成しました。 、以下の内容:
 

ここでは、次のように定義します。

  • A push_api_key これにより、アプリが AppSignal に接続されます。
  • AppSignal に表示されるアプリの名前。
  • AppSignal がアプリを監視する環境(この場合は、開発環境と本番環境の両方)

ちなみに、開発環境で AppSignal の監視をオフにしたい場合は、active を設定するだけです。 フラグを false に設定します 、次のようになります。

 

ヒント :設定ファイルと環境変数オプションはどちらも同じことを行います。これらは、AppSignal がアプリに接続する方法、アプリ名、監視される環境を定義します。

すべてが計画通りに進んでいるとすると、AppSignal がアプリからデータを受信していることを示す画面が表示されるはずです。

AppSignal の Rails 用ダッシュボードの概要

すべてが正しく設定され、AppSignal がアプリからデータを受信したので、以下に示すように、デフォルトのアプリ監視ダッシュボード ビューにアクセスできます。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

ヒント :開発環境と運用環境の両方に監視を設定している場合は、 矢印で示された選択から簡単に切り替えることができます

デフォルトのビューから、次のデフォルトのグラフにアクセスできます。

  • エラー率 - 単位時間あたりにアプリで発生するエラーの割合が表示されます。
  • スループット - ここでは、アプリが処理できる 1 分あたりのリクエストのスループットのスナップショットを取得します。
  • 応答時間 - これにより、アプリの応答時間が表示されます。
  • 最新のオープンエラー - このセクションには、アプリ内で発生した最新のエラーがリストされます。
  • 最新の公開パフォーマンス測定値 - このセクションには、メソッド呼び出し、API リクエストなどを含む、最新のパフォーマンス測定値がリストされます。

次に、AppSignal を使用して Rails アプリケーションの適切なエラー追跡を設定する方法を見ていきます。

AppSignal によるエラーの監視

実行中の Ruby on Rails アプリに影響を与える可能性のあるエラーの種類は 10 種類以上あります。明らかに、他のものよりも一般的なものもあります。このセクションでは、これらのエラーのいくつかをシミュレートし、AppSignal がそれらをどのように処理するかを確認します。まずは簡単な例から始めましょう。

経費追跡アプリは認証に Devise を使用しているため、ユーザーがサインインしているかどうかのチェックを追加しましょう。推奨される user_signed_in? を使用する代わりに、 このメソッドでは、間違った user_logged_in? を使用しましょう。 メソッド。ActionView::Template::Error をトリガーする必要があります。 :

 

この変更をデプロイし、実稼働アプリをリロードしてから、AppSignal の実稼働環境ダッシュボードに移動して、このエラーがどのように表示されるかを確認します。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

AppSignal を使用すると、アプリケーションで発生したエラーの詳細を簡単に取得できます。たとえば、ActionView に関する詳細を取得できます。 テンプレート エラーを確認するには、[最新のオープン エラー] ダッシュボード パネルからテンプレート エラーをクリックします。

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

エラーの原因が未定義のメソッドであることがはっきりとわかり、それを修正するための正しい方向を示しています。

AppSignal のエラー ダッシュボードでは、ログブックを通じて追加情報も提供します。 と設定 パネル:

AppSignal を使用して DigitalOcean で Ruby on Rails アプリを起動する:ステップバイステップ ガイド

  • ログブック - ここで、あなたまたはあなたのチームメンバーは、AppSignal によって追跡されているエラーにコメントを追加できます。 [ログブック] パネルには、問題のエラーに関して実行されたアクションの時系列の内訳も表示されます。
  • 設定 - このパネルから、エラーを別のチーム メンバーに割り当てたり、アラート設定を変更したり (このチュートリアルの後半で詳しく確認します)、エラーの重大度を設定したりできます。

このシリーズのこの部分は以上です!

まとめ

このチュートリアルでは、シンプルな Rails アプリケーションを DigitalOcean のアプリ プラットフォームにデプロイし、それを AppSignal のアプリケーション監視プラットフォームに接続しました。また、エラーがどのように監視され、AppSignal のエラー ダッシュボードに表示されるかについても説明しました。

明らかに、これは AppSignal でできることのほんの表面をなぞっただけです。このシリーズの第 2 部では、パフォーマンスの測定、異常検出、稼働時間の監視、ロギングについて詳しく説明します。

それまでの間、コーディングを楽しんでください!

追記Ruby Magic の投稿を報道後すぐに読みたい場合は、Ruby Magic ニュースレターを購読して、投稿を 1 つも見逃さないようにしてください。


  1. 環境変数へのRubyistsガイド

    開発中および本番環境でWebアプリを効果的に管理できるようにするには、環境変数を理解する必要があります。 これは必ずしもそうではありませんでした。ほんの数年前、環境変数を使用してRailsアプリを構成している人はほとんどいませんでした。しかし、その後、Herokuが発生しました。 Herokuは、開発者に12要素のアプリアプローチを紹介しました。 12要素のアプリマニフェストでは、導入が簡単なアプリを作成するための多くのベストプラクティスを示しています。環境変数に関するセクションは特に影響力があります。 12ファクターのアプリは、構成を環境変数に格納します(多くの場合、env varsま

  2. Grape での例外処理のマスター:カスタム エラー、ベスト プラクティス、AppSignal の統合

    Grape は、RESTful API を構築するための人気のある Ruby フレームワークです。例外処理は、Grape で作成されたアプリケーションを含むあらゆるアプリケーションの安定性と信頼性を確保する上で重要な役割を果たします。 この記事では、例外のカスタマイズなど、Grape 例外処理の基本について説明します。また、いくつかのベスト プラクティスと、アプリを AppSignal と統合してエラーの監視と管理を強化する方法についても触れます。 始めましょう! Grape 例外処理の基本 このチュートリアルでは、Rails に組み込まれた Grape API で例外を処理する方法を見