Definizione di un microservizio

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

In Cloud Monitoring, un servizio è un costrutto che puoi associare a SLO e criteri di avviso. Alcune delle risorse per i quali potresti creare servizi Monitoring noti come servizi, ma con diversi significati, GKE o Cloud Run Google Cloud.

Monitoring può riconoscere Servizi basati su Cloud Run come candidati per il monitoraggio. Per creare servizi per loro, indica i candidati che vuoi trattati come servizi di monitoraggio; Monitoraggio che crei l'infrastruttura necessaria.

Puoi anche definire servizi personalizzati arbitrari.

Identifica o crea un servizio

Per identificare i servizi candidati o per creare servizi personalizzati, vai alle Riquadro Definisci servizio:

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

    Vai a SLO

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

  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 dagli utenti utilizzando **Definisci servizio**.

Nel riquadro Definisci servizio puoi eseguire le seguenti operazioni:

  • Crea i servizi da un elenco di servizi candidati.
  • Definisci i servizi personalizzati.

Nelle sezioni che seguono vengono descritte queste opzioni.

Crea servizi

Cloud Monitoring può identificare i potenziali servizi dei tipi:

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

Poiché potrebbero esserci molti di questi potenziali servizi, Il monitoraggio non presuppone che tu voglia che vengano trattati tutti come servizi con gli SLO. Per indicare quali dei potenziali servizi Il monitoraggio deve essere considerato come un servizio, utilizza nella console Google Cloud o nell'API.

Utilizzare la console Google Cloud per creare servizi

Per creare un servizio utilizzando la console Google Cloud, segui questi passaggi:

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

  2. Seleziona Service Candidates (Candidati per i servizi).

    I potenziali servizi sono elencati nella scheda **Candidati per i servizi**.

    L'elenco potrebbe contenere un numero elevato di servizi candidati. Puoi filtra l'elenco nel seguente modo:

    1. Fai clic su Filtra tabella. Un elenco di opzioni di filtro è visualizzati.

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

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

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

    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 generati dal candidato. Non modificare questo valore.

  4. Fai clic su Invia. Quando il servizio viene creato, viene visualizzato un messaggio di errore Operazione riuscita viene visualizzata una notifica.

usa l'API per creare un servizio

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

Per creare un servizio in modo programmatico, carica un oggetto di configurazione come uno quanto segue al 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"
  }
}

Carico di lavoro GKE

Utilizza la struttura GkeWorkload, 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 programmatica dei servizi, consulta le seguenti documenti:

Crea un servizio personalizzato

Se 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 console Google Cloud per creare un servizio personalizzato

Per definire un servizio personalizzato utilizzando la console Google Cloud, segui questi passaggi:

  1. Fai clic su Definisci servizio nella pagina Panoramica dei servizi per visualizzare nel 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 visualizzato un messaggio di errore Operazione riuscita viene visualizzata una notifica.

Utilizzare l'API per creare un servizio personalizzato

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

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

Per ulteriori informazioni sulla gestione dei servizi in modo programmatico, vedi Utilizzo con l'API.

Passaggi successivi

Dopo aver identificato o creato un nuovo servizio, puoi:

  • Crea uno SLO per il nuovo servizio. Devi definirne almeno uno SLO per il nuovo servizio affinché quest'ultimo sia utile. Per maggiori informazioni consulta la sezione Creazione di uno SLO.
  • Vai alla dashboard del nuovo servizio. Per un nuovo servizio, la dashboard è vuota, ma puoi definire gli SLO dalla dashboard. Per saperne di più, consulta Utilizzo delle dashboard dei microservizi.