Configuración del servicio IBM Cloud Logs Routing para enrutar los registros de la plataforma a una instancia IBM Cloud Logs de una región

Utilice el servicio IBM Cloud Logs Routing para enrutar los registros de la plataforma desde su cuenta IBM Cloud a un destino de instancia IBM Cloud Logs. Debe configurar un inquilino en la región y un destino de destino.

Un tenant es la configuración específica de la cuenta de IBM Cloud Logs Routing que se ejecuta dentro de una región. La configuración del inquilino incluye un máximo de 1 definición de objetivo. El objetivo define hacia dónde se dirigen los registros.

Debe crear un tenant en su cuenta en cada región en la que desee utilizar IBM Cloud Logs Routing. Cada región es independiente y las regiones no comparten datos.

Objetivos

En este tutorial aprenderás:

  • Configure IBM Cloud Logs Routing para enrutar los registros de la plataforma a una instancia de IBM Cloud Logs en una región.

  • Compruebe que los registros de la plataforma se dirigen a su instancia IBM Cloud Logs.

Antes de empezar

Complete los pasossiguientes:

  1. Repasa Acerca de IBM® Cloud Logs Routing para entender conceptos.

  2. Instale todas las herramientas necesarias tal y como se describe en comenzar.

  3. Para obtener detalles sobre un inquilino mediante la API, compruebe que puede conectarse a IBM Cloud Logs Routing mediante la API de gestión. Para obtener más información, consulte Conexión a IBM® Cloud Logs Routing.

  4. Los registros de la plataforma que se enrutan a IBM Cloud Logs incluyen campos de metadatos que puede utilizar para gestionar los datos y configurar funciones en su instancia de IBM Cloud Logs.

    El nombre de la aplicación es el entorno que produce y envía registros a IBM Cloud Logs. Los registros de la plataforma tienen el nombre de la aplicación establecido en ibm-platform-log.

    El nombre del subsistema es el servicio o la aplicación que produce y envía registros o métricas a IBM Cloud Logs. Los registros de plataforma tienen el nombre del subsistema establecido en CRNserviceName:instanceID. Para los registros de la plataforma VPC, los campos se establecen en is:resourceType.

  5. Configure los permisos para gestionar los objetivos en la cuenta. Para obtener más información, consulte Concesión de permisos de IAM.

    Antes de poder configurar el servicio IBM Cloud Logs Routing para enrutar los registros de su plataforma, necesita un token de acceso IBM Cloud® Identity and Access Management (IAM) para la autenticación. La IBM Cloud CLI se utiliza para obtener esta información.

    1. Inicie sesión en la cuenta de IBM Cloud. Incluya la opción --sso si utiliza un ID federado.

      ibmcloud login [--sso]
      

      La salida incluirá su nombre de usuario similar a:

      Targeted account Jane Doe\'s Account (111111111112a21af53a2aeed19a1542a44) <-> 11111156
      
      
       API endpoint:     https://cloud.ibm.com
       Region:           us-south
       User:             Jane.Doe@ibm.com
       Account:          Jane Doe\'s Account (111111111112a21af53a2aeed19a1542a44) <-> 11111156
       Resource group:   No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'
      
    2. Para conceder acceso para utilizar IBM Cloud Logs Routing a su usuario, recopile el nombre de usuario de la salida generada anteriormente. En nuestro ejemplo, sería Jane.Doe@ibm.com. Sustituye <username> por tu nombre de usuario en el siguiente comando:

      ibmcloud iam user-policy-create <username> --roles Manager --service-name logs-router
      

      En lugar de asignar funciones directamente a las identidades, una estrategia común es asignar funciones a grupos de acceso y añadir identidades como miembros de esos grupos de acceso. Para más información sobre grupos de acceso, consulte Configuración de grupos de acceso.

Creación de una autorización de servicio a servicio

Debe utilizar IBM Cloud® Identity and Access Management (IAM) para crear una autorización que conceda IBM Cloud Logs Routing acceso a IBM Cloud Logs.

Creación de una autorización de servicio a servicio a través de la interfaz de usuario

