Upgrade to Pro — share decks privately, control downloads, hide ads and more …

食べログへのNewRelic導入の経緯と効果、運用効率化のための工夫

Avatar for Yosuke Zusa Yosuke Zusa
December 19, 2021

 食べログへのNewRelic導入の経緯と効果、運用効率化のための工夫

NRUG vol.1でLTしました。

Avatar for Yosuke Zusa

Yosuke Zusa

December 19, 2021
Tweet

Other Decks in Programming

Transcript

  1. Copyright (c) Kakaku.com, Inc. All Rights Reserved. ⾷べログって? n今年 17

    年⽬になる、ガラケーの頃から続いているサービスです
  2. Copyright (c) Kakaku.com, Inc. All Rights Reserved. ⾃⼰紹介 図左 洋介

    (ずさ ようすけ) ⾷べログシステム本部 技術部 SREチーム マネージャー @Aramassa31 Qiita アドベントカレンダーもやっています! 🔎 ⾷べログ アドベントカレンダー 2021 🔎 https://qiita.com/advent-calendar/2021/tabelog
  3. Copyright (c) Kakaku.com, Inc. All Rights Reserved. クラスタ可視化領域の課題 ・Kubernetes Integration

    ・Prometheus Remote Write Integration のおかげでシンプルな Manifest になり、動作確認も楽に!! 導⼊で… 課題① Grafana & Prometheus & Thanos 運⽤コストの増⼤
  4. Copyright (c) Kakaku.com, Inc. All Rights Reserved. ⼿間のかかる仕組みで本番運⽤拡⼤するのは不安… ・Kibana ライクに

    データソースにフィルターをかけられる ⽬的の情報にフォーカスして、⼈に優しいグラフになった 導⼊で… 課題② OSSは使い勝⼿がいまいち (特にフィルター)
  5. Copyright (c) Kakaku.com, Inc. All Rights Reserved. This is やさしさ

    必要な情報だけをフィルターしてちゃんと⾒れる!!
  6. Copyright (c) Kakaku.com, Inc. All Rights Reserved. terraform Alert関連の設定は terraformを利⽤しています

    • 設定内容が明確化される • Mapを使って類似の設定を⼀括で投⼊できる • 設定に再現性が出る • Git管理されるので壊してもすぐに戻せる resource "newrelic_alert_policy" "cpu_usage_warning" { name = "${var.env_label} CPU使⽤状況 Warning" incident_preference = "PER_CONDITION_AND_TARGET" channel_ids = var.notify_channels.warning }
  7. Copyright (c) Kakaku.com, Inc. All Rights Reserved. terraform Alert関連の設定は terraformを利⽤しています

    • 設定内容が明確化される • Mapを使って類似の設定を⼀括で投⼊できる • 設定に再現性が出る • Git管理されるので壊してもすぐに戻せる resource "newrelic_nrql_alert_condition" "cpu_throttled" { for_each = var.target_containsers nrql { query = “SELECT * FROM … WHERE name = ‘${each.value}’; } }
  8. Copyright (c) Kakaku.com, Inc. All Rights Reserved. terraform Alert関連の設定は terraformを利⽤しています

    • 設定内容が明確化される • Mapを使って類似の設定を⼀括で投⼊できる • 設定に再現性が出る • Git管理されるので壊してもすぐに戻せる
  9. Copyright (c) Kakaku.com, Inc. All Rights Reserved. Base64 じゃないかコレ 【家訓】

    ⾒つけたBase64は全てデコードせよ ※ ※ドラクエの壺感覚。ちなみに図左は⾊の違う草むらもしらべます。
  10. Copyright (c) Kakaku.com, Inc. All Rights Reserved. Base64 じゃないかコレ 【家訓】

    ⾒つけたBase64は全てデコードせよ ※ "nerdletId": "dashboards.detail", "useDefaultTimeRange": false, "selectedPage": "MzI0MjY0NXxWSVp8REFTSEJPQVJE……..", "isTemplateEmpty": false, "filters": "(`k8s.clusterName` IN ('tb-development-external-1_20', 'tb-development-internal-1_20') AND `k8s.deploymentName` LIKE ‘%application%')", "entityGuid": "MzI0MjY0NXxWSVp8REFTSEJPQVJEfGRhO………" デコード結果
  11. Copyright (c) Kakaku.com, Inc. All Rights Reserved. ⾊々でてきた中⾝ 項⽬ 考察

    nerdletId 値 dashboards.detail 予想 ページの種別かな? useDefaultTimeRange 値 useDefaultTimeRange 予想 時間指定 ….? selectedPage 値 MzI0MjY0NXxWSVp8REFTSEJPQVJEfD…… 予想 ページの識別⼦ .. ? isTemplateEmpty 値 false 予想 ????? filters 値 (`k8s.clusterName` IN ….. 予想 NRQLっぽい検索条件 entityGuid 値 MzI0MjY0NXxWSVp8REFTSEJPQVJEfGRhOj……. 予想 ?????
  12. Copyright (c) Kakaku.com, Inc. All Rights Reserved. ⾊々でてきた中⾝ 項⽬ 考察

    nerdletId 値 dashboards.detail 予想 ページの種別かな? useDefaultTimeRange 値 useDefaultTimeRange 予想 時間指定 ….? selectedPage 値 MzI0MjY0NXxWSVp8REFTSEJPQVJEfDIyODI3NzE 予想 ページの識別⼦ .. ? isTemplateEmpty 値 false 予想 ????? filters 値 (`k8s.clusterName` IN ….. 予想 NRQLっぽい検索条件 entityGuid 値 MzI0MjY0NXxWSVp8REFTSEJPQVJEfGRhOjIxODA5MQ 予想 ????? コレ!?
  13. Copyright (c) Kakaku.com, Inc. All Rights Reserved. filters いじれば条件変更ができそう k8s.clusterName`

    IN ('tb-development-external-1_20', 'tb-development-internal-1_20’) AND `k8s.deploymentName` LIKE ‘%application%') → パラメータを変更して動作確認 (あのハッシュは整合性チェック⽤、とかだとOUTなので) → できた!!🎉
  14. Copyright (c) Kakaku.com, Inc. All Rights Reserved. NewRelic の導⼊したい機能 Synthetics

    (Minion) APM Pixie → 現在の外形監視よりも多くのエンドポイントを対象としたい → ⾯⽩そう。HTTPトラフィックの観測に利⽤してみたい。 → 個別のアプリケーションのパフォーマンス改善 → エンドポイントごとのSLI/SLOの簡易的な観測
  15. Copyright (c) Kakaku.com, Inc. All Rights Reserved. We are hiring!!!!

    n⼀緒に⾷べログのサービスを強くしましょう! nSRE以外の職種も幅広く募集中!!※ nhttps://hrmos.co/pages/kakakucom/jobs/1011020 ※FE, データサイエンス, テストエンジニアなど 『カカクコム 採⽤ エンジニア』で検索してください!!