これは ビットバンク株式会社 Advent Calendar 2020 の 5 日目の記事です。
はじめに
こんにちは、ビットバンクでログ基盤の担当をしているkaoriです。
弊社ではログ分析ツールとしてログ管理分析SaaSであるSumo Logicを利用しています。
また、弊社ではAWS基盤を主に利用していて、様々なログをSumo Logicに収集しています。
などなど様々なサービスのログを入れています。
その中でも今回は、タイトルにもあるように、Sumo Logicを用いたログ活用でサポート問い合わせ時のフローが改善され、サポートケースの処理速度がUPした話についてお話ししようと思います。
以前のワークフローと課題
今までは問い合わせがあるとこのようなフローで対応を行なっていて、休日等を挟む場合など2~3営業日を要していました。
そのため、以下のような課題がありました。
- エンジニア負荷が高い
- 問い合わせがあってからケースが解決するまでに時間がかかる
また、課題以外の非機能要件として
- エンジニア以外の人でも検索が容易である
- 検索可能なログに制限を設けられる(関係のないログは表示させない)
がありました。
これらを解決するためにSumo Logicのサーチテンプレートと検索フィルターを利用しました。
サーチテンプレート
例
_sourceCategory="application_log"
| parse "user_id: '*'," as user_id
| where "user_id"={{user_id}}
上記クエリを書くと、Sumo Logicではこのような画面が表示されます。
このクエリを保存して、他者にシェアしておくことができるため、カスタマーサクセスの担当者はSumologicにログインして、お客様のIDなど検索に必要な情報と日時をセットし、検索するだけで条件にマッチするログを検索できます。
担当者はクエリ言語を習得する必要がないため、導入ハードルが低いのがメリットです。
ロールベースアクセス制御と検索フィルター
ロールベースアクセス制御
Sumo Logicにはユーザが表示できるデータを制限する、ロールベースアクセス制御というものがあります。
権限をユーザに直接割り当てるのではなく、権限をロールに割り当てロールをユーザに割り当てます。
具体的には、ロールを作成するときに、そのロールを一連の権限とロール検索フィルタに割り当てます。
検索フィルター
ロール検索フィルタは、このロールの割り当たっているユーザが検索可能なログを制限するものです。
検索フィルタはSumoのクエリのと同様の使い方ができ、Sumo Logic に組み込みのメタデータ フィールド、キーワードなどが使用できます。
例
例えばセンシティブなログを見せないようにしたい場合
!_sourceCategory=sensitive*
実際の画面
などと検索フィルター画面で設定してあげると、ロールが割り当たっているユーザーは_sourceCategory が"sensitive"という文字列で始まるログの結果が見れないようになります。
これらを用いること一旦ロールを作成してしまえば、ユーザ作成の度にこのルールをユーザ毎に個別に設定する事なく、ユーザの職務に対応するロールを割り当てるだけで済むため、とても管理が楽です。
Sumo Logic導入後のフロー
導入の結果、Sumo Logicを用いることでエンジニア依頼のフローが必要なくなり、問い合わせ時のフローが改善され、一件あたりの各チームメンバーが処理できるサポートケースの処理速度が向上しました。
また、本題からは外れますが、Sumo Logicでは2FAやIP制限などをかけられるのも大きなメリットです。
まとめ
これにより、メールが届かない、不正な取引、照会などの問い合わせへのレスポンスが以前に比べ早くできるようになりました。
実際にお客様より対応が早く、助かったとの感謝の連絡があったそうです。間接的にとは言え役に立てて嬉しい限りですね。
最後に
bitbankでは一緒に働く仲間を募集しています!