Amazon ConnectのDTMF入力値をCloudWatch Contributor Insightsで取ってみよう!

記事タイトルとURLをコピーする

はじめに

こんにちは、孔子の80代目子孫兼技術5課の孔です。

Amazon Connectでクラウド型のコールセンターを立ち上げると、「コロナでコールセンターに相談員が行けないから電話受付機能が麻痺してしまった…」などの問題を簡単に解決できる!との話を聞いて、Amazon Connectを学ぶモチベーションが急上昇しています。そんな中で、DTMF入力値(後ほど説明します)の日別集計をもしかしてCloudWatch Contributor Insightsで簡単に取れるのでは?と社内の方から依頼され、実際やってみました。それでは、そのDTMF入力値をCloudWatch Contributor Insightsで取得する過程と感想をお伝えいたしますので、ぜひ御一読くださいませ!

DTMF入力値?

コールセンターに電話したときに、例えばこのような音声を聞いたことがあるかと思います。「掃除機に関する問い合わせは1を、カメラに関する問い合わせは2をおしてください」このとき、1か2など入力する番号のことをDTMF入力値といいます。はい、以上でした。

CloudWatch Contributor Insights?

CloudWatch Contributor Insightsは、CloudWatch logsで取得されるロググループを指定して、そのグループの中で指定したキーと一致する値が来たらそれを集計して可視化して見せてくれるCloudWatchの機能となります。

こちらはサンプ例となります。VPC flow logsの発信元毎にどのようなactionがされたのかを集計するルールとなります。例えばflow logsのログは

2 123456789010 eni-1235b8ca123456789 172.31.16.139 172.31.16.21 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK

このような形で格納されていきますが、キーとしてsrcaddrとactionを指定しておけば、この中のsrcaddrとなる172.31.16.139とactionとなるACCEPTをペアでcountし、その集計を可視化してCloudWatch Contributor Insightsのダッシュボードに表示してくれます。

お問い合わせフローを作成する

まずはAmazon Connectのインスタンスを立ち上げるところからですが、今回構築したお問い合わせフローはAWSで出したハンズオンをそのまま使用したので、そちらを確認してください(このリンクをクリックしてください)

このハンズオンの環境を構築する中で、追加ポイントが一つあります。お問い合わせフローを作成するときに(資料の49p)最初に「音声の設定」を行いますが、今回はログを収集する必要があるので、ログの取得を有効にする必要があります。ですので以下のフローを最初に組み込んでください(ログ記録が有効化になっていることを確認!)

後はハンズオンに従ったフローを作成してください。

CloudWatch Contributor Insightsのルールを作る

まずCloudWatch Contributor Insightsの画面に入り、新しいルールを作成ボタンを押すとこちらの画面になります。

ルール名は任意のもので、ロググループはAmazon Connectがログを記録するログストリームを指定してください。CloudWatch logsのロググループを見てみると/aws/connect/XXXXというロググループがあるかと思います。ログの形式は今回はJSONで、コントリビューションを「ContacId(お問い合わせのID)」と「Result(入力されたDTMF入力値)」を入力してください。

ここでコントリビューションがCloudWatch Contributor Insightsのポイントとなります。コントリビューションは「ログストリームの中に記録されるログの中で、コントリビューションで指定したキーを持っているログを対象にキーのバリューを取得して、可視化していくもの」となります。具体的な例はもう少し後で出てきますので、今は理解できなくても後ほど例を見てみると理解しやすいのではないかと思います。

結果を見る

CloudWatch logsに記録されるAmazon Connectのログはこのような形のものとなります。

このログたちの中で、「Result」というキーを持っているのはDTMF値を入力する場面となるので、キーとして「ContacId(お問い合わせのID)」と「Result(入力されたDTMF入力値)」をCloudWatch Contributor Insightsのコントリビューションとして指定していくと両方のキーを持っているログ、つまりDTMF入力値の情報を持っているログのみが集計対象となります。実際どのようにCloudWatch Contributor Insightsに出力されていくのか見てみますと

このようにContactIdとResultのペアのCountを表示して下れます。これだとあまり集計しても意味がないので、だとえばResultだけ集計しますと

このようになります。使い方として、例えば「カメラのプロモーションを行った直後にカメラのお問い合わせがどれくらい増えたのかな?」を把握したいときに有効に使えるのではないかと思います。

最後に

一見便利そうに見えますが、こちらのものをそのまま使うには少し難点があります。それは「どの質問に対してどのボタンを押したのか」を集計することができないということです。例えば、DTMF入力が複数ある場合、resultはどの質問でどの入力をしたのかまではわからないため、そのままだとあまり使えないのではないかと思います。ですので、Lambdaなどを使って独自のログに整形するなど、少し工夫が必要となります。

CloudWatch Contributor Insightsは一番最初紹介するときに載せた記事にもいろいろな使い方が載っていたりするので、少し工夫してみると多様な場面で活躍してくれるのではないかと思います。それでは、お読み頂きどうもありがとうございました!