Utilizzo di una pipeline di OpenSearch ingestione con Atlassian Services - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di una pipeline di OpenSearch ingestione con Atlassian Services

Puoi utilizzare i plugin di origine di Atlassian Jira e Confluence per importare dati dai servizi Atlassian nella tua pipeline di Ingestion. OpenSearch Queste integrazioni consentono di creare una knowledge base unificata e ricercabile sincronizzando progetti Jira completi e spazi Confluence, mantenendo al contempo la pertinenza in tempo reale attraverso il monitoraggio continuo e la sincronizzazione automatica degli aggiornamenti.

Integrating with Jira

Trasforma la tua esperienza con Jira con potenti funzionalità di ricerca contestuale integrando i tuoi contenuti Jira in. OpenSearch Il plug-in sorgente Data Prepper Atlassian Jira ti consente di creare una knowledge base unificata e ricercabile sincronizzando progetti Jira completi, mantenendo al contempo la pertinenza in tempo reale attraverso il monitoraggio continuo e la sincronizzazione automatica degli aggiornamenti. Questa integrazione consente la sincronizzazione dei dati con opzioni di filtro flessibili per progetti, tipi di problemi e stato specifici, garantendo che vengano importate solo le informazioni necessarie.

Per garantire una connettività sicura e affidabile, il plug-in supporta diversi metodi di autenticazione, tra cui l'autenticazione e OAuth2 l'autenticazione con chiave API di base, con la maggiore sicurezza della gestione delle credenziali utilizzando un segreto archiviato in. AWS Secrets Manager Dispone inoltre del rinnovo automatico dei token per un accesso ininterrotto, garantendo un funzionamento continuo. Basata sulla versione 2 dell'API di Atlassian, questa integrazione consente ai team di ottenere informazioni preziose dai dati Jira attraverso le funzionalità di ricerca avanzate di Jira. OpenSearch

Integrating with Confluence

Migliora le capacità di collaborazione e gestione delle conoscenze del tuo team integrando i contenuti di Atlassian Confluence nel plug-in sorgente Confluence di Data Prepper. OpenSearch Questa integrazione consente di creare un archivio centralizzato e ricercabile di conoscenze collettive, migliorando la scoperta delle informazioni e la produttività del team. Sincronizzando i contenuti di Confluence e monitorando continuamente gli aggiornamenti, il plugin assicura che l'indice rimanga e completo. OpenSearch up-to-date

L'integrazione offre opzioni di filtro flessibili, che consentono di importare selettivamente i contenuti da spazi o tipi di pagina specifici, adattando i contenuti sincronizzati alle esigenze dell'organizzazione. Il plugin supporta sia la chiave API di base che i metodi di OAuth2 autenticazione, con la possibilità di gestire in modo sicuro le credenziali tramite. AWS Secrets Manager La funzione di rinnovo automatico dei token del plug-in garantisce un accesso ininterrotto e un funzionamento senza interruzioni. Basata sull'API Confluence di Atlassian, questa integrazione consente ai team di sfruttare OpenSearch le funzionalità di ricerca avanzate di tutti i contenuti Confluence, migliorando l'accessibilità e l'utilizzo delle informazioni all'interno dell'organizzazione.

Prerequisiti

Prima di creare la pipeline di Ingestion, completa i seguenti passaggi: OpenSearch

  1. Prepara le credenziali per il tuo sito Jira scegliendo una delle seguenti opzioni. OpenSearch L'ingestione richiede solo l'ReadOnlyautorizzazione al contenuto.

    1. Opzione 1: chiave API: accedi al tuo account Atlassian e utilizza le informazioni nel seguente argomento per generare la tua chiave API:

    2. Opzione 2: OAuth2 — Accedi al tuo account Atlassian e usa le informazioni in esso contenute. Connessione di una pipeline Amazon OpenSearch Ingestion ad Atlassian Jira o Confluence tramite 2.0 OAuth

  2. Crea un account segreto AWS Secrets Manager per archiviare le credenziali create nel passaggio precedente. Effettua le seguenti scelte mentre segui la procedura:

    • Per Secret type (Tipo di segreto), scegli Other type of secret (Altro tipo di segreto).

    • Per le coppie chiave/valore, create le seguenti coppie, a seconda del tipo di autorizzazione selezionato:

    API key
    { "username": user-name-usualy-email-id, "password": api-key }
    OAuth 2.0
    { "clientId": client-id "clientSecret": client-secret "accessKey": access-key "refreshKey": refresh-key }

    Dopo aver creato il segreto, copia l'Amazon Resource Name (ARN) del segreto. Lo includerai nella politica di autorizzazione dei ruoli della pipeline.

