Ir para o conteúdo principal

Transmissões de eventos

!!! Informações "Aviso"

Os características de observabilidade do Equinix Metal estão atualmente em fase Beta e não estão disponíveis para todos os clientes. O objetivo é apenas avaliar e testar. Atualmente, este recurso não é cobrado e não está coberto por um SLA.

Você pode monitorar dados específicos de eventos e atividades das suas organizações Metal quase em tempo real usando fluxos de eventos. Os fluxos de eventos podem fornecer dados de eventos essenciais para ajudar você a entender e analisar as necessidades do seu negócio. Esses eventos incluem:

  • Eventos de conta e organização
  • Serviços e eventos de cobrança
  • Eventos de gerenciamento de dispositivos
  • Eventos de Gestão de Redes

Os fluxos de eventos são visíveis apenas para proprietários e administradores de uma organização.

Limitações

Atualmente, o fluxo de eventos suporta apenas o Splunk como destino. Os dados do fluxo de observabilidade são enviados para o Splunk por meio da interface do Coletor de Eventos HTTP do Splunk ("HEC"). Para receber dados do fluxo de observabilidade, você deve primeiro configurar um Coletor de Eventos HTTP em sua instância do Splunk. Recomendamos a criação de um coletor dedicado especificamente para receber dados do fluxo de observabilidade.

O envio de dados do Observability Stream para o Splunk está sujeito às seguintes limitações:

  • Para garantir a criptografia dos dados em trânsito, apenas conexões HTTPS são permitidas. O envio de dados para um HEC Splunk usando HTTP simples e desprotegido NÃO é suportado.
  • Todos os dados do Observability Stream são enviados ao Splunk como eventos JSON; dados brutos NÃO são suportados.
  • Os eventos JSON serão enviados para o endpoint padrão /services/collector/event; URLs de endpoint alternativos NÃO são suportados.
  • Os eventos JSON serão enviados para o índice padrão configurado ao criar o Coletor de Eventos HTTP do Splunk. A substituição do índice de eventos enviados para o Splunk NÃO é suportada.
  • O reconhecimento do indexador NÃO é suportado.

A API de Observabilidade

Se você estiver usando a API de Observabilidade, você algumas diferenças entre ela e a API Equinix Metal .

  • novos endpoints de API
  • novo mecanismo de autenticação

Primeiro, o Observability tem seus próprios endpoints de API que podem ser acessados ​​em https://observability.equinixmetal.net.

Em segundo lugar, a API de Observabilidade possui um mecanismo de autenticação onde você troca sua chave da API Equinix Metal por um token web JSON (JWT) de curta duração que você usa para autenticação em todas as solicitações de observabilidade. O token expira após 5 minutos. Para obter um JWT, envie uma solicitar POST para o endpoint iam.metalctrl.io/api-keys/exchange.

curl -X POST \
-H "Authorization: bearer <API_TOKEN>" \
https://iam.metalctrl.io/api-keys/exchange

A resposta será um JSON "access_token" que você usa para autenticar suas solicitações à API de Observabilidade.

{
"access_token": "eyJ....98"
}

A API Observability não aceita chaves da API Equinix Metal para autenticação.

Criando um fluxo de eventos

