Slide 1

Slide 1 text

primeNumber Inc. © なにもしてないのにNew Relicのデータ 転送量が増えていたときに確認したこと 2024.09 primeNumber Inc. / Hiroki Takatsuka (@tk3fftk)

Slide 2

Slide 2 text

目次 © primeNumber Inc. 2 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 3

Slide 3 text

目次 © primeNumber Inc. 3 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 4

Slide 4 text

© primeNumber Inc. 4 髙塚広貴 (@tk3fftk) 株式会社primeNumber Head of SRE ● ヤフー株式会社 (2016 ~ 2022) ○ CI/CDプラットフォーム Screwdriver.cd のSREチームのスクラムマスターやEM ● 株式会社primeNumber (2022 ~ ) ○ TROCCO®のSRE ○ New Relic歴は2年くらい ● 猫 ○ アルくん (アビシニアン ♂ 4歳)

Slide 5

Slide 5 text

© primeNumber Inc. 5 TROCCO®とは データ活用環境の構築・運用を支援・効率化するSaaS データをビジネスに活用するまでのステップ 「データ統合」を自動化し、データエンジニアリングにかかる工数を削減

Slide 6

Slide 6 text

© primeNumber Inc. 6 TROCCO®代表機能 煩雑なデータエンジニアリング業務を効率化する機能が充実   低い学習コストで、素早く安全に、長期的なデータ活用ができるよう支援

Slide 7

Slide 7 text

© primeNumber Inc. 7 TROCCO®代表機能 煩雑なデータエンジニアリング業務を効率化する機能が充実   低い学習コストで、素早く安全に、長期的なデータ活用ができるよう支援 現状コネクタはないので New Relic使うならここ

Slide 8

Slide 8 text

© primeNumber Inc. 8 TROCCO®でのNew Relicの活用場所 RubyのAPMとk8sのInfrastructure integrations (メトリクス, k8s event)がメイン

Slide 9

Slide 9 text

© primeNumber Inc. 9 TROCCO®でのNew Relicの活用場所 RubyのAPMとk8sのInfrastructure integrations (メトリクス, k8s event)がメイン

Slide 10

Slide 10 text

目次 © primeNumber Inc. 10 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 11

Slide 11 text

© primeNumber Inc. 11 今日話すこと 「なにもしてないのにNew Relicのデータ転送量が増えていたときに確認したこと」 ● 基本的には Understand and manage data ingest に書いてあること ○ 雑にまとめると「いらんデータを特定して消せ!」という話が書いてある ● どこを見て、どう特定し、何を減らせばいいか ● 実際に起こった事象に対して何をやったか ● “なにもしてないのに” == “心当たりがないのに” くらいで捉えてもらえると🙏

Slide 12

Slide 12 text

目次 © primeNumber Inc. 12 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 13

Slide 13 text

© primeNumber Inc. 13 まずは Data Management ページを確認する 何のデータソースからどれくらいデータを収集しているのかが分かる

Slide 14

Slide 14 text

© primeNumber Inc. 14 (参考) どんなデータソースがあるのか https://docs.newrelic.com/docs/data-apis/manage-data/manage-data-coming-new-relic/#sources-list より

Slide 15

Slide 15 text

© primeNumber Inc. 15 ① ② ③ 「なにもしてないのに〜」が発生していたときx3

Slide 16

Slide 16 text

© primeNumber Inc. 16 「どのデータソース」が「いつから」増えているか確認する 例えば ② のケース

Slide 17

Slide 17 text

© primeNumber Inc. 17 何が、いつから、が分かればリリース/更新内容を確認する 1. New Relic Agentまわりの設定が変わってないか? 2. アプリケーション、インフラともにagent versionを上げたタイミングではないか? 3. アプリケーションに何か大きめのアップデートはないか? 4. 他に何かデータ送信側に怪しげな兆候はないか? 5. 全部当てはまらないとき まずはここから

Slide 18

Slide 18 text

© primeNumber Inc. 18 1. New Relic Agentまわりの設定が変わってないか? ● 設定変更した結果、思ったよりデータ転送量増えちゃってる ● 設定を元に戻したり、転送intervalを調整するなど 何もしてなくないパターン() なので、設定変更が原因の可能性大

Slide 19

Slide 19 text

© primeNumber Inc. 19 2. Agent versionを上げたタイミングではないか? ● 有効化フラグのデフォルト値が変わっている ● 新しいメトリクスを送るようになっている など… ● 公式ドキュメントのリリースノートが充実しているので見てアタリをつけましょう ○ Release notes | New Relic Documentation ● Major versionを上げている場合はmigration guideも ○ 例: Ruby agent 8.x to 9.x migration guide | New Relic Documentation ■ 上げる前に読んでるだろうけど、見落としとか… アップグレードの際に意図しない設定が入ってる可能性を疑う👀

