Définir un microservice

Ce document explique comment créer des services et des services personnalisés pour certaines ressources telles que GKE et Cloud Run.

Dans Cloud Monitoring, un service est une construction que vous pouvez associer à des SLO et à des règles d'alerte. Plusieurs des ressources pour lesquelles vous pouvez créer des services Monitoring sont également appelées Services mais avec une signification différente, par exemple Services GKE ou Services Cloud Run.

Monitoring peut reconnaître les services basés sur GKE et Cloud Run comme candidats pour la surveillance. Pour créer ces services, vous devez indiquer les candidats que vous souhaitez traiter en tant que services Monitoring, après quoi Monitoring crée pour vous l'infrastructure nécessaire.

Vous pouvez également définir des services personnalisés arbitraires.

Identifier ou créer un service

Pour identifier des services candidats ou pour créer des services personnalisés, accédez au volet Définir un service :

  1. Dans la console Google Cloud, accédez à la page SLO  :

    Accéder à la page SLO

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.

  2. Sur la page Présentation des services, effectuez l'une des opérations suivantes :

    • Cliquez sur Définir le service.

    • Dans le volet État actuel, cliquez sur le lien Définir le service :

      Création de services personnalisés ou identifiés par utilisateur en utilisant **Définir le service**.

Dans le volet Définir le service, vous pouvez effectuer les opérations suivantes :

  • Créer des services à partir d'une liste de services candidats.
  • Définir des services personnalisés.

Les sections suivantes décrivent ces options.

Elle crée des services

Cloud Monitoring peut identifier les services potentiels des types suivants :

  • Services Cloud Service Mesh
  • Istio sur des services Google Kubernetes Engine
  • Services App Engine
  • Espaces de noms GKE
  • Services GKE
  • Charges de travail GKE
  • Service Cloud Run

Ces services potentiels pouvant être très nombreux, Monitoring ne suppose pas que vous souhaitez tous les traiter comme des services avec des SLO. Pour indiquer les services potentiels que Monitoring doit traiter comme services, utilisez la console Google Cloud ou l'API.

Créer des services à l'aide de la console Google Cloud

Pour créer un service à l'aide de la console Google Cloud, procédez comme suit :

  1. Sur la page Présentation des services, cliquez sur Définir le service.

  2. Sélectionnez Services candidats.

    Les services potentiels sont répertoriés dans l'onglet **Services candidats**.

    La liste peut contenir un grand nombre de services candidats. Vous pouvez filtrer la liste comme suit :

    1. Cliquez sur  Filtrer le tableau. Une liste d'options de filtre s'affiche.

    2. Sélectionnez l'une des options de la liste de filtres. L'option choisie s'affiche dans la barre de filtre.

    3. Cliquez dans la barre de filtre à côté de l'option, puis commencez à saisir du texte. Les valeurs correspondantes sont fournies dans une liste. Sélectionnez une valeur dans la liste.

  3. Cliquez sur un service candidat dans la liste des services potentiels.

    Lorsque vous cliquez sur une entrée, les champs suivants sont automatiquement remplis pour vous :

    • Le nom à afficher est défini sur le nom de l'entrée dans la liste. Vous pouvez modifier cette valeur.

    • Un bloc de code JSON pour la configuration du nouveau service est généré à partir du candidat. Ne modifiez pas cette valeur.

  4. Cliquez sur Envoyer. Une fois votre service créé, une notification Success (Opération réussie) s'affiche.

Créer un service personnalisé en utilisant l'API

Vous pouvez également créer des services à l'aide de l'API SLO, qui fait partie de l'API Cloud Monitoring.

Pour créer un service par programmation, publiez un objet de configuration semblable à l'un des éléments suivants dans la méthode services.create :

Espace de noms GKE

Utilisez la structure GkeNamespace, par exemple :

{
  "displayName": "test-kube-namespace",
  "gkeNamespace": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "test-kube-namespace"
  }
}

Service GKE

Utilisez la structure GkeService, par exemple :

{
  "displayName": "test-kube-service",
  "gkeService": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "kube-system",
    "serviceName": "test-kube-service"
  }
}

Charge de travail GKE

Utilisez la structure GkeWorkload, par exemple :

{
  "displayName": "frontend-a",
  "gkeWorkload": {
    "location": "us-central1-b",
    "clusterName": "cluster-2",
    "namespaceName": "default",
    "topLevelControllerType": "Deployment",
    "topLevelControllerName": "frontend-a"
  }
}

Cloud Run

Utilisez la structure CloudRun, par exemple :

{
  "displayName": "test-cloudrun-service",
  "cloudRun": {
    "serviceName": "test-cloudrun-service",
    "location": "us-central1"
  }
}

Cloud Service Mesh

Utilisez la structure MeshIstio, par exemple :

{
  "displayName": "test-mesh-istio-service",
  "meshIstio": {
    "meshUid": "mesh-identifier"
    "serviceName": "test-mesh-istio-service",
    "serviceNamespace": "default"
  }
}

Istio sur GKE

Utilisez la structure clusterIstio, par exemple :

{
  "displayName": "test-cluster-istio-service",
  "clusterIstio": {
    "serviceName": "test-cloud-service",
    "clusterName": "cluster-2",
    "serviceNamespace": "default",
    "location": "us-central1"
  }
}

App Engine

Utilisez la structure AppEngine, par exemple :

{
  "displayName": "test-mesh-istio-service",
  "appEngine": {
    ""moduleId": "id-of-the-service"
  }
}

Pour en savoir plus sur la gestion des services par programmation, consultez les documents suivants :

Créer un service personnalisé

Lorsqu'aucun autre type de service ne répond à vos besoins, créez un service personnalisé. Avec un service personnalisé, vous pouvez regrouper des SLO d'une manière arbitraire mais qui fait sens pour votre environnement, ou créer des SLO pour des métriques métier qui ne correspondent pas à un microservice existant.

Créer un service personnalisé à l'aide de la console Google Cloud

Pour définir un service personnalisé en utilisant Google Cloud Console, procédez comme suit :

  1. Cliquez sur Définir le service sur la page Présentation des services pour ouvrir le volet Définir le service.

  2. Sélectionnez Service personnalisé.

    Utilisez l'onglet **Service personnalisé** pour définir des services arbitraires.

  3. Saisissez le nom à afficher de votre service personnalisé.

  4. Cliquez sur Envoyer. Une fois votre service créé, une notification Success (Opération réussie) s'affiche.

Créer un service personnalisé en utilisant l'API

Pour définir un service personnalisé en utilisant l'API SLO, publiez un objet de configuration Custom semblable au suivant dans la méthode services.create :

{
  "displayName": "hello-world-service",
  "custom": {}
}

Pour en savoir plus sur la gestion des services par programmation, consultez la page Travailler avec l'API.

Étape suivante

Après avoir identifié ou créé un service, vous pouvez effectuer les opérations suivantes :

  • Créer un SLO pour votre nouveau service. Vous devez définir au moins un SLO pour que votre nouveau service soit utile. Pour en savoir plus, consultez la page Créer un SLO.
  • Accédez au tableau de bord de votre nouveau service. Pour un nouveau service, le tableau de bord est vide, mais vous pouvez définir des SLO à partir du tableau de bord. Pour plus d'informations, consultez la page Utiliser des tableaux de bord de microservices.