Configura un ruolo della pipeline

Il ruolo passato nella pipeline deve avere la seguente politica di lettura e scrittura allegata al segreto creato nella sezione dei prerequisiti.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretReadWrite", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:PutSecretValue", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name-random-6-characters" } ] }

Il ruolo dovrebbe inoltre avere una politica allegata per l'accesso e la scrittura nel sink prescelto. Ad esempio, se scegli OpenSearch come sink, la policy è simile alla seguente:

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OpenSearchWritePolicy", "Effect": "Allow", "Action": "aoss:*", "Resource": "arn:aws:aoss:us-east-1:111122223333:collection/collection-id" } ] }

Configurazione della pipeline del connettore Jira

Puoi utilizzare un blueprint Atlassian Jira preconfigurato per creare questa pipeline. Per ulteriori informazioni, consulta Lavorare con i progetti.

Sostituire placeholder values con le proprie informazioni.

version: "2" extension: aws: secrets: jira-account-credentials: secret_id: "secret-arn" region: "secret-region" sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role" atlassian-jira-pipeline: source: jira: # We only support one host url for now hosts: ["jira-host-url"] acknowledgments: true authentication: # Provide one of the authentication method to use. Supported methods are 'basic' and 'oauth2'. # For basic authentication, password is the API key that you generate using your jira account basic: username: ${{aws_secrets:jira-account-credentials:username}} password: ${{aws_secrets:jira-account-credentials:password}} # For OAuth2 based authentication, we require the following 4 key values stored in the secret # Follow atlassian instructions at the below link to generate these keys. # https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/ # If you are using OAuth2 authentication, we also require, write permission to your AWS secret to # be able to write the renewed tokens back into the secret. # oauth2: # client_id: ${{aws_secrets:jira-account-credentials:clientId}} # client_secret: ${{aws_secrets:jira-account-credentials:clientSecret}} # access_token: ${{aws_secrets:jira-account-credentials:accessToken}} # refresh_token: ${{aws_secrets:jira-account-credentials:refreshToken}} filter: project: key: include: # This is not project name. # It is an alphanumeric project key that you can find under project details in Jira. - "project-key" - "project-key" # exclude: # - "project-key" # - "project-key" issue_type: include: - "issue-type" # - "Story" # - "Bug" # - "Task" # exclude: # - "Epic" status: include: - "ticket-status" # - "To Do" # - "In Progress" # - "Done" # exclude: # - "Backlog" sink: - opensearch: # Provide an Amazon OpenSearch Service domain endpoint hosts: [ "https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com" ] index: "index_${getMetadata(\"project\")}" # Ensure adding unique document id which is the unique ticket id in this case document_id: '${/id}' aws: # Provide a Role ARN with access to the domain. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role" # Provide the region of the domain. region: "us-east-1" # Enable the 'serverless' flag if the sink is an Amazon OpenSearch Serverless collection serverless: false # serverless_options: # Specify a name here to create or update network policy for the serverless collection # network_policy_name: "network-policy-name" # Enable the 'distribution_version' setting if the Amazon OpenSearch Service domain is of version Elasticsearch 6.x # distribution_version: "es6" # Enable and switch the 'enable_request_compression' flag if the default compression setting is changed in the domain. # See Compressione delle richieste HTTP in Amazon OpenSearch Service # enable_request_compression: true/false # Optional: Enable the S3 DLQ to capture any failed requests in an S3 bucket. Delete this entire block if you don't want a DLQ. dlq: s3: # Provide an S3 bucket bucket: "your-dlq-bucket-name" # Provide a key path prefix for the failed requests # key_path_prefix: "kinesis-pipeline/logs/dlq" # Provide the region of the bucket. region: "us-east-1" # Provide a Role ARN with access to the bucket. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role"

Chiave degli attributi nel codice sorgente di Jira:

  1. hosts: il tuo URL Jira cloud o locale. In genere, sembra. https://your-domain-name.atlassian.net/

  2. riconoscimenti: per garantire la consegna dei dati fino al lavandino.

  3. autenticazione: descrive come desideri che la pipeline acceda alla tua istanza Jira. Scegli Basic o specifica OAuth2 gli attributi chiave corrispondenti che fanno riferimento alle chiavi del tuo segreto. AWS

  4. filtro: questa sezione ti aiuta a selezionare quale parte dei tuoi dati Jira estrarre e sincronizzare.

    1. progetto: Elenca le chiavi del progetto che desideri sincronizzare nella include sezione. Altrimenti, elenca i progetti che desideri escludere nella exclude sezione. Fornisci solo una delle opzioni di inclusione o esclusione alla volta.

    2. issue_type: tipi di problemi specifici che desideri sincronizzare. Segui lo exclude schema simile include o più adatto alle tue esigenze. Tieni presente che gli allegati verranno visualizzati come collegamenti di ancoraggio all'allegato originale, ma il contenuto dell'allegato non verrà estratto.

    3. status: filtro di stato specifico che desideri applicare per la query di estrazione dei dati. Se lo specifichiinclude, verranno sincronizzati solo i ticket con questi stati. Se lo specifichiexclude, verranno sincronizzati tutti i ticket tranne quelli con gli stati esclusi elencati.

Configurazione della pipeline del connettore Confluence

Puoi utilizzare un blueprint Atlassian Confluence preconfigurato per creare questa pipeline. Per ulteriori informazioni, consulta Lavorare con i progetti.

version: "2" extension: aws: secrets: confluence-account-credentials: secret_id: "secret-arn" region: "secret-region" sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role" atlassian-confluence-pipeline: source: confluence: # We currently support only one host URL. hosts: ["confluence-host-url"] acknowledgments: true authentication: # Provide one of the authentication method to use. Supported methods are 'basic' and 'oauth2'. # For basic authentication, password is the API key that you generate using your Confluence account basic: username: ${{aws_secrets:confluence-account-credentials:confluenceId}} password: ${{aws_secrets:confluence-account-credentials:confluenceCredential}} # For OAuth2 based authentication, we require the following 4 key values stored in the secret # Follow atlassian instructions at the following link to generate these keys: # https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/ # If you are using OAuth2 authentication, we also require write permission to your AWS secret to # be able to write the renewed tokens back into the secret. # oauth2: # client_id: ${{aws_secrets:confluence-account-credentials:clientId}} # client_secret: ${{aws_secrets:confluence-account-credentials:clientSecret}} # access_token: ${{aws_secrets:confluence-account-credentials:accessToken}} # refresh_token: ${{aws_secrets:confluence-account-credentials:refreshToken}} filter: space: key: include: # This is not space name. # It is a space key that you can find under space details in Confluence. - "space key" - "space key" # exclude: # - "space key" # - "space key" page_type: include: - "content type" # - "page" # - "blogpost" # - "comment" # exclude: # - "attachment" sink: - opensearch: # Provide an Amazon OpenSearch Service domain endpoint hosts: [ "https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com" ] index: "index_${getMetadata(\"space\")}" # Ensure adding unique document id which is the unique ticket ID in this case. document_id: '${/id}' aws: # Provide the Amazon Resource Name (ARN) for a role with access to the domain. This role should have a trust relationship with osis-pipelines.amazonaws.com. sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role" # Provide the Region of the domain. region: "us-east-1" # Enable the 'serverless' flag if the sink is an Amazon OpenSearch Serverless collection serverless: false # serverless_options: # Specify a name here to create or update network policy for the serverless collection. # network_policy_name: "network-policy-name" # Enable the 'distribution_version' setting if the Amazon OpenSearch Service domain is of version Elasticsearch 6.x # distribution_version: "es6" # Enable and switch the 'enable_request_compression' flag if the default compression setting is changed in the domain. # For more information, see Compressione delle richieste HTTP in Amazon OpenSearch Service. # enable_request_compression: true/false # Optional: Enable the S3 DLQ to capture any failed requests in an S3 bucket. Delete this entire block if you don't want a DLQ. dlq: s3: # Provide an S3 bucket bucket: "your-dlq-bucket-name" # Provide a key path prefix for the failed requests # key_path_prefix: "kinesis-pipeline/logs/dlq" # Provide the Rregion of the bucket. region: "us-east-1" # Provide the Amazon Resource Name (ARN) for a role with access to the bucket. This role should have a trust relationship with osis-pipelines.amazonaws.com sts_role_arn: "arn:aws:iam::123456789012:role/Example-Role"

Attributi chiave nel sorgente Confluence:

  1. host: il tuo URL nel cloud o locale di Confluence. In genere, sembra https://your-domain-name.atlassian.net/

  2. riconoscimenti: per garantire la consegna dei dati fino al lavandino.

  3. autenticazione: descrive come desideri che la pipeline acceda alla tua istanza Confluence. Scegli Basic o OAuth2 e specifica gli attributi chiave corrispondenti che fanno riferimento alle chiavi del tuo segreto. AWS

  4. filtro: questa sezione ti aiuta a selezionare quale parte dei dati di Confluence estrarre e sincronizzare.

    1. spazio: elenca i tasti spaziatori che desideri sincronizzare nella sezione. include Altrimenti, elenca gli spazi che desideri escludere nella exclude sezione. Fornisci solo una delle opzioni di inclusione o esclusione alla volta.

    2. page_type: tipi di pagina specifici (come pagina, post del blog o allegati) che desideri sincronizzare. Segui lo exclude schema simile include o più adatto alle tue esigenze. Tieni presente che gli allegati verranno visualizzati come collegamenti di ancoraggio all'allegato originale, ma il contenuto dell'allegato non verrà estratto.

Coerenza dei dati

In base ai filtri specificati nella pipeline YAML, i progetti (o gli spazi) selezionati verranno estratti una volta e completamente sincronizzati con il sink di destinazione. Quindi il monitoraggio continuo delle modifiche acquisirà le modifiche man mano che si verificano e aggiornerà i dati nel sink. Un'eccezione è che il monitoraggio delle modifiche sincronizza solo update le azioni create e non le delete azioni.

Limitazioni

  • Le azioni di eliminazione degli utenti non verranno sincronizzate. I dati una volta registrati nel lavandino rimarranno nel lavandino. Gli aggiornamenti sovrascriveranno il contenuto esistente con nuove modifiche se la mappatura degli ID è specificata nelle impostazioni del sink.

  • Le istanze locali che utilizzano versioni precedenti del software Atlassian che non supportano quanto segue non APIs sono compatibili con questa fonte:

    • API Jira Search versione 3

      • rest/api/3/search

      • rest/api/3/issue

    • Confluence

      • wiki/rest/api/content/search

      • wiki/rest/api/content

      • wiki/rest/api/settings/systemInfo

Metriche inserite CloudWatch per i connettori Atlassian

Tipo: metriche dei connettori Jira

Origine Parametro Tipo di metrica
acknowledgementSetSuccesses.count Contatore Se i riconoscimenti sono abilitati, questa metrica fornisce il numero di ticket sincronizzati correttamente.
acknowledgementSetFailures.contare Contatore Se i riconoscimenti sono abilitati, questa metrica fornisce il numero di ticket che non sono stati sincronizzati.
CrawlingTime.avg Timer Il tempo impiegato per visualizzare tutte le nuove modifiche.
ticketFetchLatency.avg Timer La media di latenza dell'API Ticket Fetch.
ticketFetchLatency.max Timer La latenza massima dell'API di recupero dei biglietti.
Tickets richiesti.count Contatore Numero di richieste di recupero dei biglietti effettuate.
ticketRequestedFailed.contare Contatore Numero di richieste di recupero dei ticket non riuscite.
ticketRequestedSuccess.count Contatore Numero di richieste di recupero dei ticket riuscite.
searchCallLatency.avg Timer Latenza media di latenza delle chiamate dell'API di ricerca.
searchCallLatency.max Timer Latenza massima delle chiamate dell'API di ricerca.
searchResultsFound.count Contatore Numero di elementi trovati in una determinata chiamata di ricerca.
searchRequestFailed.count Contatore Contano gli errori delle chiamate all'API di ricerca.
Authfailures.count Contatore Numero di errori di autenticazione.

Tipo: metriche del connettore Confluence

Origine Parametro Tipo di metrica
acknowledgementSetSuccesses.count Contatore Se i riconoscimenti sono abilitati, questa metrica fornisce il numero di pagine sincronizzate correttamente.
acknowledgementSetFailures.contare Contatore Se i riconoscimenti sono abilitati, questa metrica fornisce il numero di pagine che non sono state sincronizzate.
CrawlingTime.avg Timer Il tempo impiegato per visualizzare tutte le nuove modifiche.
pageFetchLatency.avg Timer Latenza dell'API di recupero dei contenuti (media).
pageFetchLatency.max Timer Latenza dell'API di recupero dei contenuti (massima).
Pagine richieste.Count Contatore Numero di invocazioni dell'API di recupero dei contenuti.
pageRequestFailed.count Contatore Numero di richieste non riuscite dell'API di recupero dei contenuti.
pageRequestedSuccess.count Contatore Numero di richieste riuscite di API per il recupero dei contenuti.
searchCallLatency.avg Timer Latenza media di latenza delle chiamate dell'API di ricerca.
searchCallLatency.max Timer Latenza massima delle chiamate API di ricerca
searchResultsFound.count Contatore Numero di elementi trovati in una determinata chiamata di ricerca.
searchRequestsFailed.count Contatore Contano gli errori delle chiamate all'API di ricerca.
Authfailures.count Contatore Numero di errori di autenticazione.