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 des insights. Vous pouvez également afficher tous les insights pour un dossier, une organisation ou un compte de facturation.
  • LOCATION: emplacement pour lequel lister 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 par défaut de ressources répertoriées 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 en fonction desquels trier 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 sur 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 lister les insights, par exemple global, europe, asia-east1 ou us-central1-a.
  • INSIGHT_TYPE: type d'insight Network Analyzer à afficher, 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 afficher 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: emplacement pour lequel vous souhaitez répertorier des insights.
  • INSIGHT_TYPE: type d'insight Network Analyzer, 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 des informations détaillées, 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, 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 Network Analyzer, consultez la section Groupes et types d'insights.