Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 - NIFTY Tech D...
Search
ニフティ株式会社
PRO
November 28, 2023
Video
Resources
Programming
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 - NIFTY Tech Day 2023
ニフティ株式会社
PRO
November 28, 2023
Video
Resources
NIFTY Tech Day 2023
https://techday.nifty.co.jp/2023/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
300
AI 開発合宿を通して得た学び
niftycorp
PRO
0
300
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
95
「なぜかネットが遅い」を“見える化”する 〜マイ ニフティが繋ぐサポートと暮らし〜 - NIKKEI Tech Talk #39
niftycorp
PRO
0
580
InnerSource Summit 2025 Three points that promoted innersource activities
niftycorp
PRO
0
300
Maker Faire Tokyo 2025 出展うらばなし - NIFTY Tech Talk #25
niftycorp
PRO
0
120
Private Status Pageの設定と活用 〜インシデントレスポンスへの活用とStatus Page運用をどうするか?〜
niftycorp
PRO
0
200
ニフティのPagerDuty活用状況
niftycorp
PRO
0
160
会員管理基盤をオンプレからクラウド移行した時に起きた障害たち - asken tech talk vol.13
niftycorp
PRO
0
2.6k
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
180
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
480
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.6k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
ふつうのFeature Flag実践入門
irof
7
3.6k
Claspは野良GASの夢をみるか
takter00
0
180
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
4
170
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
JavaDoc 再入門
nagise
0
310
AIで効率化できた業務・日常
ochtum
0
120
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
520
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
800
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Abbi's Birthday
coloredviolet
2
8k
So, you think you're a good person
axbom
PRO
2
2.1k
How to build a perfect <img>
jonoalderson
1
5.6k
Practical Orchestrator
shlominoach
191
11k
Amusing Abliteration
ianozsvald
1
200
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Crafting Experiences
bethany
1
170
Building an army of robots
kneath
306
46k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
Copyright ©NIFTY Corporation All Rights Reserved. カスタマーサポートの信頼性向上 〜社内ツールにおけるSRE活動〜 インフラシステムグループ 情報システムチーム
仲上 浩豪
目次 Copyright © NIFTY Corporation All Rights Reserved. 2 自己紹介
システム紹介 アクション まとめ 自己紹介、今日の話 登録情報検索ツール(仮称:cweb)について、cwebの課題 SLI/SLO決め、測定 わかったこと、今後の展望、まとめ
仲上 浩豪(ナカガミ ヒロトシ) 入社:2021年4月 新卒入社(3年目) 所属:インフラシステムグループ 情報システムチーム 担当:カスタマーサポート向けツールの開発・保守/運用 趣味:筋トレ・ドライブ 自己紹介
Copyright © NIFTY Corporation All Rights Reserved. 3
今日の話 Copyright © NIFTY Corporation All Rights Reserved. 4 カスタマーサポートのツールにSLI/SLOを導入した話
• お客様の登録情報を確認するツール ◦ 仮称:CWEB • 具体的な手法 ◦ SLI/SLOの設計 ◦ ログからメトリクスを作成する 方法 ◦ 使用したツール
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 5 なぜCWEBを選んだのか?
お客様のご登録・ ご契約情報の確認 対応履歴・ 次アクションの登録 書面の発送
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 6 なぜCWEBを選んだのか?
お客様からの電話問い合わせ対応に必須のツールだから CWEB 起動 本人確認 お客様サポート
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 7 お客様登録情報確認ツール(仮称:CWEB)
システム紹介 Copyright © NIFTY Corporation All Rights Reserved. 8 CWEBの課題
CWEB • 可観測性が低い ◦ ログはすべてサーバ内 ◦ レイテンシなどは取得していない ◦ サーバー監視のみ ▪ 死活監視 ▪ リソース監視 ◦ 報告ベースでの対応
アクション Copyright © NIFTY Corporation All Rights Reserved. 9 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるサービス評価指標の選定 • サービス評価目標の仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 10 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
用語解説 Copyright © NIFTY Corporation All Rights Reserved. 11 (クリティカル)ユーザージャーニーとは
ユーザージャーニーとは • ユーザーがそのシステムで達成する目的 クリティカルユーザージャーニーとは • ユーザーにとって「一番価値がある」こと (クリティカル)ユーザージャーニーの決め方 • サービス概要書き出し • ユーザージャーニーを洗い出し • 優先度順に並び替える
アクション Copyright © NIFTY Corporation All Rights Reserved. 12 CWEBの(クリティカル)ユーザージャーニーを考える
CWEBのクリティカルユーザージャーニー • お客様情報の確認 • 契約コースの確認 • オプションの契約状況確認 • 請求明細、決済ステータスを確認
アクション Copyright © NIFTY Corporation All Rights Reserved. 13 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
用語説明 Copyright © NIFTY Corporation All Rights Reserved. 14 SLI/SLOとは
SLI (Service level indicator) サービスレベルの指標 サービスの信頼を測る物差し ex)レイテンシ、エラー率、可用性 SLO (Service level objective) サービスレベルの目標値 下回ったらインシデント ex)レイテンシ 1.0s以下 90%、1日の正常なレスポンスの割合 99.95%
アクション Copyright © NIFTY Corporation All Rights Reserved. 15 候補となるSLIの選定
社内ドキュメント SLOの作り方(やさしい) より Service SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 データ処理サービス 鮮度 しきい値よりも最近更新された有効なデータの割合 カバレッジ 正常に処理された有効なデータの割合 正確性 正しい出力を生成した有効なデータの割合 スループット データ処理率がしきい値よりも速い時間の割合 スケジュールされた実行サービス スキュー 予想開始時刻の許容時間内に開始される実行の割合 実行時間 許容時間内に完了した実行の割合
アクション Copyright © NIFTY Corporation All Rights Reserved. 16 候補となるSLIの選定
社内ドキュメント SLOの作り方(やさしい) より Service SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 データ処理サービス 鮮度 しきい値よりも最近更新された有効なデータの割合 カバレッジ 正常に処理された有効なデータの割合 正確性 正しい出力を生成した有効なデータの割合 スループット データ処理率がしきい値よりも速い時間の割合 スケジュールされた実行サービス スキュー 予想開始時刻の許容時間内に開始される実行の割合 実行時間 許容時間内に完了した実行の割合
アクション Copyright © NIFTY Corporation All Rights Reserved. 17 Service
SLI Type Metrics リクエスト主導型サービス 可用性 正常に処理された有効なリクエストの割合 レイテンシ しきい値よりも速く処理された有効なリクエストの割合 品質 サービスの中断なしに処理された有効なリクエストの割合 候補となるSLIの選定 社内ドキュメント SLOの作り方(やさしい) より クリティカルユーザージャーニー • 契約コースの確認 • オプションの契約状況確認 • 請求明細、決済ステータスを確認 画面ごとでSLOを分離
アクション Copyright © NIFTY Corporation All Rights Reserved. 18 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 19 SLOの仮ぎめ
良いイベント 有効なイベント × 100 [%] 社内ドキュメント SLOの作り方(やさしい) より
アクション Copyright © NIFTY Corporation All Rights Reserved. 20 SLOの仮ぎめ(可用性)
(総アクセス数-エラー画面表示 数) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 21 SLOの仮ぎめ(レイテンシ
トップビュー) (総アクセス数 -レイテンシ3秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 22 SLOの仮ぎめ(レイテンシ
トップビュー以外) (総アクセス数 -レイテンシ1秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 23 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 24 監視ツールの選
定
アクション Copyright © NIFTY Corporation All Rights Reserved. 25 Datadogとは
• 監視のSaaSサービス • 監視対象の幅が広い ◦ ログ、トレース、メトリクス • エージェントを入れるだけで使用可能 • SLOダッシュボードの作成が容易
アクション Copyright © NIFTY Corporation All Rights Reserved. 26 SLI/SLOを決める
• (クリティカル)ユーザージャーニーの検討 • 候補となるSLIの選定 • SLOの仮ぎめ 外部から観測可能な状態にする • 監視ツールの選定 • 各種設定
アクション Copyright © NIFTY Corporation All Rights Reserved. 27 apacheログ整備
172.11.11.111 - - [25/May/2023:15:57:51 +0900] processing time: 1158 us "GET /cweb/images/tab.png HTTP/1.0" 200 1824 "http://cweb.nifty.co.jp/cweb/registerinfocsm.php?tk=0&id=testID" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" 172.26.70.139 - - [25/May/2023:15:57:51 +0900] processing time: 290996 us "GET /cweb/result.php?tk=0&id=testID HTTP/1.0" 200 12699 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" { "time": "[25/Oct/2023:16:11:04 +0900]", "forwardedfor": "-", "host": "127.0.0.1", "req": "GET /backend/info?id=testID HTTP/1.1", "status": 200, "method": "GET", "uri": "/backend/info?id=testID", "body_bytes": 5861, "referer": "-", "ua": "-", "reqtime_microsec": 510302, "response_time": 0, "cache": "-", "runtime": "-", "vhost": "127.0.0.1" }
アクション Copyright © NIFTY Corporation All Rights Reserved. 28 ログのメトリクス化(レイテンシ)
• ログを15秒間隔で区切り、データセットを作成する • 作成したデータセットのP95を求める なぜP95を使うのか? • 極端な外れ値を除外し、より精度の高い統計情報にするため ※P95とは データセットにおいて、以下の条件を満たすしきい値 • 全体の95%のデータがP95以下の値を持つ • 全体の5%のデータがP95以上の値を持つ
アクション Copyright © NIFTY Corporation All Rights Reserved. 29 ログのメトリクス化(レイテンシ)
• ログを15秒間隔で区切り、データセットを作成する • 作成したデータセットのP95を求める (総アクセス数 -レイテンシ1秒以上のアクセス) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 30 ログのメトリクス化(可用性)
• ログを1分間隔で区切り、データセットを作成 • 各データセットの数(総アクセス数)をカウント • 各データセットの悪いイベントの数(エラー画面数)をカウント (総アクセス数-エラー画面表示 数) 総アクセス数 × 100 [%]
アクション Copyright © NIFTY Corporation All Rights Reserved. 31 ダッシュボードの整備
やってみた結果 Copyright © NIFTY Corporation All Rights Reserved. 32 •
システムの状況が一目でわかるようになった • SLOベースのアラートが上がるようになった 副産物 • システムの目指すべきところが明らかになった
今後の展望 Copyright © NIFTY Corporation All Rights Reserved. 33 •
ユーザージャーニーを見直して、システムにSLI/SLOの項目を 追加・見直しする • プロダクトオーナーと相談して、SLOをよりユーザーにそった 形にする • プロダクトのSRE成熟度向上 ◦ オンコール強化 ◦ 障害ロールプレイング
今後の展望 Copyright © NIFTY Corporation All Rights Reserved. 34 プロダクトのSRE成熟度向上
評価項目 • オンコール対応 • サービスレベル目標 • トイルの撲滅 • ポストモーテム • 監視(モニタリング) 評価段階 L0.対応していない・考えていない L1.対応はしているが、属人化 ・場当たり的 L2.チームメンバーが反復可能 L3.ベストプラクティスに基づいた反 応
まとめ Copyright © NIFTY Corporation All Rights Reserved. 35 •
社内ツールにSLI/SLOを導入してみた • ログは構造化しましょう • 社内ツールでもSLI/SLOの設定は有効