O Cloud Assistant permite entregar registros de execução de tarefas ao Object Storage Service (OSS) e ao Simple Log Service (SLS) para armazenamento persistente. Este tópico descreve como configurar as definições de entrega e visualizar os arquivos de registro de execução entregues.
Informações básicas
O Cloud Assistant suporta a retenção de registros de execução, mas existem limites para o período de retenção e a quantidade de registros. Para mais informações, consulte Limites do Cloud Assistant. Caso precise reter muitos registros de execução ou armazená-los por um longo período, utilize o recurso de entrega. Esse recurso permite consultar registros, analisar segurança, rastrear alterações de recursos e conduzir auditorias de conformidade de comportamento.
Visão geral do faturamento
A Entrega de Registros de Sessão é gratuita, mas você pode incorrer em custos pelos seguintes itens:
-
Itens faturáveis do SLS, como espaço de armazenamento e tráfego de índice de log.
Consulte Visão geral do faturamento.
-
Itens faturáveis do OSS, como espaço de armazenamento e tráfego de gerenciamento de objetos.
Consulte Visão geral do faturamento.
Etapa 1: Configurar a entrega de registros de execução de tarefas
Acesse o ECS console - Cloud Assistant.
-
No canto superior esquerdo da página, selecione uma região e um grupo de recursos.
NotaA entrega entre regiões não é suportada. Configure a entrega separadamente para cada região.
No canto superior direito da página ECS Cloud Assistant, clique em Settings.
-
Na caixa de diálogo Cloud Assistant Settings, clique na aba Command Execution Settings e configure as definições de entrega.
-
Entregue registros de execução de tarefas ao SLS.
Selecione Deliver to Log Service.
-
Selecione um projeto e um Logstore existentes no SLS.
Caso ainda não tenha criado um projeto e um Logstore no SLS, clique em Log Service Console ou Logstores à direita para criá-los. Após criar o projeto e o Logstore, retorne a esta caixa de diálogo e clique no ícone
para atualizar a lista. Para mais informações, consulte Gerenciar projetos e Gerenciar Logstores.
NotaPara consultar e analisar logs no SLS, ative a indexação. A ativação da indexação gera tráfego de índice e consome espaço de armazenamento de índice. Para mais informações sobre faturamento, consulte Faturamento do SLS. Decida se deseja criar um índice para o Logstore.
-
Entregue registros de execução de tarefas ao OSS.
Selecione Deliver to OSS.
-
Selecione um bucket existente no OSS e insira o diretório raiz para armazenar os arquivos de registro de execução de tarefas.
Caso ainda não tenha criado um bucket no OSS, clique em OSS Console à direita para criar um. Após criar o bucket, retorne a esta caixa de diálogo e clique no ícone
para atualizar a lista. Para mais informações, consulte Criar um bucket.
NotaO OSS oferece criptografia no lado do servidor para proteção de dados em repouso. Esse recurso é adequado para aplicações com altos requisitos de segurança ou conformidade para armazenamento de arquivos. Se você configurar um método de criptografia no lado do servidor, os arquivos de registro de execução de tarefas entregues (Objetos) serão criptografados. Para mais informações, consulte Criptografia no lado do servidor.
-
-
Clique em OK.
Na primeira configuração, o sistema cria uma função vinculada ao service que concede ao Cloud Assistant acesso aos recursos do SLS e do OSS. Se a função já existir, o sistema pulará a criação. Consulte Gerenciar a função vinculada ao service para ECS Cloud Assistant.
A função vinculada ao service criada automaticamente pelo sistema chama-se
AliyunServiceRoleForECSArchiving, e a política de acesso correspondente chama-seAliyunServiceRolePolicyForECSArchiving.
Etapa 2: Executar um comando ou enviar um arquivo
Execute um comando ou envie um arquivo. Os registros de execução serão então entregues automaticamente ao Logstore do SLS ou ao bucket do OSS especificado.
Para mais informações, consulte Criar e executar um comando, Executar um comando e Carregar um arquivo em uma instância ECS usando o Cloud Assistant.
Etapa 3: Visualizar registros de execução de tarefas
Visualizar registros de execução de tarefas no SLS
Esta seção descreve como navegar até um Logstore específico a partir do ECS console. Alternativamente, faça login no console do SLS e localize o Logstore.
Acesse o ECS console - Cloud Assistant.
No canto superior esquerdo da página, selecione uma região e um grupo de recursos.
No canto superior direito da página ECS Cloud Assistant, clique em Settings.
Na caixa de diálogo Cloud Assistant Settings, clique na aba Command Execution Settings e selecione Deliver to Log Service.
-
À direita de Select a Logstore, clique em Logstores.
Para mais informações sobre como visualizar logs, consulte Início rápido para consulta e análise.
Veja a seguir exemplos de logs de registros de execução de tarefas do Cloud Assistant. Para mais informações sobre os parâmetros, consulte Parâmetros de registro de execução de tarefas.
-
Execução única de comando
Os principais campos no log de uma execução única de comando incluem:
CommandContent:
hostnameCommandType: RunShellScript
InvocationStatus: Success
ExitCode: 0
RepeatMode: Once
Repeats: 1
Output: Saída da execução do comando
RegionId: cn-hangzhou
-
Execução agendada de comando
O valor do parâmetro Repeats indica o número de vezes que o comando foi executado.
Os principais campos no log incluem:
CommandContent:
aG9zdG5hbWU=(codificado em Base64)RepeatMode:
Period(execução periódica)Repeats:
6(número de execuções)
Outros campos incluem CommandType, InvocationStatus (Success), ExitCode (0), etc.
Exemplo de instrução de consulta:
select Status,count(1) as c group by Status order by c desc. -
Envio de arquivo
Visualize os logs de resultado de execução para envio de arquivos na página de consulta do SLS. Os principais campos relacionados ao arquivo incluem:
FileContent:
c2VuZCBmaWxlIHRlc3Q=(conteúdo do arquivo codificado em Base64)FileGroup:
rootFileMode:
0644FileName:
sendfile-test.txtFileOwner:
root
Outros campos incluem InvocationStatus (status de execução, ex.: Success), TargetDir (diretório de destino, ex.: /root), Overwrite (sobrescrita, ex.: true), etc.
-
Visualizar registros de execução de tarefas no OSS
Esta seção descreve como navegar até um bucket específico a partir do ECS console. Alternativamente, faça login no console do OSS e localize o bucket.
Acesse o ECS console - Cloud Assistant.
No canto superior esquerdo da página, selecione uma região e um grupo de recursos.
No canto superior direito da página ECS Cloud Assistant, clique em Settings.
Na caixa de diálogo Cloud Assistant Settings, clique na aba Command Execution Settings e selecione Deliver to OSS.
À direita de Bucket, clique em OSS Console.
-
Navegue até o diretório onde os arquivos relacionados a uma tarefa estão armazenados.
Após acessar o console do OSS, o sistema direciona você automaticamente para o diretório raiz especificado durante a configuração da entrega de registros de execução de tarefas. Em seguida, navegue pelos subdiretórios gerados automaticamente com base no tipo de tarefa:
-
Se o tipo de tarefa for Run Command, navegue até o diretório invocationResults/<Execution ID>. Este diretório contém subdiretórios nomeados com os IDs das instâncias ECS e os arquivos de script de comando, como :
commandContent.bat: Para executar um comando Bat em uma instância Windows.
commandContent.ps1: Para executar um comando PowerShell em uma instância Windows.
commandContent.sh: Para executar um comando Shell em uma instância Linux.
Se o tipo de tarefa for Send File, navegue até o diretório sendFileResults/<Execution ID>. Este diretório contém subdiretórios nomeados com os IDs das instâncias ECS e um arquivo chamado fileContent.txt que contém o conteúdo do arquivo enviado.
Veja a seguir um exemplo de diretório para execução de um comando Shell em uma instância Linux.
-
-
Navegue até o diretório nomeado com o ID da instância ECS para visualizar o arquivo de registro da tarefa executada nessa instância ECS.
O arquivo de registro de execução está no formato JSON. Veja os exemplos a seguir.
-
Execução única de comando
O arquivo de registro de execução para um comando único é armazenado em
cloudassistant-record/{AccountID}/{RegionID}/cloudAssistant/invocationResults/{TaskID}/{InstanceID}/, com o nome de arquivo invocationResult.json. -
Execução agendada de comando
O número no nome do arquivo indica quantas vezes o comando foi executado na instância especificada.
Na página de gerenciamento de arquivos do Bucket OSS, navegue até
cloudassistant-record/AccountID/cn-hangzhou/cloudAssistant/invocationResults/TaskID/InstanceID/para visualizar os arquivos de resultado de comandos periódicos, comoinvocationResult-1.jsonatéinvocationResult-6.json, cada um correspondendo a uma execução. -
Envio de arquivo
No gerenciamento de arquivos do Bucket OSS, navegue até
cloudassistant-record/{AccountID}/{RegionID}/cloudAssistant/sendFileResults/{InvocationID}/{InstanceID}/para encontrar o arquivo sendFileResult.json.
-
-
Na coluna Actions do arquivo de registro de execução, clique em Details. Em seguida, baixe o arquivo ou copie a URL do arquivo para visualizar seu conteúdo.
Veja a seguir um exemplo do conteúdo do arquivo para uma execução única de comando Shell. Para mais informações sobre os parâmetros, consulte Parâmetros de registro de execução de tarefas.
{ "RegionId":"cn-hangzhou", "InstanceId":"i-bp1hd5ztmab9cgc0****", "InvokeId":"t-hz01x7rtjfy****", "CommandId":"c-hz01x7cn5aj****", "CommandName":"cmd-hostname", "CommandType":"RunShellScript", "CommandContent":"hostname", "ResourceOwnerUid":160998252992****, "CallerUid":160998252992****, "CallerType":"customer", "Timeout":60, "Frequency":"", "Parameters":"{}", "Username":"", "RepeatMode":"Once", "Repeats":1, "InvocationStatus":"Success", "Dropped":0, "Output":"iZbp1hd5ztmab9cgc0****\n", "ExitCode":0, "CreationTime":"2021-09-26T05:47:20Z", "StartTime":"2021-09-26T05:47:20Z", "UpdateTime":"2021-09-26T05:47:20Z", "FinishedTime":"2021-09-26T05:47:20Z", "StopTime":"" }
Parâmetros de registro de execução de tarefas
A tabela a seguir descreve os parâmetros nos registros de execução para tarefas de execução de comandos. Para mais informações sobre os parâmetros, incluindo seus valores possíveis, consulte DescribeCommands e DescribeInvocationResults.
|
Nome |
Exemplo |
Descrição |
|
RegionId |
cn-hangzhou |
O ID da região da instância ECS onde o comando foi executado. |
|
InstanceId |
i-bp1hd5ztmab9cgc0**** |
O ID da instância. |
|
InvokeId |
t-hz01x7rtjfy**** |
O ID de execução do comando. |
|
CommandId |
c-hz01x7cn5aj**** |
O ID do comando. |
|
CommandName |
cmd-hostname |
O nome do comando. |
|
CommandType |
RunShellScript |
O tipo do comando. |
|
CommandContent |
hostname |
O conteúdo do comando em texto simples. |
|
ResourceOwnerUid |
160998252992**** |
O ID da conta Alibaba Cloud do usuário que chamou o comando. |
|
CallerUid |
160998252992**** |
O ID da conta do usuário que chamou o comando. |
|
CallerType |
customer |
O método usado para chamar o comando. |
|
Timeout |
60 |
O tempo limite máximo para a execução do comando na instância ECS. Unidade: segundos. |
|
Frequency |
0 14 * ? |
O período de execução para um comando agendado. Trata-se de uma expressão cron. Para mais informações, consulte Expressões Cron. |
|
Parameters |
{} |
Os pares chave-valor de parâmetros personalizados passados durante a execução do comando, caso o comando contenha parâmetros personalizados. |
|
Username |
root |
O nome de usuário usado para executar o comando na instância ECS. |
|
RepeatMode |
Period |
O modo de execução do comando. |
|
Repeats |
2 |
O número de vezes que o comando foi executado na instância ECS. |
|
InvocationStatus |
Success |
O status de execução do comando em uma única instância ECS. |
|
ErrorCode |
InstanceNotExists |
O código de erro retornado se o envio ou a execução do comando falhar. |
|
ErrorInfo |
the specified instance does not exists |
Os detalhes do erro ocorrido quando o envio ou a execução do comando falhou. |
|
Dropped |
0 |
O tamanho do texto truncado e descartado porque o campo Output excedeu 24 KB. |
|
Output |
iZbp1hd5ztmab9cgc0****\n |
A saída do comando após sua execução. |
|
ExitCode |
0 |
O código de saída do comando. |
|
CreationTime |
2021-09-26T05:47:20Z |
O momento em que a execução do comando começou. |
|
StartTime |
2021-09-26T05:47:20Z |
O momento em que o comando começou a ser executado na instância ECS. |
|
UpdateTime |
2021-09-26T06:53:00Z |
O momento em que o status da tarefa de execução do comando foi atualizado. |
|
FinishedTime |
2021-09-26T06:53:00Z |
O momento em que a execução do comando foi concluída. |
|
StopTime |
2021-09-26T06:53:00Z |
O momento em que StopInvocation foi chamado, se tiver sido chamado. |
A tabela a seguir descreve os parâmetros nos registros de execução para tarefas de envio de arquivos. Para mais informações sobre os parâmetros, incluindo seus valores possíveis, consulte DescribeSendFileResults.
|
Nome |
Exemplo |
Descrição |
|
RegionId |
cn-hangzhou |
O ID da região da instância ECS para a qual o arquivo foi enviado. |
|
InstanceId |
i-bp1hd5ztmab9cgc0**** |
O ID da instância. |
|
InvokeId |
f-hz01xeva44**** |
O ID de execução. |
|
FileName |
sendfile-test.txt |
O nome do arquivo. |
|
ContentType |
Base64 |
O tipo do conteúdo do arquivo. |
|
Description |
Used for test |
A descrição do arquivo. |
|
FileContent |
c2VuZCBmaWxlIHRlc3Q= |
O conteúdo do arquivo. |
|
FileGroup |
root |
O grupo de usuários do arquivo. |
|
FileMode |
0644 |
As permissões do arquivo. |
|
FileOwner |
root |
O usuário proprietário do arquivo. |
|
ResourceOwnerUid |
16099825299**** |
O ID da conta Alibaba Cloud do usuário que enviou o arquivo. |
|
CallerUid |
16099825299**** |
O ID da conta do usuário que enviou o arquivo. |
|
CallerType |
customer |
O método de invocação para o remetente do arquivo. |
|
Overwrite |
true |
Especifica se um arquivo com o mesmo nome deve ser sobrescrito caso já exista no diretório de destino. |
|
TargetDir |
/root |
O caminho de destino para onde o arquivo é enviado. |
|
Timeout |
60 |
O tempo limite para o envio do arquivo. Unidade: segundos. |
|
InvocationStatus |
Success |
O status da tarefa de envio de arquivo. |
|
ErrorCode |
FileAlreadyExists |
O código de erro retornado se o envio do arquivo falhar. |
|
ErrorInfo |
File already exists: sendfile-test.txt |
Os detalhes do erro ocorrido quando o envio ou a execução do arquivo falhou. |
|
CreationTime |
2021-09-28T05:31:04Z |
O momento em que a tarefa de envio de arquivo foi criada. |
|
StartTime |
2021-09-28T05:31:04Z |
O momento em que a tarefa de envio de arquivo começou a ser executada na instância ECS. |
|
UpdateTime |
2021-09-28T05:31:04Z |
O momento em que o status da tarefa de envio de arquivo foi atualizado. |
|
FinishTime |
2021-09-28T05:31:04Z |
O momento em que a tarefa de envio de arquivo terminou. |
Referências
Chame a operação de API DescribeCloudAssistantSettings para consultar as configurações de service do Cloud Assistant. Também é possível chamar a operação de API ModifyCloudAssistantSettings para modificar as configurações de service.