エンジニアのオクダです。APMを始めよう!」です。APMを利用する方法についてご紹介いたします。いうことについて説明します。NewRelicで何ができるサーバーの監視に必要なことは一通り揃っています。死活管理も追加できます。Syntheticsを利用することになります。ジョブの状態が分かるので、ジョブの謎の死にも気づける可能性もあります。agentが自動で注入してくれるので、設定は不要となっています。Infrastructureもありますが、別途料金が発生します。APMはアプリケーションパフォーマンス監視ツールであります。APMがAdd-onsとして用意されています。業績評価(KPI)を監視したいというニーズがあります。使用した模擬的弊社のサービス実装、について説明します。した模擬的Architectureです。Relicでそれぞれの経路のトランザクションを確認しますやりたいこと顧客ごとの「システム健全度」をレポートします。全ての書き込み処理が正常に行われ終了しているか?を確認します。Parameterを活用します。NewRelicではカスタム属性を設定する事により、遅かったり失敗したりしたリクエストに関連するカスタム属性(顧客ID、デバイスID)を追跡することができます。顧客ID毎に応答時間を計測できれば、顧客に対する品質保証を証明できたり、デバイスID毎に応答時間を計測できれば、雇用者の業績評価の指標に利用したりできます。アプリケーションの編集について、説明します。APMのインストール画面です。agentページに移動します。keyで、ライセンスキーを取得します。agentでnewrelicをインストールします。keyで、先ほど取得したライセンスキーに置き換えて、newrelic.iniファイルを生成します。NewRelicのデータって?NewRelicの世界では「トランザクション」が、送信データの1行に相当します。Webリクエストなどは自動的に一つのNewRelicトランザクションと認識してくれます。バックグラウンドジョブでは、明示的にNewRelicトランザクションがどの単位になるのか、定めなければなりません。taskを明示的にコードで宣言する必要がある。既存のアプリケーションコードに、NewRelicのライブラリをインポートします。newrelic.agentエージェントの初期化で、先ほど作成したnewrelic.iniを読み込みます。Parameterのキーと値を追加していくのみです。Parameterについて、詳しくはこちらdocs.newrelic.com監視できない嵌りどころMain関数自体を監視対象とすることができません。Local関数が一つしかない場合は、その関数が監視対象となります。明示的に修飾しなければなりません。デコレーションbackground_taskのname引数に関数名、groupはオプション、指定しているとAPMのトランザクション画面で同じgroupに所属している関数名別のレスポンス時間を表示したりできます。代表的なNRQL構文、について紹介します。INSIGHTS画面でのパフォーマンス監視SELECT文で、パフォーマンス監視対象をINSIGHTS画面に表示しています。監視ツールなので、UPDATE文等の更新処理が入るクエリ構文はありません。2つのTABLEをJOINしたくなったりしますが、JOIN句は用意されていません。代表的な集約関数Count(*)、average関数、latest関数、uniques関数、他にも、最大、最小、ユニークカウントなどが用意されています。顧客ごと集計クエリの例です。minute上記のクエリでは、NewRelicトランザクションから顧客ごと、最大30件まで、過去30分間の1分毎のDynamoDBへの書き込み時間の平均値をクエリしています。これにより、当該顧客で影響が出たのかどうかを集計することができました。APMについて、ご紹介させていただきました。最後まで、読んでいただき有難うございました。NewRelicの公式サイトもご覧ください。EventBridgeにトラスト構想の夢を見るこんにちは、遠藤@Cariot事業部です。ユニットテストするにはエンジニアの佐藤です。アドオン「Sqreen」で簡単にWAF!こんにちは。エンジニアのヤス・コバヤシです。Add-onsにプロビジョンする方法こんにちは。エンジニアのオクダです。専門知識に合格しました月別アーカイブはてなブログをはじめよう!flect_techさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。