Baixar registro para um host de cluster em um projeto
Retorna um arquivo de log compactado (.gz) que contém uma faixa de mensagens de log para o host especificado para o projeto especificado. O MongoDB atualiza os logs de processo e auditoria da infraestrutura de backend do cluster a cada cinco minutos. Os logs são armazenados em partes de aproximadamente cinco minutos de duração, mas essa duração pode variar. Se você pesquisar arquivos de log na API, recomendamos a sondagem a cada cinco minutos, mesmo que as sondagens consecutivas possam conter alguns logs sobrepostos. Esse recurso não está disponível para clusters M0 gratuitos, clusters M2, M5, flex ou clusters sem servidor. Para usar este recurso, a conta de serviço ou chave de API solicitante deve ter a função Somente leitura de acesso a dados do projeto ou superior. A API não oferece suporte a chamadas diretas com o esquema de resposta json. É preciso solicitar um esquema de resposta gzip usando um cabeçalho de aceitação do formato: "Accept: application/vnd.atlas.YYYY-MM-DD+gzip". Versões obsoletas: v2-{2023-01-01}
parâmetros de caminho
-
Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.
AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$. -
Etiqueta legível por humanos que identifica o host que armazena os arquivos de log que você deseja baixar.
O formato deve corresponder ao seguinte padrão:
^([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-f]{1,4}:){7}([0-9a-f]{1,4})|(([a-z0-9]+\.){1,10}[a-z]+)?$. -
Rótulo legível por humanos que identifica o arquivo de registro que você deseja retornar. Para retornar registros de auditoria, habilite a auditoria de banco de dados para o projeto especificado.
Os valores são
mongodb,mongos,mongodb-audit-logoumongos-audit-log.Configurar auditoria de banco de dados
parâmetros de query
-
Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON
envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é
false. -
Especifica a data e a hora do ponto final do intervalo de mensagens de log a serem recuperadas, no número de segundos decorridos desde a UNIX epoch. Esse valor terá como padrão 24 horas após a data de início. Se a data de início também não for especificada, o valor será padronizado para a hora da solicitação.
O valor mínimo é
1199145600. -
Especifica a data e a hora do ponto de partida do intervalo de mensagens de log a serem recuperadas, no número de segundos decorridos desde a época do UNIX. Esse valor terá como padrão 24 horas antes da data final. Se a data de término também não for especificada, o valor padrão será 24 horas antes da hora da solicitação.
O valor mínimo é
1199145600.
atlas api monitoringAndLogs downloadClusterLog --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20241023001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.DownloadGroupClusterLogApiParams{}
sdkResp, httpResp, err := client.MonitoringandLogsApi.
DownloadGroupClusterLogWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2024-10-23+gzip" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{hostName}/logs/{logName}.gz" \
--output "file_name.gz"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2024-10-23+gzip" \
-X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{hostName}/logs/{logName}.gz" \
--output "file_name.gz"
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}