Configurazione del servizio IBM Cloud Logs Routing per instradare i log della piattaforma verso un'istanza IBM Cloud Logs in una regione

Utilizzare il servizio IBM Cloud Logs Routing per instradare i registri della piattaforma dall'account IBM Cloud a una destinazione di destinazione dell'istanza IBM Cloud Logs. È necessario configurare un tenant nella regione e una destinazione di destinazione.

Un tenant è la configurazione specifica dell'account di IBM Cloud Logs Routing in esecuzione in una regione. La configurazione del tenant include un massimo di 1 definizione di destinazione. La destinazione definisce il percorso dei log.

È necessario creare un tenant nel proprio account in ogni regione in cui si desidera utilizzare IBM Cloud Logs Routing. Ogni regione è indipendente e le regioni non condividono i dati.

Obiettivi

In questa esercitazione si apprende quanto segue:

  • Configurare IBM Cloud Logs Routing per instradare i log della piattaforma a un'istanza di IBM Cloud Logs in una regione.

  • Verificare che i registri della piattaforma siano indirizzati all'istanza IBM Cloud Logs.

Prima di iniziare

Completa i seguenti passi:

  1. Rivedere About IBM® Cloud Logs Routing per comprendere i concetti.

  2. Installare tutti gli strumenti prerequisiti come descritto nella sezione Iniziare.

  3. Per ottenere dettagli su un tenant utilizzando l'API, verificare che sia possibile connettersi a IBM Cloud Logs Routing utilizzando l'API di gestione. Per ulteriori informazioni, vedi Connessione a IBM® Cloud Logs Routing.

  4. I registri della piattaforma indirizzati a IBM Cloud Logs includono campi di metadati che si possono usare per gestire i dati e configurare le funzioni nella propria istanza IBM Cloud Logs.

    Il nome dell'applicazione è l'ambiente che produce e invia i registri a IBM Cloud Logs. I log della piattaforma hanno il nome dell'applicazione impostato su ibm-platform-log.

    Il nome del sottosistema è il servizio o l'applicazione che produce e invia i log o le metriche a IBM Cloud Logs. I log della piattaforma hanno il nome del sottosistema impostato su CRNserviceName:instanceID. Per i log della piattaforma VPC, i campi sono impostati su is:resourceType.

  5. Impostare le autorizzazioni per la gestione degli obiettivi nell'account. Per ulteriori informazioni, vedi Concessione delle autorizzazioni IAM.

    Prima di poter impostare il servizio IBM Cloud Logs Routing per instradare i log della piattaforma, occorre un token di accesso IBM Cloud® Identity and Access Management (IAM) per l'autenticazione. Per ottenere queste informazioni si utilizza la CLI IBM Cloud.

    1. Esegui l'accesso al tuo account IBM Cloud. Includere l'opzione --sso se si utilizza un ID federato.

      ibmcloud login [--sso]
      

      L'output includerà il vostro nome utente, simile 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. Per concedere l'accesso all'uso di IBM Cloud Logs Routing al proprio utente, raccogliere il nome utente dall'output generato sopra. Nel nostro esempio, questo sarebbe Jane.Doe@ibm.com. Sostituite <username> con il vostro nome utente nel comando seguente:

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

      Invece di assegnare i ruoli direttamente alle identità, una strategia comune è quella di assegnare i ruoli ai gruppi di accesso e aggiungere le identità come membri a tali gruppi di accesso. Per ulteriori informazioni sui gruppi di accesso, vedere Impostazione dei gruppi di accesso.

Creazione di un'autorizzazione da servizio a servizio

È necessario usare IBM Cloud® Identity and Access Management (IAM) per creare un'autorizzazione che conceda IBM Cloud Logs Routing l'accesso a IBM Cloud Logs.

Creazione di un'autorizzazione da servizio a servizio attraverso l'interfaccia utente

Completa i seguenti passi:

  1. Accedere al proprio account IBM Cloud.

  2. Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Autorizzazioni.

  3. Fai clic su Crea.

  4. Configurare l'account di origine. Selezionate Questo conto.

  5. Selezionare Logs Routing come servizio di origine. Quindi, impostare l'ambito dell'accesso su Tutte le risorse.

  6. Selezionare Cloud Logs come servizio di destinazione. Quindi, impostare l'ambito dell'accesso su Tutte le risorse, che garantisce l'accesso a tutte le istanze IBM Cloud Logs, o a una singola istanza configurando Risorse basate sugli attributi selezionati > Istanza di servizio.

    Altri attributi non sono supportati per questo tipo di autorizzazione.

  7. Nella sezione Accesso al servizio, selezionare Mittente per assegnare l'accesso al servizio di origine che accede al servizio di destinazione.

  8. Fai clic su Autorizza.

Creazione di un'autorizzazione da servizio a servizio tramite la CLI

È necessario definire un'autorizzazione da servizio a servizio (S2S) tra IBM Cloud Logs e IBM® Cloud Logs Routing in modo che il servizio IBM® Cloud Logs Routing possa inviare i log al proprio tenant.

