AppSignal でカスタム メトリクスを追跡し、即座に実用的な洞察を得る
カスタム メトリクスを設定すると、(ログ行を調べたり、複雑なレポート ツールで苦労したりすることなく) 必要な情報を瞬時に得る簡単な方法です。潜在的な問題を迅速に特定して解決するために、意味のある指標を追跡することでアプリケーションの重要な監視データを補足します。
このブログ投稿では、カスタム メトリクスを設定および使用して監視の盲点を取り除く方法を説明します。アプリケーションのパフォーマンスをより深く理解するために、一連の監視ツールと合わせてカスタム メトリクスを使用する方法を示します。
カスタム指標とは何ですか?
メトリクスに関しては、AppSignal はデフォルトでエラー率、応答時間、スループットなどの重要なデータを追跡します。これらのメトリクスを使用してアプリケーションを監視し、アプリケーションでパフォーマンスの問題が発生したときに通知します。
カスタム メトリクスを使用すると、必要なアプリケーション データを視覚化して追跡でき、アクティブ ユーザー数やジョブ固有の処理時間などの追加のコンテキストを関連付けることで、アプリケーションのパフォーマンスについてより深い洞察が得られます。 AppSignal でダッシュボードを作成して、スループットやデータベース サイズなどの重要な指標とともにカスタム 指標を追跡できます。

指標の測定
メトリクスを AppSignal に送信するときは、メトリクスをどのように測定するかを検討することが重要です。 AppSignal は 3 つの測定方法を提供します。
AppSignal は、適切な測定形式を使用してカスタム メトリクスを簡単に追跡するのに役立つメソッドと関数を提供します。
Web ショップを監視していると想像してみましょう。ゲージ、カウンター、分布測定を使用して特定のデータ ポイントを追跡する方法を説明します。
ゲージ
理由のコンテキストについては アプリケーションのパフォーマンスは通常より多かれ少なかれ低下する可能性があります。現在、アプリケーションを使用しているアクティブな買い物客の数を見てみましょう。アプリケーションで新しいユーザー セッションが作成されるたびに、ゲージ メジャーを使用してアクティブ ユーザー数を報告します。
これを行うには、カスタム メトリクスを AppSignal に定期的に送信するメカニズムである分厚いプローブを作成できます。このプローブを使用して、過去 1 分間に更新されたショッピング カートの数を記録し、この情報をラベル active_shoppers で AppSignal に送信できます。 set_gauge を使用する 方法。例:
ルビー
詳細なプローブの詳細については、Ruby ドキュメントを参照してください。
エリクサー
詳細なプローブの詳細については、Elixir のドキュメントを参照してください。
Node.js
詳細なプローブの詳細については、Node.js ドキュメントを参照してください。
構成が完了したら、AppSignal でグラフを作成して、アプリケーションを使用しているアクティブな買い物客の数を追跡できます。

この情報により、サイトをアクティブに使用している人のおおよその数に基づいて、Web ショップのパフォーマンスを迅速に推測することができます。特に高いカウントに気づき、パフォーマンスの問題が予想される場合は、アプリケーションを確実に利用可能な状態に保つための措置を講じることができます。
カウンター
カウンタを使用すると、アプリケーション内で何かが発生する頻度を追跡できます。この機能は、特定のイベントやアクションの頻度を長期にわたって監視する必要があるシナリオで便利です。たとえば、ユーザーがカートに商品を追加するなどのアクションを完了した回数などです。
アプリケーションがユーザーに請求を行う頻度を把握したいとします。これを行うには、請求書が作成されるたびにカウンタをインクリメントする必要があります。
increment_counter を使用します。 Ruby と Elixir のメソッド:
そして incrementCounter Node.js の関数:
セットアップが完了すると、アプリケーションが AppSignal で生成している請求書の数を追跡できます。

発注された注文など、追加の関連データ ポイントを追跡し、メトリクスが期待どおりに相互に追跡していないことに気付いた場合はどうなるでしょうか?そうすれば、請求と注文のロジックを調査し、多くの顧客に影響を及ぼす前に重大な問題を特定して修正できる可能性があります。
配布
カスタム メトリックを使用して、応答時間やバックグラウンド ジョブの継続時間などのデータ測定値を記録できます。このような指標を追跡すると、ユーザー エクスペリエンスに悪影響を与える可能性がある、パフォーマンスの低いバックグラウンド ジョブや API エンドポイントを特定するのに役立ちます。
顧客が購入後数分以内にこのメールを受信することが重要であるため、アプリケーションが注文確認ジョブを実行するのにかかる平均時間を確認したいと考えています。
これを行うには、add_distribution_value を使用します。 メソッド:
ルビー
エリクサー
Node.js
それが完了すると、AppSignal で注文確認ジョブが完了するまでにかかる平均時間を追跡できます。パフォーマンスが予想よりも遅いかどうかをユーザーよりも早く認識することで、アプリケーションの可用性とスケーラビリティを積極的に維持できるようになります。

