New Relic の旧アラートシステムには、基本的な「可用性監視」機能が含まれています。これは、アプリケーションへ定期的にリクエストを送り、エラーを記録するによってアプリケーションの可用性を確認するといったシンプルなものです。ウェブアプリケーションにアクセスする際にエラーが発生すると、旧アラートシステムは通知を送信します。これは「ダウンタイムアラート」と呼ばれることもあります。
現在この機能は、New Relic Synthetics が提供する機能とアラート機能により、改善されています。Syntheticsは、実際のブラウザへのテストや API エンドポイントのテストなど、記述式のテスト方法を提供しています。また、世界各地からウェブサイトを監視できる Ping 監視機能は無料で利用できます。これが、New Relic Alerts が「可用性監視」機能を持っていない理由です。
目次
ダウンタイムのアラート設定
ダウンタイムアラートを設定するには、Application alert policies ページを使用します。
- New Relic のメニューバーから、Alerts > Application policies >(選択したアプリのポリシー) を選択します。
- アラートを有効にするには、Downtime alerts > ON を選択します。
- アラート(最大10分)を送信する前に待機する分を入力します。もしくは、デフォルト値を使用します。
- Save your changes を押します。
アプリケーション URL の設定
アプリケーションのダウンタイムアラートを有効にする場合、可用性監視システムが Ping するための URL を指定する必要があります。
- APM Overview ページから、アプリケーションを選択します。
- 選択したアプリの左側のサイドバーのメニューから、Settings > Availability monitoring に移動し、監視対象のURLを入力します。
- オプション:アプリケーションが必要とする応答部分文字列を指定します。リダイレクトのや SSL 証明書の扱い方についてはチェックボックスを選択します。
- Save your changes を押します。
Pinger の情報
User-Agent ヘッダーには、NewRelicPinger/1.0 (あなたのアカウントID)
を含んだ Ping リクエストが含まれます。HTTP および HTTPS の URL を持つウェブページをターゲットに指定できます。Pinger は HEAD リクエストを使います。リクエストが失敗した場合や リクエスト文字列 を使っている場合、Pinger は代わりに GET リクエストを使います。URL には、クエリ文字列を含むことができる。
New Relic は世界中に Pinger のサーバーを持っています。ダウンタイムイベントが発生した場合、報告された地域と地域別に失敗した数を確認できます。ファイアウォールが監視 URL へのアクセスを制限している場合は、ネットワークをご覧ください。PingerURLのホワイトリストが載っています
レスポンス文字列
また、部分文字列のテキストがピンガーが有効な結果を記録するために受信する必要が提供することができます。この部分文字列のテキストを設定するには、New Relic APM のメニューバーから、Applications >(選択したアプリ)> Settings > Availability monitoring を選択します。
New Relic は返されるデータ(HTTP ヘッダーを含む)の最初の約57キロバイトをチェックします。ページの構造が変化した場合、文字列の前のデータのサイズは57キロバイトを超えることがあります。このような事態が発生した場合、部分文字列は見つからないため、New Relic はエラーを記録します。
推奨: エラー誤検知の回避のために、ページの先頭近く部分文字列を配置してください。可用性の確認専用のページを作成しているお客様もいます。
また、以下の要件にも注意してください。
- 部分文字列のリクエストは GET を使います。大文字と小文字を区別します。
- 正規表現は、ウェブページからの JSON レスポンス、およびワイルドカードはサポートされていません。
Treat redirects as a valid result
を指定するときは、応答文字列は使えません。リダイレクトを許可するだけにチェックし200
リダイレクトからの応答。それは比較する任意のテキストを取得しません。
Pinger が正確な文字列のテキストを見つけれられない場合は、エラーメッセージ(コンテンツが見つかりません。)を返します。 URL の横の括弧内のテキストは、正常の場合に Pinger が受け取る文字列です。
メンテナンスイベント用 API
Available % と SLA 数字への影響を避けるために、メンテナンス期間中にアプリケーションへのPingを無効にすることができます。Downtime > OFFを選択するか、Pinger の URL の変更してください。
Availability monitoring settings 画面には、New Relic REST API コールで Ping を有効または無効にする方法が書いてあります。REST API を使用するには、enable
または disable
アクションへ POST リクエストを送信します。API では、アカウントID、アプリケーションID、(X-Api-Key
ヘッダーにある) API_KEY を設定してください。cURL の例は以下のとおりです。
Ping を有効にする方法は以下のとおりです。
curl https://api.newrelic.com/accounts/<acct_id>/applications/<app_id>/ping_targets/enable -X POST -H "X-Api-Key:<api_key>"
(REST API V1またはV2)Ping を無効にする方法は以下のとおりです。
curl https://api.newrelic.com/accounts/<acct_id>/applications/<app_id>/ping_targets/disable -X POST -H "X-Api-Key:<api_key>"
関連情報
関連する情報は以下のとおりです。
- 可用性のレポート (説明、手順、保守イベント用フラグについて)
- トラブルシューティング (タイムアウト、誤警報、ステータスエラーなど)