Usar o driver de log awslogs. - AWS Batch

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á.

Usar o driver de log awslogs.

Por padrão, o AWS Batch permite que o driver de log awslogs envie informações de log ao CloudWatch Logs. Você pode usar esse atributo para visualizar logs diferentes dos contêineres em um local indicado e evita que os logs de contêiner ocupem espaço em disco nas instâncias de contêiner. Este tópico ajuda você a configurar o driver de log awslogs em suas definições de trabalho.

nota

No console do AWS Batch, você pode configurar o driver de log awslogs registro na seção de configuração de log ao criar uma definição de trabalho.

nota

O tipo de informações registradas em log pelos contêineres em seu trabalho depende principalmente do comando ENTRYPOINT. Por padrão, os logs capturados mostram a saída do comando que você normalmente vê em um terminal interativo, se executasse o contêiner localmente, que são os fluxos de E/S STDOUT e STDERR. O driver de log awslogs simplesmente envia esses logs do Docker para o CloudWatch Logs. Para obter mais informações sobre como os logs do Docker são processados, incluindo maneiras alternativas de capturar fluxos ou dados de arquivos diferentes, consulte Visualizar logs de um contêiner ou serviço na documentação do Docker.

Para enviar logs de sistema a partir das instâncias de contêiner para o CloudWatch Logs, consulte Como usar o CloudWatch Logs com AWS Batch. Para obter mais informações sobre o CloudWatch Logs, consulte Monitorar arquivos de log e Cotas do CloudWatch Logs no Guia do usuário do Amazon CloudWatch Logs.

Opções do driver de log awslogs no tipo de dados AWS Batch JobDefiniton

O driver de log awslogs dá suporte às seguintes opções em definições de trabalho do AWS Batch. Para obter mais informações, consulte Driver de registro do CloudWatch Logs na documentação do Docker.

awslogs-region

Obrigatório: Não

Especifique a região para a qual o driver de log awslogs deve enviar os logs do Docker. Por padrão, a região usada é a mesma do trabalho. É possível optar por enviar todos os logs de trabalhos em regiões distintas para uma única região no CloudWatch Logs. Isso permite que todos sejam visíveis em um único local. Como alternativa, você pode separá-los por região para uma abordagem mais granular. No entanto, quando escolher esta opção, certifique-se de que os grupos de logs especificados existam na região especificada.

awslogs-group

Obrigatório: opcional

Com a opção awslogs-group, você pode especificar o grupo de logs para o qual o driver de log awslogs envia seus fluxos de logs. Se esse campo não for especificado, será usado aws/batch/job.

awslogs-stream-prefix

Obrigatório: opcional

Com a opção awslogs-stream-prefix, é possível associar um fluxo de logs ao prefixo especificado e a ID da tarefa do Amazon ECS do trabalho do AWS Batch à qual o contêiner pertence. Caso você especifique um prefixo com essa opção, o fluxo de log utiliza o seguinte formato:

prefix-name/default/ecs-task-id
awslogs-datetime-format

Obrigatório: Não

Essa opção define um padrão de início de várias linhas no formato strftime em Python. Uma mensagem de log é formada por uma linha em conformidade com o padrão e as linhas seguintes que não correspondem ao padrão. Assim, a linha em conformidade é o delimitador entre as mensagens de log.

Um exemplo de um caso de uso para esse formato é a análise da saída, como um despejo de pilha, que poderia ser registrado em várias entradas. O padrão correto permite que ele seja capturado em uma única entrada.

Para obter mais informações, consulte awslogs-datetime-format.

Essa opção sempre terá precedência se os awslogs-datetime-format e awslogs-multiline-pattern estiverem configurados.

nota

O registro em várias linhas executa a análise da expressão regular e a correspondência de todas as mensagens de log. Isso pode ter um impacto negativo na performance do registro em log.

awslogs-multiline-pattern

Obrigatório: Não

Essa opção define um padrão inicial de várias linhas usando uma expressão regular. Uma mensagem de log é formada por uma linha em conformidade com o padrão e as linhas seguintes que não correspondem ao padrão. Assim, a linha em conformidade é o delimitador entre as mensagens de log.

Para obter mais informações, consulte awslogs-multiline-pattern na documentação do Docker.

Essa opção será ignorada se awslogs-datetime-format também estiver configurado.

nota

O registro em várias linhas executa a análise da expressão regular e a correspondência de todas as mensagens de log. Isso pode ter um impacto negativo na performance do registro em log.

awslogs-create-group

Obrigatório: Não

Especifique se você deseja que o grupo de logs seja criado automaticamente. Se essa opção não for especificada, o padrão será false.

Atenção

Essa opção não é recomendada. Recomendamos que você crie o grupo de logs com antecedência usando a ação da API CreateLogGroup do CloudWatch Logs, pois cada trabalho tenta criar o grupo de logs, aumentando a chance de falha do trabalho.

nota

A política do IAM para seu perfil de execução deve incluir a permissão logs:CreateLogGroup antes que você tente usar awslogs-create-group.

Especificar uma configuração de log na definição de trabalho

Por padrão, o AWS Batch ativa o driver de log awslogs. Esta seção descreve como personalizar a configuração de log awslogs de um trabalho. Para ter mais informações, consulte Criar uma definição de tarefa de nó único .

Os trechos JSON de configuração de log a seguir têm um objeto logConfiguration especificado para cada trabalho. Um é para um trabalho do WordPress que envia logs para um grupo de logs chamado awslogs-wordpress e o outro é para um contêiner MySQL que envia logs para um grupo de logs chamado awslogs-mysql. Ambos os contêineres usam o prefixo de fluxo de log awslogs-example.

"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-wordpress", "awslogs-stream-prefix": "awslogs-example" } }
"logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "awslogs-mysql", "awslogs-stream-prefix": "awslogs-example" } }

No console do AWS Batch, a configuração de log da definição do trabalho do wordpress é especificada conforme mostrado na imagem.

Log configuration interface showing awslogs driver with group and stream prefix options.

Depois que tiver registrado uma definição de tarefa com o driver de log awslogs em uma configuração de log de definição de trabalho, você poderá enviar um trabalho com essa definição de trabalho para começar a enviar logs ao CloudWatch Logs. Para ter mais informações, consulte Tutorial: enviar um trabalho.