En este documento, se describe cómo crear servicios y servicios personalizados para algunos recursos, como GKE y Cloud Run.
En Cloud Monitoring, un servicio es una construcción que puedes asociar con los SLO y las políticas de alertas. Varios de los recursos para los que puedes crear servicios de Monitoring también se denominan servicios, pero con diferentes significados, como servicios de GKE o servicios de Cloud Run.
Monitoring puede reconocer los servicios basados en GKE y Cloud Run como candidatas para la supervisión. Para crear servicios por ellos, debes indicar qué candidatos quieres que se traten como servicios de Monitoring. Monitoring crea la infraestructura necesaria por ti.
También puedes definir servicios personalizados arbitrarios.
Identifica o crea un servicio
Para identificar los servicios candidatos o crear servicios personalizados, ve al panel Definir servicio:
-
En la consola de Google Cloud, ve a la página SLO:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
En la página Descripción general de los servicios, realiza una de las siguientes acciones:
Haz clic en add Definir servicio.
En el panel Estado actual, haz clic en el vínculo Definir servicio:
En el panel Definir servicio, puedes hacer lo siguiente:
- Crear servicios a partir de una lista de servicios candidatos
- Definir servicios personalizados
En las siguientes secciones, se describen estas opciones.
Crea servicios.
Cloud Monitoring puede identificar posibles servicios de los siguientes tipos:
- Servicios de Cloud Service Mesh
- Istio en los servicios de Google Kubernetes Engine
- Servicios de App Engine
- Espacios de nombres de GKE
- Servicios de GKE
- Cargas de trabajo de GKE
- Servicio de Cloud Run
Dado que puede haber muchos de estos posibles servicios, Monitoring no da por sentado que desees que todos se traten como servicios con SLO. Para indicar cuáles de los posibles servicios deben tratarse como servicios en Monitoring, usa la consola de Google Cloud o la API.
Usa la consola de Google Cloud para crear servicios
Para crear un servicio con la consola de Google Cloud, haz lo siguiente:
En la página Descripción general de los servicios, haz clic en Definir el servicio.
Selecciona Candidatos al servicio.
Es posible que haya una gran cantidad de servicios candidatos en la lista. Puedes filtrar la lista de la siguiente manera:
Haz clic en filter_list Tabla de filtros. Se muestra una lista de opciones de filtro.
Selecciona una de las opciones de la lista de filtros. La opción seleccionada aparecerá en la barra de filtros.
Haz clic junto a la opción en la barra de filtros y comienza a escribir. Los valores que coinciden se proporcionan en una lista. Selecciona un valor de la lista.
Haz clic en un servicio candidato de la lista de servicios posibles.
Cuando haces clic en una entrada, se completan automáticamente los siguientes campos:
El nombre visible se configura como el nombre de la entrada en la lista. Puedes cambiar este valor.
A partir del candidato se genera un bloque de código JSON para la configuración del nuevo servicio. No cambies este valor
Haz clic en Enviar. Cuando se crea el servicio, se muestra una notificación de Correcto.
Usa la API para crear un servicio
También puedes crear servicios mediante la API de SLO, que forma parte de la API de Cloud Monitoring.
Si deseas crear un servicio de manera programática, publica un objeto de configuración como uno de los siguientes en el método services.create
:
Espacio de nombres de GKE
Usa la estructura GkeNamespace
, por ejemplo:
{ "displayName": "test-kube-namespace", "gkeNamespace": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "test-kube-namespace" } }
Servicio de GKE
Usa la estructura GkeService
, por ejemplo:
{ "displayName": "test-kube-service", "gkeService": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "kube-system", "serviceName": "test-kube-service" } }
Carga de trabajo de GKE
Usa la estructura GkeWorkload
, por ejemplo:
{ "displayName": "frontend-a", "gkeWorkload": { "location": "us-central1-b", "clusterName": "cluster-2", "namespaceName": "default", "topLevelControllerType": "Deployment", "topLevelControllerName": "frontend-a" } }
Cloud Run
Usa la estructura CloudRun
, por ejemplo:
{ "displayName": "test-cloudrun-service", "cloudRun": { "serviceName": "test-cloudrun-service", "location": "us-central1" } }
Cloud Service Mesh
Usa la estructura MeshIstio
, por ejemplo:
{ "displayName": "test-mesh-istio-service", "meshIstio": { "meshUid": "mesh-identifier" "serviceName": "test-mesh-istio-service", "serviceNamespace": "default" } }
Istio on GKE
Usa la estructura clusterIstio
, por ejemplo:
{ "displayName": "test-cluster-istio-service", "clusterIstio": { "serviceName": "test-cloud-service", "clusterName": "cluster-2", "serviceNamespace": "default", "location": "us-central1" } }
App Engine
Usa la estructura AppEngine
, por ejemplo:
{ "displayName": "test-mesh-istio-service", "appEngine": { ""moduleId": "id-of-the-service" } }
Para obtener más información sobre cómo administrar servicios de manera programática, consulta los siguientes documentos:
Crea un servicio personalizado
Cuando ningún otro tipo de servicio satisfaga tus necesidades, crea un servicio personalizado. Con un servicio personalizado, puedes agrupar de forma arbitraria los SLO de una manera que sea significativa para tu entorno o crear SLO en métricas empresariales que no correspondan a un microservicio existente.
Usa la consola de Google Cloud para crear un servicio personalizado
Para definir un servicio personalizado mediante la consola de Google Cloud, haz lo siguiente:
Haz clic en Definir servicio en la página Descripción general de los servicios para abrir el panel Definir servicio.
Selecciona Servicio personalizado.
Ingresa un nombre visible para tu servicio personalizado.
Haz clic en Enviar. Cuando se crea el servicio, se muestra una notificación de Correcto.
Usa la API para crear un servicio personalizado
Para definir un servicio personalizado mediante la API de SLO, envía un objeto de configuración Custom
como el siguiente al método services.create
:
{ "displayName": "hello-world-service", "custom": {} }
Para obtener más información sobre cómo administrar servicios de manera programática, consulta Trabaja con la API.
¿Qué sigue?
Después de identificar o crear un servicio nuevo, puedes hacer lo siguiente:
- Crear un SLO para el servicio nuevo. Debes definir por lo menos un SLO para el servicio nuevo a fin de que este sea útil. Para obtener más información, consulta Crea un SLO.
- Ir al panel del servicio nuevo. En el caso de un servicio nuevo, el panel estará vacío, pero puedes definir los SLO desde el panel. Para obtener más información, consulta Usa los paneles de microservicios.