Azure Time Series Insights Gen1 環境の問題を診断して解決する
手記
Time Series Insights サービスは、2024 年 7 月 7 日に廃止されます。 既存の環境をできるだけ早く別のソリューションに移行することを検討してください。 非推奨と移行の詳細については、
注意
これは Gen1 の記事です。
この記事では、Azure Time Series Insights 環境で発生する可能性がある問題について説明します。 この記事では、考えられる原因と解決策について説明します。
ビデオ
Azure Time Series Insights の一般的な課題と軽減策について説明
問題: データが表示されない
Azure Time Series Insights エクスプローラーにデータが表示されない場合は、次の一般的な原因を考慮してください。
原因 A: イベント ソース データが JSON 形式ではない
Azure Time Series Insights では、JSON データのみがサポートされます。 JSON サンプルについては、サポートされている JSON 図形
原因 B: イベント ソース キーに必要なアクセス許可がありません
Azure IoT Hub の IoT ハブの場合は、サービス接続アクセス許可を持つキーを指定する必要があります。 iothubowner または サービス ポリシーを選択します。 どちらもサービス接続のアクセス許可を持っています。
Azure Event Hubs のイベント ハブの場合は、リッスンアクセス許可を持つキーを指定する必要があります。 読み取り ポリシーと 管理 ポリシーは、どちらもリスン権限を持っているため、両方とも機能します。
原因 C: 提供されたコンシューマー グループが Azure Time Series Insights に限定されていない
IoT ハブまたはイベント ハブを登録するときは、データの読み取りに使用するコンシューマー グループを設定することが重要です。 このコンシューマー グループ 共有することはできません。 コンシューマー グループが共有されている場合、基になる IoT ハブまたはイベント ハブは、リーダーの 1 つを自動的にランダムに切断します。 読み取り対象の Azure Time Series Insights 用の一意のコンシューマー グループを提供します。
原因 D: 環境がちょうどプロビジョニングされたばかりです
データは、環境とそのデータが最初に作成されてから数分以内に Azure Time Series Insights エクスプローラーに表示されます。
問題: 一部のデータが表示されているが、データが見つからない
データが部分的にしか表示されておらず、データが遅れていると思われる場合は、次の可能性のある問題を考慮してください。
原因 A: 環境が制限されている
調整 は、データを含むイベント ソースを作成した後に環境をプロビジョニングする場合の一般的な問題です。 Azure IoT Hub と Azure Events Hubs は、最大 7 日間データを格納します。 Azure Time Series Insights は、常にイベント ソース内の最も古いイベント (先入れ先出し、または FIFO) で始まります。
たとえば、S1 の単一ユニットの Azure Time Series Insights 環境に接続するときにイベント ソースに 500 万のイベントがある場合、Azure Time Series Insights は 1 日あたり約 100 万のイベントを読み取ります。 Azure Time Series Insights で 5 日間の待機時間が発生しているように見える場合があります。 しかし、何が起こっているかというと、環境が抑制されているのです。
イベント ソースに古いイベントがある場合は、次の 2 つの方法のいずれかで調整にアプローチできます。
- Azure Time Series Insights に表示したくない古いイベントを削除できるように、イベント ソースのリテンション期間の制限を変更します。
- 古いイベントのスループットを向上させるために、より大きな環境サイズ (ユニット数) をプロビジョニングします。 前の例では、同じ S1 環境を 1 日で 5 ユニットに増やすと、環境は 1 日以内に追いつく必要があります。 安定状態のイベントの生成が 1 日あたり 100 万件以下のイベントである場合は、Azure Time Series Insights が追い付いた後、イベント容量を 1 ユニットに減らすことができます。
強制される調整制限は、環境の SKU タイプと容量に基づきます。 環境内のすべてのイベント ソースがこの容量を共有します。 IoT ハブまたはイベント ハブのイベント ソースが適用された制限を超えてデータをプッシュすると、調整と遅延が発生します。
次の図は、SKU が S1 で容量が 3 の Azure Time Series Insights 環境を示しています。 1 日あたり 300 万件のイベントを受信できます。
イベント ハブからメッセージを取り込む環境を想像してみてください。 1 日あたりの受信レートは約 67,000 メッセージです。 このレートは、1 分ごとに約 46 メッセージに変換されます。
- 各イベント ハブ メッセージが 1 つの Azure Time Series Insights イベントにフラット化されている場合、調整は行われません。
- 各イベント ハブ メッセージが 100 個の Azure Time Series Insights イベントにフラット化されている場合は、1 分ごとに 4,600 個のイベントを取り込む必要があります。
容量が 3 の S1 SKU 環境では、毎分 2,100 イベントしか受信できません (1 日あたり 100 万イベント = 3 ユニットで 1 分あたり 700 イベント = 1 分あたり 2,100 イベント)。
フラット化ロジックのしくみの概要については、サポートされている JSON シェイプ を参照してください。
過剰な制限に対する推奨される解決策
ラグを修正するには、環境の SKU 容量を増やします。 詳細については、「Azure Time Series Insights 環境スケーリングする」を参照してください。
原因 B: 履歴データの初期インジェストによってイングレスが遅くなる
既存のイベント ソースを接続すると、IoT ハブまたはイベント ハブに既にデータが含まれている可能性があります。 環境は、イベント ソースのメッセージ保持期間の先頭からデータのプルを開始します。 この既定の処理はオーバーライドできません。 スロットリングを有効にすることができます。 スロットリングは、履歴データを取り込むのに時間がかかることがあるため、追いつくまでに時間がかかることがあります。
大規模な初期インジェストに推奨される解決策
ラグを修正するには:
SKU 容量を最大許容値 (この場合は 10) に増やします。 容量を増やした後、イングレス プロセスはより迅速に追いつき始めます。 容量の増加に対して課金されます。 追いついている時間を視覚化するには、Azure Time Series Insights エクスプローラーで可用性グラフを表示できます。
ラグがキャッチアップしたら、SKU 容量を通常のイングレス レートに減らします。
問題: データは以前に表示されていましたが、表示されなくなりました
Azure Time Series Insights がデータを取り込まないが、イベントがまだ IoT Hub または Event Hub にストリーミングされている場合は、この潜在的な原因を考慮してください。
原因 A: ハブ アクセス キーが再生成され、環境を更新する必要がある
この問題は、イベント ソースの作成時に指定されたキーが無効になった場合に発生します。 ハブにはテレメトリが表示されますが、Azure Time Series Insights では受信したイングレス メッセージは表示されません。 キーが再生成されたかどうかわからない場合は、イベント ハブのアクティビティ ログで "名前空間承認規則の作成または更新" を検索できます。IoT ハブについては、「IotHub リソースの作成または更新」を検索します。
Azure Time Series Insights 環境を新しいキーで更新するには、Azure portal でハブ リソースを開き、新しいキーをコピーします。 Azure Time Series Insights リソースに移動し、イベント ソース
インジェストが停止したイベント ソースを選んで、新しいキーを貼り付け、次に 保存します。
問題: イベント ソースのタイムスタンプ プロパティ名の設定が機能しない
JSON 文字列としてイベント ソースから取得されるタイムスタンプ プロパティ値が yy-MM-ddTHH:mm:ss 形式であることを確認します。FFFFFFFK. 例を次に示します。2008-04-12T12:53Z。
タイムスタンプ プロパティ名では大文字と小文字が区別されます。
タイムスタンプ プロパティ名が確実にキャプチャされ、正常に動作するようにする最も簡単な方法は、Azure Time Series Insights エクスプローラーを使用することです。 Azure Time Series Insights エクスプローラーで、グラフを使用して、タイムスタンプ プロパティ名を入力した後の期間を選択します。 選択範囲を右クリックし、[イベントの探索]を選択します。
最初の列ヘッダーは、タイムスタンプ プロパティ名にします。 単語 タイムスタンプの横に、($ts) が表示されます。
次の値は表示されません。
- (abc): Azure Time Series Insights がデータ値を文字列として読み取っていることを示します。
- カレンダー アイコン: Azure Time Series Insights がデータ値を datetime 値として読み取っていることを示します。
- #: Azure Time Series Insights がデータ値を整数として読み取っていることを示します。
次の手順
Azure Time Series Insightsの待機時間を軽減する方法の
について説明します。 Azure Time Series Insights 環境 をどのようにスケーリングするかを学びます。