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

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

NGINX がどのように実行されるかを理解するのは困難な場合があります。追跡すべきデータ ポイントは多数あり、どれが自分に関連しており、どれが無視してもよいかを判断するのは難しい場合があります。

この記事では、AppSignal を使用して NGINX を監視し、アプリケーションのパフォーマンスの可視性を拡大する方法を説明します。

すべての指標を魔法のように

AppSignal を使用すると、スループットから応答時間までのパフォーマンス メトリクスを含むカスタム ダッシュボードを作成できます。ダッシュボードを手動で作成するには時間がかかり、どの指標が本当に重要なのかを知るのが難しい場合があります。このため、AppSignal は Magic Dashboards を通じてプロセスを自動化しました。 AppSignal をインストールすると、弊社のエージェントがインフラストラクチャをスキャンし、NGINX ダッシュボードなどの最も重要なダッシュボードを自動的に作成します。

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

Magic ダッシュボードは、アプリケーションのダッシュボード リストの下に自動的に表示されます。ダッシュボードを設定したら、アプリケーション固有のコンテキストに適したメトリクスを表示するようにダッシュボードを管理できます。

Magic Dashboards で NGINX メトリクスを視覚化

トラフィック量が増加して機能停止が発生し、アプリケーションの可用性が脅かされている場合に、Magic Dashboards が NGINX アクションの利用にどのように役立つかを見てみましょう。

ユーザーが写真をアップロードしたり、他のユーザーの写真を表示したり、「いいね」を付けたりできる SnapGram というアプリケーションがあると想像してください。あなたのアプリケーションには少数の専用ユーザーがおり、可用性の問題はなく比較的安定しています。

主要な競合他社が猫とカプチーノの写真の共有を予期せず禁止し、ユーザーが SnapGram に移行したことで状況は一変します。数時間以内に、アクティブ ユーザー数は数百人から数千人に急増します。突然、何千人もの人々がSnapGramを使用できないと不満を漏らすようになりました。ただし、アプリケーションのログを確認すると、すべてが正常に実行されており、エラー インシデントの急増はないようです。

NGINX Magic Dashboard は別のストーリーを伝えます:

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

スループット グラフを使用すると、アプリケーションが受信しているリクエストの数を簡単に把握できます。グラフを見ると、SnapGram が「インターネットを破壊」していることがわかります。多くのリクエストが寄せられています。私たちのリクエスト時間 グラフも上昇しているため、SnapGram がリクエストに応答するまでに時間がかかっています。 つながり アプリケーションへの接続ステータスを示すグラフは、多くの人が SnapGram の応答を待っていることを示しています。需要に追いつくことができません。

SnapGram が需要に追いつけないため、ステータス コード グラフを見ると、タイムアウトが急増していることがわかります。 SnapGram を操作しようとすると、ほとんどの人がタイムアウト エラーを受け取ります。これは、SnapGram のアプリケーション プロセスがリクエストを受信する前に発生するため、単にログを分析しただけでは、当面の問題は警告されません (SnapGram が正常に処理できたリクエストの限られた割合しか確認できません)。

問題がコードにないことがわかったので、追加のサーバーを起動してアプリケーションがトラフィックをより適切に処理できるようにすることで、SnapGram の可用性を向上させることができます。新しいサーバーはそれぞれ、Magic Dashboard のアップストリーム応答時間に異なるマーカーとして表示されます。 およびアップストリーム ステータス コード グラフにより、プロセスごとの洞察が得られます。

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

SnapGram の負荷をさらに軽減するには、アップストリーム キャッシュも有効にします。キャッシュされるリクエストの数が増えると、アプリケーションのストレスが軽減され、リクエスト時間 (およびアップストリームのリクエスト時間) が減少します。 SnapGram が安定し、ユーザーのリクエストが処理されると、ユーザーが不満を言うのをやめ、猫やカプチーノの写真の共有に戻ることに気づくでしょう。

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

より多くの指標 =より多くの魔法

