As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criação de pipelines de Ingestão do Amazon OpenSearch
O pipeline é o mecanismo que a Ingestão do Amazon OpenSearch usa para mover dados da fonte (de onde vêm os dados) para o coletor (para onde vão os dados). Na Ingestão do OpenSearch, o coletor sempre será um único domínio do Amazon OpenSearch Service, enquanto a fonte dos dados pode ser clientes como Amazon S3, Fluent Bit ou OpenTelemetry Collector.
Para obter mais informações, consulte Pipelines
Pré-requisitos e perfil do IAM necessário
Para criar um pipeline de Ingestão do OpenSearch, você deve ter os seguintes recursos:
-
Um perfil do IAM que o OpenSearch Ingestion assumirá para gravar no coletor. Você incluirá esse ARN do perfil na sua configuração do pipeline.
-
Um domínio do OpenSearch Service ou uma Coleção da tecnologia sem servidor do OpenSearch para atuar como coletor. Se você estiver escrevendo para um domínio, ele deve estar executando o OpenSearch 1.0 ou posterior ou o Elasticsearch 7.4 ou posterior. O coletor deve ter uma política de acesso que conceda as permissões apropriadas à sua perfil de pipeline do IAM.
Para obter instruções sobre como criar esses recursos, consulte os tópicos a seguir:
nota
Se você estiver escrevendo para um domínio que usa controle de acesso detalhado, há etapas extras que você precisa concluir. Consulte Etapa 3: mapear a função do pipeline (somente para domínios que usam controle de acesso refinado).
Permissões obrigatórias do IAM
A Ingestão do OpenSearch usa as seguintes permissões do IAM para criar pipelines:
-
osis:CreatePipeline
– crie um pipeline. -
osis:ValidatePipeline
– verifica se a configuração do pipeline é válida. -
iam:PassRole
– passa o perfil de pipeline para a Ingestão do OpenSearch para que ele possa gravar dados no domínio. Essa permissão deve estar no recurso de perfil de pipeline (o ARN que você especifica para a opçãosts_role_arn
na configuração do pipeline) ou simplesmente*
, se você planeja usar funções diferentes em cada pipeline.
Por exemplo, a política a seguir concede permissão para criar um pipeline:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Resource":"*", "Action":[ "osis:CreatePipeline", "osis:ListPipelineBlueprints", "osis:ValidatePipeline" ] }, { "Resource":[ "arn:aws:iam::
your-account-id
:role/pipeline-role
" ], "Effect":"Allow", "Action":[ "iam:PassRole" ] } ] }
A Ingestão do OpenSearch também inclui uma permissão chamada osis:Ingest
, que é necessária para enviar solicitações assinadas ao pipeline usando o Signature Version 4. Para ter mais informações, consulte Criação de uma função de ingestão.
nota
Além disso, o primeiro usuário a criar um pipeline em uma conta precisa ter permissões para a ação iam:CreateServiceLinkedRole
. Para obter mais informações, consulte Recurso de perfil de pipeline.
Para mais informações sobre cada permissão, consulte Ações, recursos e chaves de condição para a Ingestão do OpenSearch na Referência de autorização do serviço.
Como especificar a versão do pipeline
Ao configurar um pipeline, você deve especificar a versão principal do Data Prepperversion
na configuração do pipeline:
version: "2"
log-pipeline: source: ...
Quando você escolhe Criar, a Ingestão do OpenSearch determina a última versão secundária disponível da versão principal especificada e provisiona o pipeline com essa versão. Por exemplo, se você especificar version:
"2"
e a versão mais recente compatível do Data Prepper for 2.1.1, a Ingestão do OpenSearch provisionará seu pipeline com a versão 2.1.1. Não exibimos publicamente a versão secundária que seu pipeline está executando.
Para atualizar seu pipeline quando uma nova versão principal do Data Prepper estiver disponível, edite a configuração do pipeline e especifique a nova versão. Você não pode fazer o downgrade de um pipeline para uma versão anterior.
nota
A Ingestão do OpenSearch não oferece suporte imediato às novas versões do Data Prepper na ocasião do lançamento. Haverá algum atraso entre o momento em que uma nova versão estará disponível publicamente e quando ela será compatível com a Ingestão do OpenSearch. Além disso, a Ingestão do OpenSearch pode explicitamente não oferecer suporte total a determinadas versões principais ou secundárias. Para obter uma lista abrangente, consulte Versões do Data Prepper compatíveis.
Sempre que você fizer uma alteração em seu pipeline que inicie uma implantação azul/verde, a Ingestão do OpenSearch pode atualizá-lo para a versão secundária mais recente da versão principal que está atualmente configurada no arquivo YAML do pipeline. Para ter mais informações, consulte Implantações azul/verde para atualizações de pipeline. A Ingestão do OpenSearch não pode alterar a versão principal do seu pipeline, a menos que você atualize explicitamente a opção version
na configuração do pipeline.
Como especificar o caminho de ingestão
Para fontes baseadas em pull, como o rastreamento OTel path
em sua configuração de origem. O caminho é uma string como /log/ingest
, que representa o caminho do URI para ingestão. Esse caminho define o URI que você usa para enviar dados para o pipeline.
Por exemplo, digamos que você especifique o seguinte subpipeline de entrada para um pipeline de ingestão chamado: logs
entry-pipeline: source: http: path: "/
my
/test_path
"
Ao ingerir dados no pipeline, você deve especificar o seguinte endpoint na configuração do seu cliente:. https://logs-
abcdefgh
.us-west-2.osis.amazonaws.com/my
/test_path
O caminho deve começar com uma barra (/) e pode conter os caracteres especiais '-', '_', ' . 'e'/', bem como o placeholder ${pipelineName}
. Se você usar ${pipelineName}
(como path:
"/${pipelineName}/test_path"
), a variável será substituída pelo nome do subpipeline associado. Neste exemplo, seria https://logs.us-west-2.osis.amazonaws.com/
.entry-pipeline
/test_path
Como criar pipelines
Esta seção descreve como criar pipelines de Ingestão do OpenSearch usando o console do OpenSearch Service e o AWS CLI.
Para criar um pipeline
-
Faça login no console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home
. -
Escolha Pipelines no painel de navegação à esquerda e, depois, Criar pipeline.
-
Selecione um pipeline em branco ou escolha um esquema de configuração. Os esquemas incluem um arquivo de configuração YAML e JSON pré-configurado para uma variedade de casos de uso comuns. Para ter mais informações, consulte Usar esquemas para criar um pipeline.
Escolha Selecionar esquema.
-
Insira um nome para o pipeline.
-
(Opcional) Escolha Habilitar buffer persistente. Um buffer persistente armazena seus dados em um buffer baseado em disco entre várias AZs. Para obter informações, consulte Armazenamento em buffer persistente. Se você habilitar o armazenamento em buffer persistente, selecione a chave do AWS Key Management Service para criptografar os dados do buffer.
-
Configure a capacidade mínima e máxima do pipeline em unidades de computação da Ingestão do OpenSearch (OCUs). Para ter mais informações, consulte Pipelines de escalabilidade.
-
Em Configuração do pipeline, forneça a configuração do pipeline no formato YAML. Se você estiver usando um esquema, a configuração já está pré-preenchida, mas você deve fazer algumas modificações.
Um único arquivo de configuração do pipeline pode conter de 1 a 10 subpipelines. Cada subpipeline é uma combinação de uma única fonte, zero ou mais processadores e um único coletor. Para a Ingestão do OpenSearch, o coletor deve sempre ser um domínio do OpenSearch Service. Para ver uma lista das opções compatíveis, consulte Plugins e opções compatíveis para pipelines OpenSearch de ingestão da Amazon.
nota
Você deve incluir a opção
sts_role_arn
em cada subpipeline. O pipeline assume a função definida emsts_role_arn
para assinar solicitações no domínio. Para ter mais informações, consulte Conceder aos pipelines da Ingestão do Amazon OpenSearch o acesso aos domínios.O arquivo de exemplo de configuração a seguir usa a fonte HTTP e os plug-ins Grok para processar dados de log não estruturados e enviá-los para um domínio do OpenSearch Service. O subpipeline é nomeado
log-pipeline
.version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - grok: match: log: [ '%{
COMMONAPACHELOG
}' ] - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://search-my-domain
.us-east-1.es.amazonaws.com" ] index: "apache_logs" aws: sts_role_arn: "arn:aws:iam::123456789012
:role/{pipeline-role}
" region: "us-east-1
"Você pode criar sua própria configuração do pipeline ou escolher Carregar arquivo e importar uma configuração existente para um pipeline autogerenciado do Data Prepper. Como alternativa, você pode usar um esquema de configuração.
-
Depois de configurar seu pipeline, escolha Validar pipeline para confirmar se sua configuração está correta. Se a validação falhar, corrija os erros e execute a validação novamente.
-
Na seção Network configuration (Configuração de rede), selecione VPC access (Acesso via VPC) ou Public access (Acesso público). Se você selecionar Acesso público, vá para a próxima etapa. Se você escolher Acesso à VPC, defina as seguintes configurações:
Configuração Descrição Gerenciamento de endpoints Escolha se você mesmo quer criar seus endpoints da VPC ou deixar que o OpenSearch Ingestion os crie para você. O gerenciamento de endpoints é padronizado para endpoints gerenciados pelo OpenSearch Ingestion.
VPC Escolha o ID da nuvem privada virtual (VPC) que deseja usar. A VPC e o pipeline devem estar na mesma Região da AWS.
Subredes Escolha uma ou mais sub-redes. O OpenSearch Service colocará um endpoint da VPC e interfaces de rede elásticas nas sub-redes.
Grupos de segurança Escolha um ou mais grupos de segurança da VPC que permitem que o aplicativo necessário acesse o pipeline de Ingestão do OpenSearch nas portas (80 ou 443) e nos protocolos (HTTP ou HTTPs) expostos pelo pipeline.
Opções de anexo de VPC Se sua origem for um endpoint autogerenciado, conecte seu pipeline a uma VPC. Escolha uma das opções de CIDR padrão fornecidas ou use um CIDR personalizado.
Para ter mais informações, consulte Como configurar o acesso da VPC aos pipelines do Amazon OpenSearch Ingestion.
-
(Opcional) Em Tags, adicione uma ou mais tags (pares de chave/valor) ao seu pipeline. Para ter mais informações, consulte Uso de tags nos pipelines de Ingestão do Amazon OpenSearch.
-
(Opcional) Em Opções de publicação de logs, ative a publicação de logs do pipeline no Amazon CloudWatch Logs. Recomendamos que você habilite a publicação de logs para poder solucionar problemas de pipeline com mais facilidade. Para ter mais informações, consulte Monitoramento dos logs de pipeline.
-
Escolha Próximo.
-
Revise sua configuração do pipeline e escolha Criar.
A Ingestão do OpenSearch executa um processo assíncrono para criar o pipeline. Quando o status do pipeline for Active
, você pode começar a ingerir dados.
O comando create-pipeline aceita a configuração do pipeline como uma string ou em um arquivo .yaml. Se você fornecer a configuração como uma string, cada nova linha deverá ser escapada com \n
. Por exemplo, "log-pipeline:\n source:\n http:\n
processor:\n - grok:\n ...
O exemplo de comando a seguir cria um pipeline com a seguinte configuração:
-
Mínimo de 4 OCUs de ingestão, máximo de 10 OCUs de ingestão
-
Provisionado em uma nuvem privada virtual (VPC)
-
Publicação de logs habilitada
aws osis create-pipeline \ --pipeline-name
my-pipeline
\ --min-units 4 \ --max-units 10 \ --log-publishing-options IsLoggingEnabled=true,CloudWatchLogDestination={LogGroup="MyLogGroup
"} \ --vpc-options SecurityGroupIds={sg-12345678
,sg-9012345
},SubnetIds=subnet-1212234567834asdf
\ --pipeline-configuration-body "file://pipeline-config.yaml
"
A Ingestão do OpenSearch executa um processo assíncrono para criar o pipeline. Quando o status do pipeline for Active
, você pode começar a ingerir dados. Para verificar o status do pipeline, use o comando GetPipeline.
Para criar um pipeline de Ingestão do OpenSearch usando a API de Ingestão do OpenSearch, chame a operação CreatePipeline (Criar pipeline).
Depois que seu pipeline for criado com sucesso, você poderá configurar seu cliente e começar a ingerir dados no seu domínio do OpenSearch Service. Para ter mais informações, consulte Integração dos pipelines OpenSearch de ingestão da Amazon com outros serviços e aplicativos.
Acompanhar o status da criação do pipeline
Você pode acompanhar o status de um pipeline à medida que a Ingestão do OpenSearch o provisiona e prepara para ingerir dados.
Depois de criar inicialmente um pipeline, ele passa por vários estágios à medida que a Ingestão do OpenSearch o prepara para ingerir dados. Para visualizar os vários estágios da criação do pipeline, escolha o nome do pipeline para ver sua página Configurações do pipeline. Em Status, escolha Exibir detalhes.
Um pipeline passa pelos seguintes estágios antes de estar disponível para ingestão de dados:
-
Validação: valida a configuração do pipeline. Quando esse estágio estiver concluído, todas as validações serão bem-sucedidas.
-
Criação de um ambiente: prepara e provisiona recursos Quando esse estágio estiver concluído, o novo ambiente de pipeline será criado.
-
Implantação do pipeline: implanta o pipeline. Quando esse estágio estiver concluído, o pipeline foi implantado com sucesso.
-
Verificação da integridade do pipeline: verifica a integridade da pipeline. Quando esse estágio estiver concluído, todas as verificações de integridade serão aprovadas.
-
Habilitação de tráfego: permite que o pipeline consuma dados. Quando este estágio for concluído, você pode começar a ingerir dados no pipeline.
Use o comando get-pipeline-change-progress para verificar o status de um pipeline. A solicitação AWS CLI a seguir verifica o status de um pipeline nomeado: my-pipeline
aws osis get-pipeline-change-progress \ --pipeline-name
my-pipeline
Resposta:
{ "ChangeProgressStatuses": { "ChangeProgressStages": [ { "Description": "Validating pipeline configuration", "LastUpdated": 1.671055851E9, "Name": "VALIDATION", "Status": "PENDING" } ], "StartTime": 1.671055851E9, "Status": "PROCESSING", "TotalNumberOfStages": 5 } }
Para acompanhar o status da criação do pipeline usando a API de Ingestão do OpenSearch, chame a operação getPipelineChangeProgress.