Complete los pasossiguientes:

  1. Inicia sesión en tu cuenta IBM Cloud.

  2. En la consola de IBM Cloud, pulse Gestionar > Acceso (IAM) y seleccione Autorizaciones.

  3. Pulse Crear.

  4. Configure la cuenta de origen. Seleccione Esta cuenta.

  5. Seleccione Enrutamiento de registros como servicio de origen. A continuación, establece el ámbito del acceso en Todos los recursos.

  6. Seleccione Cloud Logs como servicio de destino. A continuación, establezca el ámbito del acceso en Todos los recursos, que concede acceso a todas las instancias IBM Cloud Logs, o a una única instancia configurando Recursos basados en atributos seleccionados > Instancia de servicio.

    No se admiten otros atributos para este tipo de autorización.

  7. En la sección Acceso al servicio, seleccione Emisor para asignar acceso al servicio de origen que accede al servicio de destino.

  8. Pulse Autorizar.

Creación de una autorización de servicio a servicio mediante la CLI

Debe definir una autorización de servicio a servicio (S2S) entre IBM Cloud Logs y IBM® Cloud Logs Routing para que el servicio IBM® Cloud Logs Routing pueda enviar registros a su inquilino.

Complete los pasossiguientes:

  1. Recuperar el token de portador IAM y exportarlo como variable de entorno. Ejecute el mandato siguiente:

    Debe obtener un token de acceso IBM Cloud® Identity and Access Management (IAM) para autenticar sus solicitudes al servicio IBM® Cloud Logs Routing. Para obtener más información, consulte Recuperación de una señal de acceso.

    Por ejemplo, puede recuperar su token de portador IAM y exportarlo como una variable de entorno ejecutando el siguiente comando CLI:

    export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`
    

    Compruebe que su ficha se ha exportado correctamente mostrándola en su terminal.

    echo $IAM_TOKEN
    

    La salida debe comenzar con Bearer seguido de una cadena que contenga letras, números y símbolos.

  2. Cree una política de autorización.

    ibmcloud iam authorization-policy-create logs-router logs Sender
    

Para obtener más información, consulte Creación de una autorización S2S para conceder acceso para enviar registros a IBM Cloud Logs.

Recuperación de su información IBM Cloud Logs

Para enrutar datos a una instancia IBM Cloud Logs, necesita información sobre el destino al que desea que se entreguen los registros. Necesita la siguiente información para su instancia IBM Cloud Logs:

  • La instancia CRN
  • El punto final y el puerto de ingestión (entrada)

Utilice este comando para recuperar la dirección IP ( URL ) y el ID:

ibmcloud resource service-instances --service-name logs --long --output JSON | jq '[.[] | {name: .name, id: .id, region: .region_id, ingestion_endpoint: .extensions.external_ingress}]'

Si tiene varias instancias, elija una que desee utilizar para recibir los registros de la plataforma y guarde la información para más tarde.

El punto final es similar a:

ingestion_endpoint: 3a622101-7521-4002-bf91-8c26e17eedcf.ingress.eu-de.logs.cloud.ibm.com

La identificación es similar a:

"crn:v1:bluemix:public:logs:eu-es:a/15ff25632a21af53a2aeed19a1542a44:3a622101-7521-4002-bf91-8c26e17eedcf::"

Para obtener toda la información sobre la instancia, puede ejecutar ibmcloud resource service-instances --service-name logs --long --output JSON Este comando enumera todas sus instancias IBM Cloud Logs. Necesita los siguientes campos: ID que contiene el CRN de la instancia, extensions.external_ingress que contiene el endpoint de entrada y extensions.virtual_private_endpoints.endpoints.ports.port_max que contiene el valor del puerto.

Crear un inquilino y un objetivo

Para recibir los registros de su plataforma, debe crear un tenant con el servicio IBM Cloud Logs Routing.

Debe crear su tenant en la región en la que desea recopilar y enrutar los registros de la plataforma a la instancia IBM Cloud Logs.

Creación de un inquilino y un objetivo mediante la API

Ejecute la siguiente solicitud cURL desde la línea de comandos:

La solicitud de creación crea el inquilino en la región y el destino.

curl -X POST https://<MANAGEMENT-API-ENDPOINT>:443/v1/tenants \
-H "Content-Type: application/json" \
-H "Authorization: ${IAM_TOKEN}" \
-H 'IBM-API-Version: DATE' \
--data '{
    "name": "TENANT_NAME",
    "targets": [
        {
            "log_sink_crn": "CLOUD_LOGS_INSTANCE_ID",
            "name": "TARGET_NAME",
            "parameters": {
                "host": "CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT",
                "port": PORT
            }
        }
    ]
}'

Donde

Descripciones de los parámetros
Parámetro Descripción
MANAGEMENT-API-ENDPOINT El punto final del servicio IBM® Cloud Logs Routing. Para obtener más información, consulte Puntos finales. Por ejemplo, https://management.eu-es.logs-router.cloud.ibm.com
IAM_TOKEN El Token IAM que obtuvo anteriormente. Si lo ha exportado en su entorno como se ha descrito anteriormente, se sustituye automáticamente.
DATE La fecha actual. Por ejemplo, 2024-03-01
TENANT_NAME Nombre del arrendatario. El nombre debe ser único para todos los inquilinos de esta cuenta y puede tener un máximo de 35 caracteres. El valor sólo puede contener estos caracteres: a-z,0-9,-./ Un ejemplo sería eu-es-tenant.
TARGET_NAME Nombre del destino. El nombre debe ser único para todos los objetivos de una región y puede tener un máximo de 35 caracteres. El valor sólo puede contener estos caracteres: a-z,0-9,-./ Puede elegir, por ejemplo, el nombre de su instancia IBM Cloud Logs. Un ejemplo sería platformlogs-eu-es.
CLOUD_LOGS_INSTANCE_ID El CRN de su instancia IBM Cloud Logs.
CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT El punto final de la instancia de IBM Cloud Logs.
PORT Establecer en 443

Revise su comando cuidadosamente, ya que contiene valores que fueron recogidos previamente. Asegúrese de hacer las sustituciones necesarias para que el comando funcione como se espera.

Si la solicitud de creación se ha realizado correctamente, se devuelve una respuesta que contiene los metadatos de su inquilino. Por ejemplo:

{
    "id": "3517d2ed-9429-af34-ad52-34278391cbc8:",
    "created_at": "2023-10-20T18:30:00.143156Z",
    "updated_at": "2023-10-20T18:30:00.143156Z",
    "crn": "crn:v1:bluemix:public:logs-router:eu-de:a/3516b8fa0a174a71899f5affa4f18d78:3517d2ed-9429-af34-ad52-34278391cbc8::",
    "name": "tenant",
    "etag": "\"822b4b5423e225206c1d75666595714a11925cd0f82b229839864443d6c3c049\"",
    "targets": [
    {
        "id": "86432b-66a6-df12-7003-888a21a2b3",
        "log_sink_crn": "crn:v1:bluemix:public:logs:eu-gb:a/91d1d1e42f9b684df920bbd06461c222:743e3b4f-72bc-4669-9fa6-0e6621d0b232::",
        "name": "my-log-sink",
        "etag": "\"c3a43545a7f2675970671ac3a57b8db067a1866b2222e1b950ee8da612e347c6\"",
        "type": "logs",
        "created_at": "2023-10-20T18:30:00.143156Z",
        "updated_at": "2023-10-20T18:30:00.143156Z",
        "parameters": {
            "host": "743e3b4f-72bc-4669-9fa6-0e6621d0b232.ingress.eu-gb.logs.cloud.ibm.com",
            "port": 443
        }
    }
    ]
}

Crear un inquilino mediante la interfaz de usuario

Complete los pasossiguientes:

  1. Inicia sesión en tu cuenta IBM Cloud.

  2. Haga clic en el ícono Menú Ícono de menú > Observabilidad.

  3. Haga clic en Registro > Enrutamiento.

  4. Haz clic en Fijar objetivo.

  5. Seleccione una instancia IBM Cloud Logs de la lista. Esta es la instancia en la que desea recibir los registros enrutados por IBM Cloud Logs Routing.

    Puede seleccionar una instancia de IBM Cloud Logs de la lista o especificar un CRN concreto.

    La instancia IBM Cloud Logs debe estar ubicada en la misma cuenta que está configurando.

  6. Pulse Guardar.

Verificación de que los registros se envían al objetivo de destino

Para asegurarse de que los registros de su plataforma fluyen correctamente a IBM Cloud Logs, realice los siguientes pasos:

  1. Inicie la IBM Cloud Logs interfaz web para la instancia IBM Cloud Logs configurada como objetivo para recopilar registros de plataforma en una región. Esta es la instancia que seleccionó en el paso en el que configuró un objetivo.

  2. Visualice los registros a través de vistas personalizadas. Para obtener más información, consulte Visualización de registros.

Todos los registros de la plataforma se generan en JSON. Puede filtrar los registros de plataforma en su instancia seleccionando el valor de ibm-platform-logs como applicationName.