カスタム指標用のカスタム ダッシュボード
直感的な UI のおかげで、数分でカスタム指標の追跡を開始できます。
ダッシュボード ナビゲーションの [ダッシュボードの追加] ボタンを使用して、新しいダッシュボードを作成できます。 [グラフを追加] ボタンをクリックして、グラフ ビルダーを使用してグラフの作成を開始します。

グラフを作成するときに、グラフ化するメトリクスとタグを選択し、グラフの凡例とラベルを構成できます。これが完了すると、指定した期間の現在の指標データがグラフに表示されることがすぐにわかります。
指標が重要な理由
ロギングは、アプリケーションのパフォーマンス問題の後デバッグやトラブルシューティングに役立つ素晴らしいソリューションですが、 問題が発生した場合、メトリクスは将来の問題を事前に防ぐのに役立ちます。 顧客は何かに気づきます。カスタム メトリクスを使用すると、次のことが可能になります。
- 重要なことに集中する: アプリケーション内の特定のデータ ポイントを正確に追跡し、大量のロギング メタデータやインシデント リストをフィルタリングすることなく、焦点を絞った分析情報を取得します。
- 本題に取り掛かります: ビジネスの観点からアプリケーションのパフォーマンスを理解し、アクティブ ユーザー数、KPI、日次売上などの重要なデータを迅速に追跡する
- ロギングを合理化します: 「どこにあるものでもすべて一度に」ログを記録することは持続不可能です。カスタム指標を使用すると、重要なデータを効率的に追跡し、ログを使用してインシデントの原因を調査し、トラブルシューティングとデバッグに必要なデータのみを記録できます。
- 受け身ではなく積極的に取り組む: たとえば、アプリケーションがユーザーに請求書を送信するのに時間がかかりすぎる場合や、アクティブ ユーザーの数が通常よりも多い場合に警告するカスタム トリガーを設定します。これらの警告により、顧客に影響が及ぶ前に問題を積極的に調査して解決することができます。
カスタム指標をさらに詳しく理解する
アプリケーションのメトリクスを最大限に活用する準備はできていますか?このブログ投稿では、AppSignal のカスタム メトリクスで可能なことのほんの一部を取り上げました。カスタム指標に関するドキュメントには、知っておくべきことすべてがまとめられています。
サポートが必要な場合、メトリクスやその他の AppSignal またはモニタリング関連に関する質問がある場合は、いつでもお問い合わせください。
AppSignal のカスタム メトリクスは、アプリケーションの監視に役立つ開発者主導の数多くの機能の 1 つにすぎません。開発者は、次のような利点があるため、モニタリングを活用することもできます。
- 操作が簡単な直感的なインターフェース
- シンプルで予測可能な価格設定
- 開発者間のサポート
AppSignal を初めて使用する場合は、無料のストロープワッフルを忘れずにリクエストしてください。アプリケーションのすべてのメトリクスを指先で操作できるのと同じくらいおいしいです 😉🍪
コナー・ジェームス
AppSignal のデベロッパー マーケティング マネージャー。カノーリをこよなく愛するポッドキャスト中毒者で、名前をコノーリに変更することを検討中。彼は色に「u」があると考えています。彼がマイクの上で、ステージ上で、または勤務時間外にソファに横たわっているのを見つけるかもしれません。
Connor James
によるすべての記事-
Ruby Mapメソッドの使用方法(例付き)
Mapは、配列、ハッシュ、範囲で使用できるRubyメソッドです。 マップの主な用途は、データを変換することです。 例 : 文字列の配列が与えられた場合、すべての文字列に目を通し、すべての文字を大文字にすることができます。 または、Userのリストがある場合 オブジェクト… 変換できます 対応するメールアドレス、電話番号、またはその他の属性のリストにそれらを追加します Userで定義 クラス。 これを行う方法を正確に見てみましょう! ルビーマップ構文 マップの構文は次のようになります: array = [a, b, c] array.map { |string| string.
-
Ruby 3.4 リリースのハイライト:主な機能とアップデート
Ruby の伝統どおり、コア チームは 2024 年 12 月 25 日に Ruby 3.4 をリリースしました。 私たちと同じように Ruby が大好きなら、Ruby 3.4 の新機能が気になるでしょう。このリリースには大きな変更はありませんが、いくつかの非常に優れた点に注意してください。 まず、言語の変更点のいくつかを詳しく見てみましょう。 言語の変更 言語の変更は、ほとんどの Ruby 開発者にとって最も直接的に関係のある変更です。それぞれを簡単に見てみましょう! 凍結された文字列リテラル Ruby を少しでも書いたことがある人なら、おそらく次で始まるファイルを見たことがあるで