Utiliser la CLI et l'API Recommender

Network Analyzer utilise les commandes de l'outil de recommandation. L'outil de recommandation est un service Google Cloud qui fournit des recommandations d'utilisation pour les produits et services Google Cloud. Pour obtenir la liste complète des types d'insights de l'outil de recommandation, consultez les types d'insights de l'outil de recommandation.

Demander des insights

gcloud

Pour répertorier les insights d'un projet Google Cloud, exécutez la commande suivante:

gcloud recommender insights list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --insight-type=INSIGHT_TYPE \
    --filter=EXPRESSION \
    --limit=LIMIT \
    --page-size=PAGE_SIZE \
    --sort-by=SORT_BY \
    --format=json

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet pour lequel vous souhaitez répertorier les insights. Vous pouvez également répertorier tous les insights d'un dossier, d'une organisation ou d'un compte de facturation.
  • LOCATION: emplacement pour lequel répertorier les insights, par exemple global, europe, asia-east1 ou us-central1-a.
  • INSIGHT_TYPE: type d'insight Network Analyzer à demander, par exemple google.networkanalyzer.vpcnetwork.connectivityInsight.

    Pour obtenir la liste complète des types d'insights, consultez Groupes et types d'insights.

Les champs suivants sont facultatifs :

  • EXPRESSION: appliquez ce filtre booléen à chaque ressource que vous souhaitez répertorier.

    Si l'expression renvoie la valeur True, cet élément est répertorié. Pour plus de détails et d'exemples d'expressions de filtre, exécutez $ gcloud topic filters ou consultez la documentation gcloud topic filters.

  • LIMIT: nombre maximal de ressources à répertorier. Le nombre de ressources listées par défaut est illimité.

  • PAGE_SIZE: nombre maximal de ressources à répertorier par page.

    La taille de page par défaut est déterminée par le service ; dans le cas contraire, il n'y a pas de pagination. La pagination peut être appliqué avant ou après FILTER et LIMIT.

  • SORT_BY: liste de noms de clés de champ séparés par une virgule à utiliser comme critères de tri pour une ressource.

    L'ordre par défaut est croissant. Pour spécifier un ordre décroissant, ajoutez un préfixe ~ (un tilde) à un champ.

API

Pour obtenir des insights pour un projet Google Cloud, envoyez une requête GET à la méthode projects.locations.insightTypes.insights:

https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet.
  • LOCATION: emplacement pour lequel répertorier les insights, par exemple global, europe, asia-east1 ou us-central1-a.
  • INSIGHT_TYPE: type d'insight de Network Analyzer à répertorier, par exemple google.networkanalyzer.vpcnetwork.connectivityInsight.

    Pour obtenir la liste complète des types d'insights, consultez Groupes et types d'insights.

L'exemple suivant illustre un exemple de réponse pour cette commande :

{
  "name": "projects/{project_number}/locations/{location}/insightTypes/google.networkanalyzer.hybridconnectivity.dynamicRouteInsight/insights/{insight_id}",
  "description": "Dynamic route is fully shadowed by a peering subnet route",
  "content": {
    "networkUri": "//compute.googleapis.com/projects/{project_id}/global/networks/{network_name}",
    "region": "{location}",
    "ipRange": "{ip_range}",
    "priority": 100,
    "nextHopUri": "//compute.googleapis.com/projects/{project_id}/regions/{location}/vpnTunnels/{tunnel_name}",
    "cloudRouterUri": "//compute.googleapis.com/projects/{project_id}/regions/{location}/routers/{router_name}",
    "shadowingRouteUris": [
      "//compute.googleapis.com/projects/{project_id}/global/routes/{route_name}"
    ],
    "shadowingRouteType": "PEERING_SUBNET"
  },
  "lastRefreshTime": "2022-09-15T21:10:57.187942979Z",
  "observationPeriod": "611870.625920374s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "PERFORMANCE",
  "targetResources": [
    "//compute.googleapis.com/projects/{project_id}/regions/{location}/vpnTunnels/{tunnel_name}"
  ],
  "insightSubtype": "DYNAMIC_ROUTE_FULLY_SHADOWED",
  "severity": "MEDIUM"
}

Décrire les détails de l'insight

gcloud

Pour répertorier les détails d'un insight particulier, exécutez la commande suivante:

gcloud recommender insights describe INSIGHT_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --insight-type=INSIGHT_TYPE

Remplacez les éléments suivants :

  • INSIGHT_ID: ID de l'insight à décrire.
  • PROJECT_ID: ID du projet contenant l'insight.
  • LOCATION: établissement pour lequel répertorier les insights.
  • INSIGHT_TYPE: type d'insight Network Analyzer de l'insight, par exemple google.networkanalyzer.vpcnetwork.connectivityInsight.

    Pour obtenir la liste complète des types d'insights, consultez Groupes et types d'insights.

API

Pour obtenir les détails d'un insight, envoyez une requête GET à la méthode projects.locations.insightTypes.insights:

https://recommender.googleapis.com/v1/projects/PROJECT/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights/INSIGHT_ID

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet.
  • LOCATION: emplacement de l'insight.
  • INSIGHT_TYPE: type d'insight Network Analyzer de l'insight, par exemple google.networkanalyzer.vpcnetwork.connectivityInsight.

    Pour obtenir la liste complète des types d'insights, consultez Groupes et types d'insights.

  • INSIGHT_ID: ID de l'insight.

Groupes et types d'insights

Pour en savoir plus sur les insights de Network Analyzer, consultez la page Groupes et types d'insights.