Diagnosticare e risolvere i problemi nell'ambiente Time Series InsightsDiagnose and solve problems in your Time Series Insights environment

Problema 1: non viene visualizzato alcun datoProblem 1: No data is shown

Ecco alcuni motivi per cui i dati potrebbero non essere visualizzati nello strumento di esplorazione di Azure Time Series Insights:There are several common reasons why you might not see your data in the Azure Time Series Insights Explorer:

Causa possibile A: i dati dell'origine evento non sono in formato JSONPossible cause A: Event source data is not in JSON format

Azure Time Series Insights supporta solo dati in formato JSON.Azure Time Series Insights supports only JSON data. Per alcuni esempi di dati in formato JSON, vedere Forme JSON supportate.For JSON samples, see Supported JSON shapes.

Causa possibile B: la chiave dell'origine evento non dispone di un'autorizzazione obbligatoriaPossible cause B: Event source key is missing a required permission

  • Per un hub IoT è necessario indicare la chiave con l'autorizzazione di connessione al servizio.For an IoT Hub, you need to provide the key that has service connect permission.

    Autorizzazione di connessione al servizio hub IoT

    Come illustrato nell'immagine precedente, entrambi i criteri iothubowner e service possono funzionare, in quanto entrambi dispongono dell'autorizzazione di connessione al servizio.As shown in the preceding image, either of the policies iothubowner and service would work, because both have service connect permission.

  • Per un hub eventi è necessario fornire la chiave con l'autorizzazione di ascolto.For an event hub, you need to provide the key that has Listen permission.

    Autorizzazione di ascolto per l'hub eventi

    Come illustrato nell'immagine precedente, entrambi i criteri read e manage potrebbero funzionare, in quanto entrambi dispongono dell'autorizzazione di ascolto.As shown in the preceding image, either of the policies read and manage would work, because both have Listen permission.

Causa possibile C: il gruppo di consumer fornito è non esclusivo di Time Series InsightsPossible cause C: The consumer group provided is not exclusive to Time Series Insights

Durante la registrazione di un hub IoT o un hub eventi viene specificato il gruppo di consumer da usare per la lettura dei dati.During registration of am IoT Hub or an event hub, you specify the consumer group that should be used for reading the data. Questo gruppo di consumer non deve essere condiviso.This consumer group must not be shared. Se viene condiviso, l'hub eventi sottostante disconnette automaticamente uno dei lettori in modo casuale.If the consumer group is shared, the underlying event hub automatically disconnects one of the readers randomly. Specificare un gruppo di consumer univoco per la lettura dei dati da parte di Time Series Insights.Provide a unique consumer group for Time Series Insights to read from.

Problema 2: vengono visualizzati solo alcuni datiProblem 2: Some data is shown, but some is missing

Se i dati risultano parzialmente visibili, mentre altri sembrano in ritardo, è necessario considerare le possibili cause seguenti:When you can see data partially, but the data is lagging behind, there are several possibilities to consider:

Causa possibile A: l'ambiente è in fase di limitazionePossible cause A: Your environment is getting throttled

