Dépannage

Accès

Impossible d'ajouter Timeseries Insights DataSet Owner au compte de service

Il est possible que le rôle "Propriétaire d'ensemble de données d'insights sur les séries temporelles" ne s'affiche pas dans l'interface utilisateur. Vous pouvez utiliser l'ID de rôle roles/timeseriesinsights.datasetsOwner avec la commande gcloud pour accorder l'accès nécessaire.

 gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
      --member="serviceAccount:${SVC_ACCOUNT}" \
      --role=roles/timeseriesinsights.datasetsOwner \
      --condition=None

Détection d'anomalies

Cette section décrit certaines étapes de débogage courantes pour comprendre les réponses de l'API Timeseries Insights si elles sont différentes de vos attentes.

Segments vides

Lorsque vous exécutez une requête Timeseries Insights sur un ensemble de données chargé, vous pouvez recevoir une réponse vide.

Example empty response,
{'name': 'projects/demo-project/datasets/demo-dataset',
'slices': []}

Les slices vides indiquent qu'il n'y a pas de points de données dans les intervalles de temps [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] demandés.

Vous pouvez également essayer d'interroger un segment explicite que vous prévoyez d'inclure dans l'ensemble de données à l'aide de l'API evaluateSlice. Cela force le système à renvoyer la série temporelle pour le segment donné et son état d'évaluation.

ForecastResult.label INSUFFICIENT_DATA

Lorsque vous exécutez une requête ou une evaluateSlice de l'API Timeseries Insights, vous pouvez observer INSUFFICIENT_DATA comme ForecastResultLabel par tranche. Cela signifie que nous ne disposons pas de données suffisantes pour classer les segments en question.

code d'état: 3. message: Got density = xx. Densité minimale = yy

Dans l'exemple de code suivant, l'utilisateur a demandé à l'API Timeseries Insights d'effectuer la classification si 90% des points de données sont présents dans les intervalles de temps [detectionTime - TimeseriesParams.forecastHistory, detectionTime] demandés. L'API Timeseries Insights ne peut pas fournir de classification, car seul 1% des points de données n'est pas vide dans l'intervalle de la série temporelle.

"status": {
  "code": 3,
  "message": "Got density = 1. Min density = 90"
}

Essayez d'utiliser les paramètres suivants dans la requête pour comprendre pourquoi les points de données peuvent ne pas exister.

  • detectionTime et TimeseriesParams

    • Assurez-vous que [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity] est une sous-plage de tous les événements disponibles dans votre ensemble de données afin que l'API Timeseries Insights dispose d'un historique suffisant. Vous devrez peut-être choisir un detectionTime proche de la fin de la série temporelle.

    • L'API Timeseries Insights crée une série temporelle en remontant le temps à partir de l'detectionTime. La période à laquelle nous remontons dans le temps et le nombre de points inclus dans la série temporelle sont déterminés par TimeseriesParams.forecastHistory et TimeseriesParams.granularity.

    • Commencez par un minDensity = 0.0 si vous n'êtes pas sûr de la densité réelle des événements dans l'ensemble de données. Ajustez ensuite le paramètre pour plus de précision.

Consultez également la section Concepts de séries temporelles pour obtenir les définitions des paramètres.