Crie um fluxo de eventos para exportar dados do servidor para o Splunk para armazenamento e análise. Para criar um fluxo, faça o seguinte:

  1. Acesse o Portal Equinix Metal e insira suas credenciais para entrar no portal.

  2. No menu suspenso Organização, selecione a organização para a qual deseja criar um fluxo de eventos.

  3. Clique na aba Observabilidade.

    Event Streams page from the Observability tab

  4. Clique em Criar Fluxo de Eventos.

  5. Na janela modal Criar Fluxo de Eventos, insira um nome amigável no campo Nome.

  6. Opcional. Insira uma descrição para o fluxo de eventos no campo de descrição.

  7. Insira o nome do host e a chave da API do Splunk nos campos fornecidos para enviar dados ao Splunk.

    O nome do host de conexão deve ser obtido do [URI do coletor de eventos HTTP. O nome do host deve ser especificado como uma string com um sufixo opcional de número de porta; os valores válidos incluem http-inputs-my-org.splunkcloud.com ou splunk.example.com:8443.

    A chave de API deve ser o token do Coletor de Eventos HTTP gerado ao criar o endpoint HEC do Splunk. Ele será armazenado em um formato criptografado que só pode ser descriptografado pelo trabalhador que envia os dados do Observability Stream.

Testando a conexão do fluxo

Antes de transmitir uma conexão de dados para o Splunk, você precisa testá-la para garantir sua validade. Para testar a conexão de transmissão, faça o seguinte:

  1. Na janela modal Criar Fluxo de Eventos, insira o nome do host e a chave da API do Splunk nos campos fornecidos, caso ainda não o você feito.

  2. Clique em Testar conexão de streaming.

    A conexão é válida se a mensagem Teste Aprovado aparecer na tela. Uma mensagem de erro será exibida se o teste de conexão NÃO for bem-sucedido. Você precisa receber a mensagem Teste Aprovado para garantir que a conexão de teste seja válida para transmitir dados para o Splunk.

    Testing an event stream in the console

  3. Clique em Salvar para salvar o fluxo do evento. O fluxo de eventos é salvo na tabela Fluxos de Eventos na página de Observabilidade.

Gerenciando um fluxo de eventos

Após a criação do fluxo de eventos no console do Metal, você poderá gerenciá-lo na guia Observability da sua organização.

Event Streams Table

Excluindo um fluxo de eventos

Para interromper o fluxo de dados para sua instância do Splunk, você pode excluir o fluxo de eventos. Para excluir um fluxo de eventos, faça o seguinte:

  1. Na tabela Fluxos de Eventos, clique no ícone da lixeira na coluna Excluir. A janela Excluir fluxo de eventos é exibida.

  2. Digite Excluir no campo e clique em Excluir.

Após a exclusão de um fluxo, ele para imediatamente de aceitar novos dados de fontes, mas continua entregando dados em voo. Assim que todos os dados em voo forem entregues, o fluxo é excluído e todos os recursos são liberados.

Metadados de eventos do Splunk

O Serviço de Observabilidade define as seguintes chaves de [metadados de evento do Splunk para cada evento de log de auditoria que envia para o seu fluxo:

  • time - The timestamp at which the event occurred, specified in seconds since the Unix epoch.
  • source - All events will specify a source of equinix.
  • sourcetype- Audit log events will specify a source type of log.
  • fields - Additional fields for indexing as described below.

Campos de índice

Além das chaves de metadados padrão do Splunk descritas acima, o Serviço de Observabilidade define os seguintes campos de índice personalizados para cada evento de log enviado ao seu fluxo. Esses campos são opcionais e serão omitidos se ausentes.

  • level - A human-readable indication of the logging level, such as INFO or DEBUG.
  • severity - A numeric severity level; higher numbers indicate more severe events (such as errors or violations).

Dados de eventos do Splunk

O conteúdo da chave event enviada ao coletor de eventos HTTP do Splunk como "Dados do evento" é um documento JSON estruturado com informações específicas do aplicativo sobre os eventos que estão sendo registrados.

Para obter uma referência completa, consulte a Documentação do Esquema de Eventos do Splunk.

{
"stream" : {
"streamId" : "dce13c1d-0589-406b-af40-854156a0621e",
"streamName" : "Example Stream"
},
"source" : {
"category" : "audit",
"type" : "api_request",
"service" : "metal",
"organizationId" : "99be473c-ee3c-4aeb-a678-eba3fdae7ca6",
"projectId" : "99be473c-ee3c-4aeb-a678-eba3fdaebeef"

},
"schema" : "v1",
"timestamp" : "2024-04-16T14:58:21.442334Z",
"level" : "INFO",
"eventId" : "6910f03f-ec60-42fc-9e9d-c5f6af2f732d",
"event" : {
"eventName" : "instance_provision_requested",
"status" : "failed",
"auth" : {
"authType" : "user",
"user" : {
"userId" : "582865f9-904b-4061-b536-2420eb01ecdc",
"userName" : "jdoe@equinix.com"
},
"role" : {
"roleName" : "collaborator"
}
},
"httpRequest" : {
"host" : "api.equinix.com",
"method" : "PUT",
"path" : "/metal/v1/projects/99f8e7f1-fe4a-441a-ade9-687743f080f6",
"scheme" : "http",
"statusCode" : 200,
"userAgent" : "metal-cli/metal equinix-sdk-go/0.30.0",
"sourceIpAddress" : "111.111.111.11"
}
}
}
Esta página foi útil?