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á.
Início rápido: instale o agente CloudWatch Logs usando o AWS OpsWorks Chef
Você pode instalar o agente CloudWatch Logs e criar fluxos de log usando o AWS OpsWorks Chef, que é uma ferramenta terceirizada de automação de sistemas e infraestrutura em nuvem. O Chef usa "receitas", que você grava para instalar e configurar o software em seu computador, e "livros de receitas", que são coleções de receitas, para executar suas tarefas de configuração e distribuição de políticas. Para obter mais informações, consulte Chef
Os exemplos de receitas do Chef abaixo mostram como monitorar um arquivo de log em cada EC2 instância. As receitas usam o nome da pilha como o grupo de logs e o nome de host da instância como o nome do stream de logs. Para monitorar vários arquivos de log, você precisa estender as receitas para criar vários grupos e fluxos de logs.
Etapa 1: Criar receitas personalizadas
Crie um repositório para armazenar suas receitas. AWS OpsWorks suporta Git e Subversion, ou você pode armazenar um arquivo no Amazon S3. A estrutura do repositório do livro de receitas é descrita em Repositórios de livros de receitas no Manual do usuário do AWS OpsWorks . Os exemplos a seguir presumem que o livro de receitas seja denominado logs
. A receita install.rb instala o agente Logs. CloudWatch Você também pode baixar o exemplo do livro de receitas (CloudWatchLogs-Cookbooks.zip
Crie um arquivo chamado metadata.rb que contém o código a seguir:
#metadata.rb
name 'logs'
version '0.0.1'
Crie o arquivo CloudWatch de configuração de registros:
#config.rb
template "/tmp/cwlogs.cfg" do
cookbook "logs"
source "cwlogs.cfg.erb"
owner "root"
group "root"
mode 0644
end
Baixe e instale o agente CloudWatch Logs:
# install.rb directory "/opt/aws/cloudwatch" do recursive true end remote_file "/opt/aws/cloudwatch/awslogs-agent-setup.py" do source "https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py" mode "0755" end execute "Install CloudWatch Logs agent" do command "/opt/aws/cloudwatch/awslogs-agent-setup.py -n -r
region
-c /tmp/cwlogs.cfg" not_if { system "pgrep -f aws-logs-agent-setup" } end
nota
No exemplo acima, region
substitua por um dos seguintes: us-east-1, us-west-1, us-west-2, ap-south-1, ap-northeast-2, ap-southeast-2, ap-southeast-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, eu-central-1, eu-west-1 ou sa-east-1.
Se a instalação do agente falhar, verifique se o pacote python-dev
está instalado. Se não estiver, use o comando a seguir e, em seguida, tente outra vez a instalação do agente:
sudo apt-get -y install python-dev
Essa receita usa um arquivo de modelo cwlogs.cfg.erb que você pode modificar para especificar vários atributos, como quais arquivos registrar. Para obter mais informações sobre esses atributos, consulte CloudWatch Referência do agente de registros.
[general]
# Path to the AWSLogs agent's state file. Agent uses this file to maintain
# client side state across its executions.
state_file = /var/awslogs/state/agent-state
## Each log file is defined in its own section. The section name doesn't
## matter as long as its unique within this file.
#
#[kern.log]
#
## Path of log file for the agent to monitor and upload.
#
#file = /var/log/kern.log
#
## Name of the destination log group.
#
#log_group_name = kern.log
#
## Name of the destination log stream.
#
#log_stream_name = {instance_id}
#
## Format specifier for timestamp parsing.
#
#datetime_format = %b %d %H:%M:%S
#
#
[<%= node[:opsworks][:stack][:name] %>]
datetime_format = [%Y-%m-%d %H:%M:%S]
log_group_name = <%= node[:opsworks][:stack][:name].gsub(' ','_') %>
file = <%= node[:cwlogs][:logfile] %>
log_stream_name = <%= node[:opsworks][:instance][:hostname] %>
O modelo obtém o nome da pilha e o nome de host consultando os atributos correspondentes na configuração de pilha e no JSON de implantação. O atributo que especifica o arquivo a ser registrado é definido no arquivo de atributos default.rb (.rb) do livro de receitas cwlogs. logs/attributes/default
default[:cwlogs][:logfile] = '/var/log/aws/opsworks/opsworks-agent.statistics.log'
Etapa 2: criar uma AWS OpsWorks pilha
Abra o AWS OpsWorks console em https://console.aws.amazon.com/opsworks/
. -
No OpsWorks Painel, escolha Adicionar pilha para criar uma AWS OpsWorks pilha.
-
Na tela Adicionar pilha, escolha Pilha do Chef 11.
-
Em Nome da pilha, digite um nome.
-
Em Usar livros de receitas personalizadas do Chef, escolha Sim.
-
Em Tipo de repositório, selecione o tipo de repositório que você usa. Se você estiver usando o exemplo acima, escolha Arquivo Http.
-
Em URL de repositório, insira o repositório onde você armazenou o livro de receitas criado na etapa anterior. Se você estiver usando o exemplo acima, insira
https://s3.amazonaws.com/aws-cloudwatch/downloads/CloudWatchLogs-Cookbooks.zip
. -
Selecione Criar para criar uma pilha.
Etapa 3: Estender sua função do IAM
Para usar CloudWatch Logs com suas AWS OpsWorks instâncias, você precisa estender a função do IAM usada por suas instâncias.
-
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Políticas, Criar política.
-
Na página Criar política, em Criar sua própria política, escolha Selecionar. Para obter mais informações sobre a criação de políticas personalizadas, consulte Políticas do IAM para a Amazon EC2 no Guia EC2 do usuário da Amazon.
-
Na página Revisar política, em Nome da política, digite um nome para a política.
-
Em Documento da política, cole a política a seguir:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
-
Escolha Criar política.
-
No painel de navegação, escolha Funções e, em seguida, no painel de conteúdo, em Nome da função, selecione o nome da função da instância usada pela sua AWS OpsWorks pilha. Você pode encontrar a usada pela sua pilha nas configurações da pilha (o padrão é
aws-opsworks-ec2-role
).nota
Escolha o nome da função, não a caixa de seleção.
-
Na guia Permissões, em Políticas gerenciadas, selecione Anexar política.
-
Na página Anexar política, no cabeçalho da tabela (ao lado de Filtro e Pesquisar), escolha Tipo de política, Políticas gerenciadas pelo cliente.
-
Em Customer Managed Policies (Políticas gerenciadas pelo cliente), selecione a política do IAM que você criou acima e escolha Attach Policy (Anexar política).
Para obter mais informações sobre usuários e políticas, consulte Usuários e grupos do IAM e Gerenciar políticas do IAM no Guia do usuário do IAM.
Etapa 4: Adicionar uma camada
Abra o AWS OpsWorks console em https://console.aws.amazon.com/opsworks/
. -
No painel de navegação, escolha Camadas.
-
No painel de conteúdo, selecione uma camada e escolha Adicionar camada.
-
Na OpsWorksguia, em Tipo de camada, escolha Personalizado.
-
Nos campos Nome e Nome curto, digite os nomes longo e curto da camada. Em seguida, escolha Adicionar camada.
-
Na guia Receitas, em Receitas personalizadas do Chef, há vários títulos — Configuração, Configuração, Implantação, Desimplantação e Desativação — que correspondem aos eventos do ciclo de vida. AWS OpsWorks AWS OpsWorks aciona esses eventos nesses pontos-chave do ciclo de vida da instância, que executa as receitas associadas.
nota
Se os títulos acima não estiverem visíveis, em Receitas personalizadas do chef, escolha editar.
-
Digite logs::config, logs::install próximo de Configuração, escolha + para adicioná-lo à lista e escolha Salvar.
AWS OpsWorks executa essa receita em cada uma das novas instâncias dessa camada, logo após a inicialização da instância.
Etapa 5: Adicionar uma instância
A camada só controla como configurar instâncias. Agora, é preciso adicionar algumas instâncias à camada e iniciá-las.
Abra o AWS OpsWorks console em https://console.aws.amazon.com/opsworks/
. -
No painel de navegação, selecione Instâncias e, na sua camada, selecione + Instância.
-
Aceite as configurações padrão e escolha Adicionar instância para adicionar a instância à camada.
-
Na coluna Ações da linha, clique em iniciar para iniciar a instância.
AWS OpsWorks inicia uma nova EC2 instância e configura o CloudWatch Logs. O status da instância mudará para online quando estiver pronta.
Etapa 6: Visualizar seus logs
Você deve ver o grupo de registros e o stream de registros recém-criados no CloudWatch console depois que o agente estiver em execução por alguns instantes.
Para obter mais informações, consulte Exibir dados de registro enviados para CloudWatch Logs.