SMS Gateway のレポート・イベント

これらのイベントは、JSON オブジェクト形式で作成され、Splunk HTTP Event Collector (HEC) と容易に統合できます。 レポート・イベントを、IBM Cloudant、CouchDB、または、イベントを保管する REST サーバーのいずれかにパブリッシュするように、SMS Gateway を構成できます。 transcription イベントは、バッチ処理されてから、構成されているレポート作成リソースに送信されます。

SMS Gateway は、構成されているレポート作成サービスがオフラインの場合に備えて、デフォルトのファイル・バックアップもサポートしています。 バックアップに記録されたイベントは、レポート作成サービスが使用可能になった時点でサービスに送信されます。 レポート・イベントのシステム・バックアップを参照してください。

SMS Gateway では、以下のタイプのレポート・イベントを生成できます。 レポート・イベントを構成および使用する方法について、各セクションを参照してください。

イベントのバッチ処理

transcription イベントは、SMS トランザクション内のすべてのインバウンド・メッセージとアウトバウンド・メッセージについて報告されます。 これらのイベントを個別に送信することは、ネットワーク・トラフィックの増大またはレポート作成サーバーの過負荷につながるおそれがあります。 このような問題を回避するために、イベントをバッチ処理して、メッセージを REST サーバーまたは IBM Cloudant サービスに送信する頻度を減らします。 デフォルトでは、レポート・イベントは 10 秒ごとにバッチ処理されます。

レポート・イベントのシステム・バックアップ

レポート・イベントのシステム・バックアップは、レポート・イベントのストレージ・サービスがオフラインの場合のデータ損失を防止します。

transcription イベントおよび usage イベント用のデフォルトのレポート・バックアップ・ディレクトリーは、コンテナー内の /mnt/transcriptionReporting/mnt/usageReporting です。 これらは、パーシスタント・ボリュームを使用して作業ディレクトリーにマウントしたりマップしたりできます。 システムが使用するレポート・バックアップ・ファイルの数に対する制限を有効にすることができます。

以下の例は、transcription レポート・イベントのバックアップ・ディレクトリーをパーシスタント・ボリュームのファイル・パス /your.directory/smsgwTranReports にマウントする方法を示しています。

  1. "kind":"PersistentVolume" を定義します。

    {  "kind":"PersistentVolume",
      "apiVersion":"v1",
      "metadata":{
         "name":"smsgw-transcription-reports",
         "labels":{
            "name":"smsgw-transcription-reports"
         } },
      "spec":{
         "capacity":{
            "storage":"2Gi"
         },
         "accessModes":[
            "ReadWriteMany"
         ],
         "persistentVolumeReclaimPolicy":"Retain",
         "hostPath":{
            "path":"/root/smsgwTranReports"
         } } }
    
  2. "kind":"PersistentVolumeClaim" を定義します。

    { "kind":"PersistentVolumeClaim",
     "apiVersion":"v1",
     "metadata":{
        "name":"smsgw-transcription-reports"
     },
     "spec":{
        "resources":{
           "requests":{
              "storage":"2Gi"
           } },
        "selector":{
           "matchLabels":{
              "name":"smsgw-transcription-reports"
           } },
        "accessModes":[
           "ReadWriteMany"
        ] } }
    
  3. "kind":"Deployment" に、コンテナー内の volumeMount を定義します。

    "volumeMounts": [{
    "name": "smsgw-transcription-reports",
    "mountPath": "/mnt/transcriptionReporting"
    }]
    
  4. "kind": "Deployment" 内の PersistentVolumeClaim および volumeMount をマップしてボリュームを定義します。

    "spec": {
    "volumes": [{
         "persistentVolumeClaim": {
          "claimName": "smsgw-transcription-reports"
          },
          "name": "smsgw-transcription-reports"
       }]
     }