SnapGram は、読みやすいメトリクスにアクセスすることが、アプリケーションの安定性を維持し、NGINX 統合を最大限に活用するのにどのように役立つかを示す簡単な例にすぎません。

NGINX Magic ダッシュボードは、次の指標を追跡できます。

  • リクエスト時間: NGINX サーバーがリクエストに応答するまでにかかった時間(1 分あたりの平均および 95 パーセンタイルとして表示)
  • スループット: NGINX サーバーによって処理されたリクエストの数
  • リクエストの長さ: NGINX サーバーがクライアントから受信したリクエストの長さ(1 分あたりの平均および 95 パーセンタイルとしてのバイト単位)
  • 応答の長さ: NGINX サーバーによってクライアントに送信されたレスポンスの長さ(1 分あたりの平均および 95 パーセンタイルとしてのバイト単位)。
  • ステータス コード: NGINX サーバーから送信されたレスポンスのステータス コードの数。
  • 接続: NGINX サーバーによって現在処理されている接続のゲージ。1 分ごとに測定され、接続ステータスごとに分類されます。
  • アップストリーム ステータス コード: NGINX サーバーのプロキシ元となる上流サーバーから送信されたレスポンスのステータス コードの数。
  • アップストリーム応答時間: NGINX サーバーのプロキシ送信元の上流サーバーによるリクエストに応答するのに要した時間(1 分あたりの平均値および 95 パーセンタイル)
  • アップストリーム キャッシュ ステータス: 上流サーバーからプロキシされたキャッシュされたリクエストを処理するときのキャッシュ ステータス(HIT または MISS など)

NGINX と AppSignal を始める準備ができている場合は、NGINX メトリクスのドキュメントで AppSignal 統合の構成について詳しく学習してください。

AppSignal の Magic Dashboards は、アプリケーションの監視を最大限に活用するのに役立つ、開発者主導の数多くの機能の 1 つにすぎません。開発者は、次のような利点があるため、モニタリングを活用することもできます。

  • 操作が簡単な直感的なインターフェース
  • シンプルで予測可能な価格設定
  • 開発者間のサポート

新規お試しユーザーの場合は、ストロープワッフル 1 箱を無料で入手することもできます。データのプッシュを開始したら、私たちにご連絡ください。パッケージをお送りします 🍪!

AppSignal による自動 NGINX パフォーマンス モニタリング:リアルタイム インサイトとカスタム ダッシュボード

コナー・ジェームス

AppSignal のデベロッパー マーケティング マネージャー。カノーリをこよなく愛するポッドキャスト中毒者で、名前をコノーリに変更することを検討中。彼は色に「u」があると考えています。彼がマイクの上で、ステージ上で、または勤務時間外にソファに横たわっているのを見つけるかもしれません。

Connor James

によるすべての記事
  1. rdkafka-ruby による Ruby と Kafka の統合の革命

    こんにちは!私の名前は Maciej Mensfeld です。RubyGems Security や OSS への取り組み、あるいは Ruby と Rails 向けに調整されたマルチスレッドで効率的な Kafka 処理フレームワークである Karafka への関与から私をご存知の方もいるかもしれません。 私は通常、自分の考えを個人のブログに書きますが、今日の投稿はユニークです。この記事は、AppSignal の優秀な人々との共同作業の成果です。はっきり言っておきますが、私は AppSignal で働いていません。しかし、 この作品の性質上、AppSignal のブログが最適なプラットフォー

  2. TurbolinksからTurboへの移行

    Webアプリケーションのナビゲートを高速化するための優れたツールであるTurbolinksは、現在活発に開発されていません。これは、Hotwireアンブレラの一部であるTurboと呼ばれる新しいフレームワークに取って代わられました。 その背後にあるチームは、フレーム、フォーム送信、ネイティブアプリなど、他のものがTurbolinksから抽出された同様の概念を採用して、より高速なWebに準拠できることを理解していました。 この記事の目的は、Turbolinksの新しい代替品であるTurboフレームワークのガイドを提供することです。これには、Turboで最も重要で一般的に使用されるTurbol