Completa i seguenti passi:

  1. Recuperare il token del portatore IAM ed esportarlo come variabile d'ambiente. Esegui il seguente comando:

    È necessario ottenere un token di accesso IBM Cloud® Identity and Access Management (IAM) per autenticare le richieste al servizio IBM® Cloud Logs Routing. Per ulteriori informazioni, vedere Recupero di un token di accesso.

    Ad esempio, è possibile recuperare il token del portatore IAM ed esportarlo come variabile d'ambiente eseguendo il seguente comando CLI:

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

    Verificate che il token sia stato esportato correttamente visualizzandolo nel vostro terminale.

    echo $IAM_TOKEN
    

    L'output deve iniziare con Bearer seguito da una stringa contenente lettere, numeri e simboli.

  2. Creare un criterio di autorizzazione.

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

Per ulteriori informazioni, vedere Creazione di un'autorizzazione S2S per concedere l'accesso all'invio dei registri a IBM Cloud Logs.

Recuperare le informazioni di IBM Cloud Logs

Per instradare i dati a un'istanza IBM Cloud Logs, sono necessarie informazioni sulla destinazione in cui si desidera che vengano consegnati i log. Per l'istanza di IBM Cloud Logs sono necessarie le seguenti informazioni:

  • L'istanza CRN
  • L'endpoint e la porta di ingestione (ingress)

Utilizzare questo comando per recuperare l' URL e e l'ID:

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

Se si dispone di più istanze, scegliere quella che si desidera utilizzare per ricevere i registri della piattaforma e salvare le informazioni per un secondo momento.

Il punto finale è simile a:

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

L'ID è simile a:

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

Per ottenere tutte le informazioni sull'istanza, è possibile eseguire ibmcloud resource service-instances --service-name logs --long --output JSON Questo comando elenca tutte le istanze IBM Cloud Logs. Sono necessari i seguenti campi: ID che contiene il CRN dell'istanza, extensions.external_ingress che contiene l'endpoint di ingresso e extensions.virtual_private_endpoints.endpoints.ports.port_max che contiene il valore della porta.

Creazione di un inquilino e di un obiettivo

Per ricevere i registri della piattaforma, è necessario creare un tenant con il servizio IBM Cloud Logs Routing.

È necessario creare il tenant nella regione in cui si desidera raccogliere e instradare i log della piattaforma all'istanza IBM Cloud Logs.

Creare un tenant e un target utilizzando l'API

Eseguire la seguente richiesta cURL dalla riga di comando:

La richiesta create crea il tenant nella regione e nella destinazione.

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
            }
        }
    ]
}'

Dove

Descrizioni dei parametri
Parametro Descrizione
MANAGEMENT-API-ENDPOINT L'endpoint del servizio IBM® Cloud Logs Routing. Per ulteriori informazioni, vedere Endpoint. Ad esempio, https://management.eu-es.logs-router.cloud.ibm.com
IAM_TOKEN Il token IAM ottenuto in precedenza. Se è stato esportato nel proprio ambiente come descritto sopra, viene sostituito automaticamente.
DATE La data attuale. Ad esempio, 2024-03-01
TENANT_NAME Nome dell'inquilino. Il nome deve essere unico per tutti i locatari di questo account e può avere una lunghezza massima di 35 caratteri. Il valore può contenere solo questi caratteri: a-z,0-9,-./ Un esempio potrebbe essere eu-es-tenant.
TARGET_NAME Nome della destinazione di destinazione. Il nome deve essere unico per tutti i target di una regione e può avere una lunghezza massima di 35 caratteri. Il valore può contenere solo questi caratteri: a-z,0-9,-./ Si può ad esempio scegliere il nome dell'istanza IBM Cloud Logs. Un esempio potrebbe essere platformlogs-eu-es.
CLOUD_LOGS_INSTANCE_ID Il CRN dell'istanza IBM Cloud Logs.
CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT L'endpoint dell'istanza di IBM Cloud Logs.
PORT Impostare su 443

Esaminare attentamente il comando, poiché contiene valori raccolti in precedenza. Assicuratevi di effettuare le sostituzioni necessarie affinché il comando funzioni come previsto.

Se la richiesta di creazione è andata a buon fine, viene restituita una risposta contenente i metadati dell'inquilino. Ad esempio,

{
    "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
        }
    }
    ]
}

Creare un inquilino utilizzando l'interfaccia utente

Completa i seguenti passi:

  1. Accedere al proprio account IBM Cloud.

  2. Fare clic sull'icona Menu Icona del menu > Osservabilità.

  3. Fare clic su Logging > Routing.

  4. Fare clic su Imposta obiettivo.

  5. Selezionare un'istanza di IBM Cloud Logs dall'elenco. Questa è l'istanza in cui si desidera ricevere i log instradati da IBM Cloud Logs Routing.

    È possibile selezionare un'istanza di IBM Cloud Logs dall'elenco o specificare un CRN specifico.

    L'istanza IBM Cloud Logs deve trovarsi nello stesso account che si sta configurando.

  6. Fare clic su Salva.

Verifica dell'invio dei log alla destinazione di destinazione

Per assicurarsi che i registri della piattaforma fluiscano correttamente verso IBM Cloud Logs, eseguire le seguenti operazioni:

  1. Avviare l'interfaccia web IBM Cloud Logs per l'istanza IBM Cloud Logs configurata come target per la raccolta dei log della piattaforma in una regione. Si tratta dell'istanza selezionata nel passaggio in cui si è impostato un target.

  2. Visualizzare i registri attraverso viste personalizzate. Per ulteriori informazioni, vedi Visualizzazione dei log.

Tutti i log della piattaforma sono generati in JSON. È possibile filtrare i registri della piattaforma nella propria istanza selezionando il valore di ibm-platform-logs come applicationName.