Si tratta di un problema comune quando viene effettuato il provisioning di ambienti dopo la creazione di un'origine eventi con dati.This is a common problem when environments are provisioned after the creation of an event source with data. Gli hub IoT di Azure e Hub eventi archiviano i dati per un massimo di sette giorni.Azure IoT Hubs and Events Hubs store data up to seven days. Time Series Insights partirà sempre dall'evento meno recente (FIFO), all'interno dell'origine eventi.TSI will always start from the oldest event (FIFO), within the event source. Pertanto, se sono presenti cinque milioni di eventi in un'origine eventi quando ci si connette a un ambiente di Time Series Insights a singola unità S1, Time Series Insights leggerà circa un milione di eventi al giorno.So if you have five million events in an event source when you connect to an S1, single-unit TSI environment, TSI will read approximately one million events per day. Apparentemente, ciò potrebbe essere interpretato come un periodo di latenza di cinque giorni per Time Series Insights.This might appear to look as though TSI is experiencing five days of latency at first glance. Quello che accade in effetti, è che l'ambiente viene limitato.What is actually happening is that the environment is being throttled. In presenza di vecchi eventi nell'origine eventi, è possibile scegliere tra due approcci:If you have old events in your event source, you can approach one of two ways:

  • Modificare i limiti di conservazione dell'origine eventi per eliminare vecchi eventi che non si vuole visualizzare in Time Series InsightsChange your event source's retention limits to help get rid of old events that you don't want to show up in TSI
  • Eseguire il provisioning di un ambiente di dimensioni maggiori, in termini di numero di unità, per aumentare la velocità effettiva per i vecchi eventi.Provision a larger environment size (in terms of number of units) to increase throughput of old events. Ritornando all'esempio precedente, se lo stesso ambiente S1 venisse esteso a cinque unità per un giorno, sarebbe possibile recuperare entro tale giorno.Using the example above, if you increased that same S1 environment to five units for one day, the environment should catch-up to now within the day. Se la produzione di eventi di stato costante è di circa 1 milione o meno al giorno, è possibile ridurre la capacità per gli eventi tornando a una unità dopo essersi messi in pari.If your steady state event production is 1M or less events/day, then you can reduce the capacity of the event back down to one unit after it has caught up.

La limitazione viene applicata in base alla capacità e al tipo di SKU dell'ambiente.The throttling limit is enforced based on the environment's SKU type and capacity. Tutte le origini evento all'interno dell'ambiente condividono questa capacità.All event sources in the environment share this capacity. Se l'origine evento dell'hub IoT e dell'hub eventi esegue il push dei dati oltre il limite imposto, si verificheranno una limitazione e un ritardo.If the event source for your IoT Hub or event hub is pushing data beyond the enforced limits, you see throttling and a lag.

Il diagramma seguente mostra un ambiente Time Series Insights con uno SKU S1 e una capacità pari a 3.The following diagram shows a Time Series Insights environment that has a SKU of S1 and a capacity of 3. È consentito l'ingresso di 3 milioni di eventi al giorno.It can ingress 3 million events per day.

Capacità corrente dello SKU dell'ambiente

Si supponga, ad esempio, che questo ambiente stia inserendo messaggi provenienti da un hub eventi.For example, assume that this environment is ingesting messages from an event hub. Osservare la velocità in ingresso, illustrata nel diagramma seguente:Observe the ingress rate shown in the following diagram:

Velocità di ingresso di esempio per un hub eventi

Come illustrato nel diagramma, la frequenza in ingresso giornaliera è pari a circa 67.000 messaggi.As shown in the diagram, the daily ingress rate is ~67,000 messages. Questa velocità si traduce approssimativamente in 46 messaggi al minuto.This rate translates roughly to 46 messages every minute. Se ogni messaggio dell'hub eventi viene appiattito a un singolo evento Time Series Insights, questo ambiente non sperimenterà alcuna limitazione.If each event hub message is flattened to a single Time Series Insights event, this environment sees no throttling. Se ogni messaggio dell'hub eventi viene appiattito a 100 eventi Time Series Insights , devono essere inseriti 4.600 eventi ogni minuto.If each event hub message is flattened to 100 Time Series Insights events, then 4,600 events should be ingested every minute. Un ambiente SKU S1 con una capacità pari a 3 consente l'ingresso di soli 2.100 eventi al minuto (1 milione di eventi al giorno = 700 eventi al minuto in 3 unità = 2.100 eventi al minuto).An S1 SKU environment that has a capacity of 3 can ingress only 2,100 events every minute (1 million events per day = 700 events per minute at 3 units = 2,100 events per minute). Pertanto si osserverà un ritardo dovuto alla limitazione.Therefore you see a lag due to throttling.

Per una descrizione generale di come funziona la logica di appiattimento, vedere Forme JSON supportate.For a high-level understanding of how flattening logic works, see Supported JSON shapes.

