Definizione di un microservizio

Questo documento descrive come creare servizi personalizzati e servizi per alcune risorse come GKE e Cloud Run.

In Cloud Monitoring, un servizio è un costrutto che puoi associare a SLO e policy di avviso. Diverse risorse per le quali potresti creare servizi di Monitoring sono anche chiamate servizi, ma con significati diversi, ad esempio servizi GKE o servizi Cloud Run.

Monitoring può riconoscere i servizi basati su GKE e Cloud Run come candidati per il monitoraggio. Per creare servizi per questi candidati, indica quali vuoi trattare come servizi di Monitoring. Monitoring crea l'infrastruttura necessaria per te.

Puoi anche definire servizi personalizzati arbitrari.

Identificare o creare un servizio

Per identificare i servizi candidati o creare servizi personalizzati, vai al riquadro Definisci servizio:

  1. Nella Google Cloud console, vai alla  pagina SLO:

    Vai a SLO

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella pagina Panoramica dei servizi, esegui una delle seguenti operazioni:

    • Fai clic su Definisci servizio.

    • Nel riquadro Stato attuale, fai clic sul link Definisci servizio:

      Crea servizi personalizzati e identificati dall'utente utilizzando **Definisci servizio**.

Nel riquadro Definisci servizio puoi:

  • Creare servizi da un elenco di servizi candidati.
  • Definire servizi personalizzati.

Le sezioni seguenti descrivono queste opzioni.

Creare servizi

Cloud Monitoring può identificare i seguenti tipi di servizi potenziali:

  • Servizi Cloud Service Mesh
  • Servizi Istio on Google Kubernetes Engine
  • Servizi App Engine
  • Spazi dei nomi GKE
  • Servizi GKE
  • Carichi di lavoro GKE
  • Servizio Cloud Run

Poiché potrebbero essere presenti molti di questi servizi potenziali, Monitoring non presuppone che tu voglia che tutti vengano trattati come servizi con SLO. Per indicare quali servizi potenziali devono essere trattati da Monitoring come servizi, utilizza la Google Cloud console o l'API.

Utilizzare la Google Cloud console per creare servizi

Per creare un servizio utilizzando la Google Cloud console:

  1. Nella pagina Panoramica dei servizi, fai clic su Definisci servizio.

  2. Seleziona Servizi candidati.

    I servizi potenziali sono elencati nella scheda **Servizi candidati**.

    Nell'elenco potrebbe essere presente un numero elevato di servizi candidati. Puoi filtrare l'elenco nel seguente modo:

    1. Fai clic su Filtra tabella. Viene visualizzato un elenco di opzioni di filtro.

    2. Seleziona una delle opzioni nell'elenco dei filtri. L'opzione selezionata viene visualizzata nella barra dei filtri.

    3. Fai clic accanto all'opzione nella barra dei filtri e inizia a digitare. I valori corrispondenti vengono forniti in un elenco. Seleziona un valore dall'elenco.

  3. Fai clic su un servizio candidato nell'elenco dei servizi potenziali.

    Quando fai clic su una voce, i seguenti campi vengono compilati automaticamente:

    • Il nome visualizzato è impostato sul nome della voce nell'elenco. Puoi modificare questo valore.

    • Un blocco di codice JSON per la configurazione del nuovo servizio viene generato dal candidato. Non modificare questo valore.

  4. Fai clic su Invia. Quando il servizio viene creato, viene visualizzata una notifica di operazione riuscita.

Utilizzare l'API per creare un servizio

Puoi anche creare servizi utilizzando l'API SLO, che fa parte dell'API Cloud Monitoring.

Per creare un servizio a livello di programmazione, pubblica un oggetto di configurazione come uno dei seguenti nel metodo services.create:

Spazio dei nomi GKE

Utilizza la struttura GkeNamespace, ad esempio:

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

Servizio GKE

Utilizza la struttura GkeService, ad esempio:

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

Workload GKE

Utilizza la GkeWorkload struttura, ad esempio:

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

Cloud Run

Utilizza la struttura CloudRun, ad esempio:

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

Cloud Service Mesh

Utilizza la struttura MeshIstio, ad esempio:

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

Istio su GKE

Utilizza la struttura clusterIstio, ad esempio:

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

App Engine

Utilizza la struttura AppEngine, ad esempio:

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

Per ulteriori informazioni sulla gestione dei servizi a livello di programmazione, consulta i seguenti documenti:

Creare un servizio personalizzato

Quando nessun altro tipo di servizio soddisfa le tue esigenze, crea un servizio personalizzato. Con un servizio personalizzato, puoi raggruppare arbitrariamente gli SLO in modo significativo per il tuo ambiente o creare SLO su metriche aziendali che non corrispondono a un microservizio esistente.

Utilizzare la Google Cloud console per creare un servizio personalizzato

Per definire un servizio personalizzato utilizzando la Google Cloud console:

  1. Fai clic su Definisci servizio nella pagina Panoramica dei servizi per visualizzare il riquadro Definisci servizio.

  2. Seleziona Servizio personalizzato.

    Utilizza la scheda **Servizio personalizzato** per definire servizi arbitrari.

  3. Inserisci un nome visualizzato per il servizio personalizzato.

  4. Fai clic su Invia. Quando il servizio viene creato, viene visualizzata una notifica di operazione riuscita.

Utilizzare l'API per creare un servizio personalizzato

Per definire un servizio personalizzato utilizzando l'API SLO, pubblica un oggetto di configurazione Custom come il seguente nel metodo services.create:

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

Per ulteriori informazioni sulla gestione dei servizi a livello di programmazione, consulta Utilizzo dell'API.

Passaggi successivi

Dopo aver identificato o creato un nuovo servizio, puoi:

  • Creare un SLO per il nuovo servizio. Perché il nuovo servizio sia utile, devi definire almeno un SLO. Per ulteriori informazioni, consulta Creare un SLO.
  • Vai alla dashboard del nuovo servizio. Per un nuovo servizio, la dashboard è vuota, ma puoi definire gli SLO dalla dashboard. Per ulteriori informazioni, consulta Utilizzare le dashboard dei microservizi.