ConnectのCloudWatchメトリクス
📅 2020-04-16
Amazon ConnectはAWSマネージドなサービスであり、もちろんAmazon CloudWatchで各種メトリクス情報を取得することができます。通話という実際にかけてみないと動作がわからないものに対して、AWS側で情報を収集してくれるのはとても便利です。
CloudWatchアラームを設定することで監視・通知を行うこともできるので活用していきましょう。アラームの設定方法については以下の記事で紹介しています。
CloudWatchアラームでAmazon Connectを監視・通知する
メトリクスの前提
データの送信間隔と保存期間
Amazon ConnectからCloudWatchへは、1分毎にメトリクスデータを送信します。1分間に複数回のデータ送信を行うことはありません。
また、CloudWatchは直近2週間の送信されたデータを保持します。2週間を過ぎると破棄されるので、より長期間の保存を行いたい場合にはS3へのエクスポート等を行う必要があります。
メトリクスのディメンションについて
CloudWatchにはメトリクスを識別するためにディメンションという名前と値のペアを使用します。例えば、複数のAmazon Connectインスタンスがある場合や、複数の問い合わせフローがある場合に、どのインスタンス、どのフローのメトリクスなのかを判別することができます。
メトリクス紹介では以下のように記載します。日本語で書かれているものに関しては、対応する値を適用してください。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
Amazon Connectのメトリクス
「AWS/Connect」名前空間には次のメトリクスが含まれます。
メトリクス一覧
メトリクス名 | 概要 |
---|---|
CallsBreachingConcurrencyQuota | インスタンスの同時通話のクォータを超えた音声通話の総数 |
CallBackNotDialableNumber | 顧客の電話番号が、このインスタンスに発信通話が許可されていない国であるため、キューに入れられた顧客へのコールバックができなかった回数 |
CallRecordingUploadError | インスタンスに設定された、Amazon S3 バケットにアップロードできなかった通話録音数 |
CallsPerInterval | インスタンスで 1 秒あたりの受信と発信両方の音声通話数 |
ConcurrentCalls | ダッシュボードにデータが表示された時点でのインスタンス内の同時アクティブ音声通話数 |
ConcurrentCallsPercentage | インスタンス内で使用された、同時アクティブ音声通話のサービスのクォータの割合 (%) |
ContactFlowErrors | 問い合わせフローに対するエラー分岐が実行された回数 |
ContactFlowFatalErrors | システムエラーが原因で問い合わせフローが実行に失敗した回数 |
LongestQueueWaitTime | 問い合わせがキューで待機した最長時間 (秒数) |
MissedCalls | 選択された更新間隔 (1 分または 5 分など) 中にエージェントが通話できなかった音声通話数 |
MisconfiguredPhoneNumbers | 電話番号が問い合わせフローと関連付けられていないために失敗した通話数 |
PublicSigningKeyUsage | 問い合わせフローのセキュリティキー (公開署名キー) が問い合わせフローの顧客入力を暗号化するため使用された回数 |
QueueCapacityExceededError | キューがいっぱいなため、拒否された通話の数 |
QueueSize | キュー内の問い合わせの数 |
ThrottledCalls | 1 秒あたりの呼び出しレートが、サポートされるクォータを超えたためにために拒否された音声呼び出しの数 |
ToInstancePacketLossRate | 10 秒ごとに報告される、インスタンス内の通話に対するパケット損失率 |
CallsBreachingConcurrencyQuota
インスタンスの同時通話のクォータを超えた音声通話の総数です。たとえば、同時通話数のクォータが100に設定されていて、110件の同時通話が発生した場合、メトリクスの値は10となります。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
同時通話数クォータを超えた通話はリオーダー音(高速の話し中の音)になります。カスタマーエクスペリエンスの低下につながるので、必ずアラーム設定を行いましょう。
CallBackNotDialableNumber
顧客の電話番号が、このインスタンスに発信通話が許可されていない国であるため、キューに入れられた顧客へのコールバックができなかった回数です。インスタンスに許可されている国は、サービスのクォータによって定義されます。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | ContactFlow |
ContactFlowName | 問い合わせフローの名前 |
日本国内のみでサービス展開を展開されている方にはあまり関係ない部分ですが、グローバルにサービス展開をされている方はアラーム通知したいメトリクスです。
CallRecordingUploadError
インスタンスに設定された、Amazon S3 バケットにアップロードできなかった通話録音数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | CallRecordings |
AWSのマネージドな部分でのメトリクスです。ここでエラーが発生した場合には、サポートケースから問い合わせを行ったほうが良いでしょう。
CallsPerInterval
インスタンスで 1 秒あたりの受信と発信両方の音声通話数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
1秒あたりの呼び出し数の内部値が非公開なので参考程度に。。
ConcurrentCalls
ダッシュボードにデータが表示された時点でのインスタンス内の同時アクティブ音声通話数です。このメトリクスとして表示される値はダッシュボード表示時点での同時アクティブ通話数で、設定された更新間隔の間隔全体の合計値ではありません。エージェントへ接続されたアクティブな通話だけではなく、アクティブな音声通話すべてを含みます。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
同時通話数のクォータで設定している値より低くなければなりません。このメトリクスに関してもアラーム設定をしたほうがよいでしょう。
ConcurrentCallsPercentage
インスタンス内で使用された、同時アクティブ音声通話のサービスのクォータの割合 (%) です。この値は、
ConcurrentCalls / ConfiguredConcurrentCallsLimit * 100
で計算されます。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
この値が100%を超えると同時通話数のクォータを超えたことになるので、こちらも合わせてアラーム設定をしておくと良いでしょう。
ContactFlowErrors
問い合わせフローに対するエラー分岐が実行された回数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | ContactFlow |
ContactFlowName | 問い合わせフローの名前 |
問い合わせフローを設定している際に、成功分岐とエラー分岐があると思いますが、そのエラー分岐がされた際に発生するメトリクスです。今まで触っていてあまり見たことはありません、、が!アラーム設定推奨です。
ContactFlowFatalErrors
システムエラーが原因で問い合わせフローが実行に失敗した回数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | ContactFlow |
ContactFlowName | 問い合わせフローの名前 |
こちらに関してはどういった際に発生するメトリクスかわかりません。AWS内部の部分だと思います。こちらもアラーム設定をしておくと良いと思います。
LongestQueueWaitTime
問い合わせがキューで待機した最長時間 (秒数) です。これは、CloudWatch ダッシュボードで選択された更新間隔 (1 分または 5 分など) 中にキューでの待機した時間の長さです。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | Queue |
QueueName | キューの名前 |
リアルタイムレポート、ヒストリカルレポートでSL(サービスレベル)の項目を表示させることができますが、運用中によりリアルタイムでサービスレベル低下の通知を受け取りたい場合にはアラーム設定を行うと良いと思います。
MissedCalls
選択された更新間隔 (1 分または 5 分など) 中にエージェントが通話できなかった音声通話数です。不在着信とは、エージェントが 20 秒以内に応答しなかった通話です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
このメトリクスに1以上が記録されている時は注意が必要です。Amazon Connectはエージェントステータスをしっかりと切り替えることを前提になっているので、受付可なのに受話できないということはステータス管理に問題があります。
MisconfiguredPhoneNumbers
電話番号が問い合わせフローと関連付けられていないために失敗した通話数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
電話番号と問い合わせフローが紐付いていないときに発生します。逆にいうと、設定をしっかり行っていれば発生しないメトリクスです。
PublicSigningKeyUsage
問い合わせフローのセキュリティキー (公開署名キー) が問い合わせフローの顧客入力を暗号化するため使用された回数です。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
SigningKeyId | 署名キーのID |
こちらのドキュメントにあるように、お客さんの入力をセキュアに処理したい場合に発生します。クレジットカード番号など、情報を暗号化したい場合には導入を行うことを推奨します。
Amazon Connectで作るセキュアなIVRソリューション
QueueCapacityExceededError
キューがいっぱいなため、拒否された通話の数。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | Queue |
QueueName | キューの名前 |
キューのキャパシティを設定している場合にはこのメトリクスは参考になるでしょう。エージェントの数を増やしたり、運用改善の指標として使えると思います。
QueueSize
キュー内の問い合わせの数。この値は、ダッシュボードがアクセスされた時点でのキュー内のコンタクト値の数を反映し、報告間隔の期間に対するものではありません。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | Queue |
QueueName | キューの名前 |
エージェントの数に対してこのメトリクス値が大幅に上回っている場合はコールセンターのキャパシティが足りていません。こちらも定期的に参照すべき値です。
ThrottledCalls
1 秒あたりの呼び出しレートが、サポートされるクォータを超えたためにために拒否された音声呼び出しの数。呼び出しのレートを増やすには、インスタンスあたりの同時アクティブ呼び出しのサービスクォータの引き上げをリクエストします。
ディメンション名 | ディメンション値 |
---|---|
InstanceId | インスタンスのID |
MetricGroup | VoiceCalls |
1秒あたりの呼び出しレートは非公開の値です。ですが、このメトリクスが記録された場合にはキャパシティオーバーということになるので、同時呼び出し数のクォータの制限緩和を行いましょう。
ToInstancePacketLossRate
10 秒ごとに報告される、インスタンス内の通話に対するパケット損失率です。各データポイントは 0 と 1 の間で、インスタンスでのパケット損失率を表します。
ディメンション名 | ディメンション値 |
---|---|
Participant | Agent |
Type of Connection | WebRTC |
Instance ID | インスタンスのID |
Stream Type | Voice |
エージェントとAmazon Connectサーバー感における音声パケットの損失率を示します。完全に0となることはありませんが、正常値であればかなり低い値(0.01以下)となるはずです。音声に問題がある場合はまず参照しましょう。このパケットロスはだいたいがネットワークに起因するものです。
まとめ
Amazon ConnectのCloudWatchメトリクスをまとめました。各メトリクスにおけるコメントは私の個人的所感で、間違っている場合がありますのでご注意ください。
AWSのサービスを利用する場合、CloudWatchメトリクスは必ず利用するものになるので、Amazon Connectの場合も多分に漏れず積極的に活用したいです。