DatadogからNewRelicへ移行する場合の監視項目での注意事項
この記事は、New Relic Advent Calendar 2023の17日目です🎉
DatadogからNewRelicに監視を移行しようとした場合に遭遇した注意事項をつらつらを記載します。移行を検討している方の判断材料としてお役に立てると幸いです。
尚、Datadogを利用されている方前提なので、監視項目などの詳細には触れません。
(NewRelicに詳しい方で、誤った認識があれば指摘いただけると嬉しいです!)
異常値監視の設定経路が2パターン
DatadogではMonitorのタイプとしてAnomaly
があり、そこから任意のメトリクスを設定していきます。
NewRelicでのAnomaly監視方法は二つあります。
[Alerts & AI]-[Anomaly detection]
Datadogの設定の流れイメージたと、こちらがAlertsのメニューとして明示的にAnomaly
と表示されるので選択しがちですが、このメニューで対象として選べるのがAPMで取得しているthroughput
やresponse time
などのアプリケーションのメトリクスのみになります。
[Alerts & AI]-[Alerts conditions (policies)]
特定のメトリクスについて異常値監視したい場合は、アラート機能のアラートの条件としてAnomaly
が選択できるのでこちらで設定します。
ログ監視での監視ログのSlack通知がテキストではなく画像
特定のメッセージが出た場合にSlack通知通知することはできるのですが、通知メッセージがテキストではなく画像なので、Slackチャンネル見ただけではわからず、画像を開かないとメッセージが判断できないです。
こちらは去年のNew Relic Advent Calendarに詳細を投稿されている方がいるので、ぜひご覧ください!
一番辛いのはスマホのSlackアプリで通知を確認しようとする時で、画像を開いても文字が見えないです・・
ログの通知については改善に期待です🙏
ENAのパフォーマンス監視するにはCloudWatchAgentを入れる必要がある
Datadogの場合はインテグレーションを追加することで取得できたので、DatadogAgent単体で監視できていたのですが、NewRelicでは対応していないので、CloudWatchのメトリクスとして取得するためにCloudWatchAgentを追加で入れる必要があります。
FireLensにてECSのログを送信する時に任意のタグを設定できない
Datadogではdd_service
、dd_source
、dd_tags
をFireLensのoptionとして指定できるので、ECSサービスごとの任意の値を設定し、Datadog側でいい感じにフィルタリングなどできたのですが、NewRelicではoptionがないので、ECSのログに任意の情報を付与できないです。
タグを使ってアラート設定をしている場合は一部見直す必要があるかもしれません。
ログ監視で送信されるログの属性情報にインスタンスのタグ情報が付与されるまでタイムラグがある
起動直後の送信ログには、インスタンスのタグ情報が付与されていないので、インスタンスのタグを条件に監視や、ログの整理を行なっていると、起動直後のログが対象から除外されることがあります。
EC2の場合での体感ですが、数分くらいかかります。
Metric Streamsで取り込んだデータに対して、タグが付与されないリソースがある
AutoScalingGroup/ElasticCacheのメトリクスに、リソースのタグ情報が付与されていません。ダッシュボードで変数を使って表示を切り替えるときに、リソースタグを条件に利用しようとしても、表示が切り替えられないです。
対応としては、API pollingでメトリクスを取得した場合はタグ情報が付与されるので、そちらを利用する必要があります。
その為、二重取り込みにならないようにAPI pollingで取得するメトリクスはMetric Streams側では取得対象から除外する設定が必要です。
SSOログインの設定は考慮が必要
Datadogはアカウント課金ではないので、特に権限設計などを気にせずSSO連携ができるが、NewRelicはアカウント課金なので、連携に際してワンクッション権限の管理が必要になります。
まとめ
違う製品なので機能差異があるのが当たり前です!! PoCの期間で細かいところまでしっかり検証してから使いましょ〜
Discussion