Per correggere il ritardo, aumentare la capacità SKU dell'ambiente.To fix the lag, increase the SKU capacity of your environment. Per altre informazioni, vedere Come scalare l'ambiente Time Series Insights.For more information, see How to scale your Time Series Insights environment.

Causa possibile B: l'inserimento iniziale dei dati cronologici rallenta il traffico in ingressoPossible cause B: Initial ingestion of historical data is causing slow ingress

Se ci si connette a un'origine evento esistente, è probabile che l'hub IoT o l'hub eventi contenga già dati.If you are connecting an existing event source, it's likely that your IoT Hub or event hub already has data in it. L'ambiente inizia a eseguire il pull dei dati dall'inizio del periodo di conservazione dei messaggi dell'origine evento.The environment starts pulling data from the beginning of the event source's message retention period.

Questo comportamento è quello predefinito e non è possibile eseguirne l'override.This behavior is the default behavior and cannot be overridden. Potrebbe attivarsi la limitazione e potrebbe essere necessario un po' di tempo per l'inserimento dei dati cronologici.You can engage throttling, and it may take a while to catch up on ingesting historical data.

Per correggere il ritardo, procedere come segue:To fix the lag, take the following steps:

  1. Aumentare la capacità SKU fino al valore massimo consentito (10 in questo caso).Increase the SKU capacity to the maximum allowed value (10 in this case). Dopo aver aumentato la capacità, il processo di ingresso inizia a essere molto più veloce.After the capacity is increased, the ingress process starts catching up much faster. È possibile vedere tale rapidità nel grafico della disponibilità nello strumento di esplorazione di Time Series Insights.You can visualize how quickly you're catching up through the availability chart in the Time Series Insights explorer. La maggiore capacità sarà addebitata.You are charged for the increased capacity.
  2. Dopo aver recuperato il ritardo, diminuire nuovamente la capacità SKU secondo la velocità di ingresso normale.After the lag is caught up, decrease the SKU capacity back to your normal ingress rate.

Problema 3: l'impostazione del nome della proprietà Timestamp dell'origine evento non funzionaProblem 3: My event source's timestamp property name setting doesn't work

Verificare che il nome e il valore siano conformi alle regole seguenti:Ensure that the name and value conform to the following rules:

  • Il nome della proprietà Timestamp fa distinzione fra maiuscole e minuscole.The timestamp property name is case-sensitive.
  • Il valore della proprietà Timestamp proveniente dall'origine evento, come stringa JSON, deve avere il formato aaaa-MM-ggTHH:mm:ss.FFFFFFFK.The timestamp property value that's coming from your event source, as a JSON string, should have the format yyyy-MM-ddTHH:mm:ss.FFFFFFFK. Un esempio di tale stringa è "2008-04-12T12:53Z".An example of such a string is “2008-04-12T12:53Z”.

Il modo più semplice per garantire l'acquisizione e il corretto funzionamento del nome della proprietà Timestamp consiste nell'usare TSI Explorer.The easiest way to ensure that your timestamp property name is captured and working properly is to use the TSI explorer. All'interno di TSI Explorer, usando il grafico, selezionare un periodo di tempo dopo aver specificato il nome della proprietà Timestamp.Within the TSI explorer, using the chart, select a period of time after you provided the timestamp property name. Fare clic con il pulsante destro del mouse sulla selezione e scegliere Esplora eventi.Right-click the selection and choose the explore events option. La prima intestazione di colonna deve essere il nome della proprietà Timestamp e deve avere ($ts) accanto alla parola Timestamp, invece di:The first column header should be your timestamp property name and it should have a ($ts) next to the word Timestamp, rather than:

  • (abc) , che indicherebbe che Time Series Insights sta leggendo i valori dei dati come stringhe(abc), which would indicate TSI is reading the data values as strings
  • Icona del calendario, che indicherebbe che Time Series Insights sta leggendo i valori dei dati come datetimeCalendar icon, which would indicate TSI is reading the data value as datetime
  • #, che indicherebbe che Time Series Insights sta leggendo i valori dei dati come Integer#, which would indicate TSI is reading the data values as an integer

Passaggi successiviNext steps