Slide 20

Slide 20 text

© primeNumber Inc. 20 3. アプリケーションに何か大きめのアップデートはないか? ● 新機能の追加等でAPI実行数が増えている ● アーキテクチャ変更で新しい(クラウド)インフラリソースが増えている ● 新しいリソースのagentの設定がチューニングされてない など… シンプルにデータを送る機会が増えたことを疑う👀

Slide 21

Slide 21 text

© primeNumber Inc. 21 4. 他に何かデータ送信側に怪しげな兆候はないか? 何か見えにくいところで問題が起こってる可能性あり⚠ ● 一見関係なさそうなところで起きてる事象が問題特定の糸口になるかも ● ちょっと前までは普通に動いてたのに、最近たまに失敗するようになった、みたい なものがあれば深堀りするとよいかも

Slide 22

Slide 22 text

© primeNumber Inc. 22 5. 全部当てはまらないとき ● おめでとうございます 🎉 ● それでもデータ転送減らしたいのであれば、ひたすらケチってみる ○ リアルタイム性や細かいメトリクスがいらないのであればintervalを下げる ■ 単純に量が多いならここが効く ● interval倍にしたら単純計算で半分になる ○ 普段見てない「とりあえず」で送っているメトリクスの棚卸し ○ Drop dataしてみる (やったことはないですが…) ■ Drop data using NerdGraph | New Relic Documentation ● > Dropped data does not count towards your data ingest and so is not billable. プロダクトが順調に伸びているか、New Relicの活用が進んでいます (たぶん)

Slide 23

Slide 23 text

目次 © primeNumber Inc. 23 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 24

Slide 24 text

© primeNumber Inc. 24 ① ② ③ 「なにもしてないのに〜」が発生していたときx3

Slide 25

Slide 25 text

© primeNumber Inc. 25 ① k8sのCompletedなJobが残り続けていた ● “Infrastructure integrations” が倍増 ○ ≒ TROCCOのジョブ実行基盤のk8sのメトリクスが増え続けていた ■ CompletedなJobが残り続けていたため ● 3つのうち最も特定難しかったケース ● 詳しくは👇 緊急SOS!KubernetesのCompletedな10万Jobぜんぶ消す

Slide 26

Slide 26 text

© primeNumber Inc. 26 ② “Infrastructure processes” が有効になっていた ● k8s agent管理を古来より受け継いだYAMLからHelmに移行した際に発生 ● defaultがtrueになった値(enableProcessMetrics)の見逃し ○ Infrastructure agent configuration settings | New Relic Documentation ■ > Requires infrastructure agent version 1.12.0 or higher. Accounts created before July 20, 2020 and/or infrastructure agents installed using the new Guided Install have this variable enabled by default.

Slide 27

Slide 27 text

© primeNumber Inc. 27 ③ 設定の移行漏れ ● わかりにくいが②と同タイミングに発生していた (薄紫が②のやつ) ○ ②を潰して安心していたが、実は“Infrastructure integrations”が倍くらい ● infra agentのintervalの設定の移行漏れ ○ 細かくチューニングするのではなく lowDataMode を有効にした ■ nri-kubernetes/charts/newrelic-infrastructure/README.md ● > The lowDataMode toggle is the simplest way to reduce data send to Newrelic.

Slide 28

Slide 28 text

目次 © primeNumber Inc. 28 ● 自己紹介とTROCCO®の紹介 ● 今日話すことサマリ ● 見るべきポイント、検討すべきポイント ● どんな発生ケースがあったか ● まとめ

Slide 29

Slide 29 text

© primeNumber Inc. 29 まとめ なにもしてないのに(心当たりがないのに)データ転送量が増えたときは… ● 「どのデータソース」が「いつから」増えているか確認する ● その周辺の自分たちのリリース/更新内容を確認する ○ New Relic Agentまわりの設定が変わってないか? ○ アプリケーション、インフラともにagent versionを上げたタイミングではないか? ○ アプリケーションに何か大きめのアップデートはないか? ○ 他に何かデータ送信側に怪しげな兆候はないか? ● 当てはまらなかったプロダクトが順調に伸びているか、New Relicの活用が進んでい ます (たぶん) ○ それでもデータ転送減らしたいのであれば、ひたすらケチってみる

Slide 30

Slide 30 text

© primeNumber Inc. 30 TROCCO®を一緒に創ってくれる方を探しています👀 面白い経験ができると思うのでぜひ🙏 ● SRE(TROCCO®/COMETA®) ● ソフトウェアエンジニア(TROCCO®/COMETA®) ● その他募集一覧 👉 株式会社primeNumber の全ての求人一覧 ● primeNumber採用サイト