Ir al contenido principal

Flujos de eventos

¡¡¡!!! Info "Aviso"

Las funciones de observabilidad de Equinix Metal se encuentran actualmente en fase Beta y no están disponibles para todos los clientes. Su finalidad es únicamente de evaluación y prueba. Esta función actualmente no se factura y no está cubierta por un SLA.

Puede supervisar eventos específicos y datos de actividad de sus organizaciones Metal casi en tiempo real mediante flujos de eventos. Los flujos de eventos pueden proporcionar datos de eventos críticos para ayudarle a comprender y analizar sus necesidades empresariales. Estos eventos incluyen:

  • Eventos de cuentas y organizaciones
  • Servicios y eventos de facturación
  • Eventos de gestión de dispositivos
  • Gestión de redes Eventos

Los flujos de eventos sólo son visibles para los propietarios y administradores de una organización.

Limitaciones

Actualmente, los flujos de eventos sólo admiten Splunk como destino. Los datos de Observability Stream se envían a Splunk a través de la interfaz [Splunk HTTP Event Collector ("HEC"). Para recibir datos de Observability Stream, primero debe configurar un Colector de Eventos HTTP en su instancia Splunk. Recomendamos crear un colector dedicado específicamente para recibir datos de Observability Stream.

El envío de datos de Observability Stream a Splunk está sujeto a las siguientes limitaciones:

  • Para garantizar el cifrado de datos en tránsito, sólo se permiten conexiones HTTPS. No se admite el envío de datos a un Splunk HEC utilizando HTTP sin cifrar.
  • Todos los datos de Observability Stream se envían a Splunk como eventos JSON; NO se admiten datos sin procesar.
  • Los eventos JSON se enviarán al punto final estándar /services/collector/event; NO se admiten URL de puntos finales alternativos.
  • Los eventos JSON serán enviados al índice por defecto que fue configurado al crear el Colector de Eventos Splunk HTTP. Sobrescribir el índice de los eventos enviados a Splunk NO es compatible.
  • NO se admite la confirmación del indexador.

La API de observabilidad

Si está utilizando la API de Observability, debe tener en cuenta algunas diferencias entre ésta y la actual API de Equinix Metal.

  • nuevos puntos finales de API
  • nuevo mecanismo de autenticación

En primer lugar, Observability tiene sus propios puntos finales de API a los que se puede acceder en https://observability.equinixmetal.net.

En segundo lugar, la API de observabilidad tiene un mecanismo de autenticación en el que intercambia su clave de API de Equinix Metal por un token web JSON (JWT) de corta duración que utiliza para la autenticación de todas las solicitudes de observabilidad. El token caduca a los 5 minutos. Para recuperar un JWT, envíe una solicitud POST al punto final iam.metalctrl.io/api-keys/exchange.

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

La respuesta será un JSON "access_token" que utilizará para autenticar sus solicitudes a la API de Observability.

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

La API de observabilidad no acepta claves de la API de Equinix Metal para la autenticación.

Creación de un flujo de eventos

Cree un flujo de eventos para exportar los datos del servidor a Splunk para su almacenamiento y análisis. Para crear un flujo, haga lo siguiente:

  1. Vaya a [Equinix Metal Portal e introduzca sus credenciales para iniciar sesión en el portal.

  2. En el menú desplegable Organización, seleccione la organización para crear un flujo de eventos.

  3. Haga clic en la pestaña Observabilidad.

    Event Streams page from the Observability tab

  4. Haga clic en, Crear flujo de eventos.

  5. En el modal Crear flujo de eventos, introduzca un nombre fácil de usar en el campo Nombre.

  6. Opcional. Introduzca una descripción para el flujo de eventos en el campo de descripción.

  7. Introduzca su nombre de host Splunk y la clave API en los campos proporcionados para enviar datos a Splunk.

    El nombre de host de la conexión debe tomarse de la [HTTP Event Collector URI. El nombre de host debe especificarse como una cadena con un sufijo opcional de número de puerto; los valores válidos incluyen http-inputs-my-org.splunkcloud.com o splunk.example.com:8443.

    La Clave API debe ser el token HTTP Event Collector que se generó al crear el endpoint Splunk HEC. Esto se almacenará en un formato cifrado que sólo puede ser descifrado por el trabajador que envía los datos de Observability Stream.

Comprobación de la conexión de flujo

Antes de transmitir una conexión de datos a Splunk, debe probarla para garantizar su validez. Para probar la conexión de flujo, haga lo siguiente:

  1. En el modal Crear flujo de eventos, introduzca su nombre de host Splunk y su clave API en los campos proporcionados, si aún no lo ha hecho.

  2. Haga clic, Pruebe la conexión de flujo.

    La conexión es válida si aparece en pantalla el mensaje Prueba superada. Aparecerá un mensaje de error si NO se supera la prueba de conexión. Debe recibir un mensaje Prueba superada para asegurarse de que la conexión de prueba es válida para transmitir datos a Splunk.

    Testing an event stream in the console

  3. Haga clic en Guardar para guardar el flujo de eventos. El flujo de eventos se guarda en la tabla Flujos de eventos de la página Observabilidad.

Gestión de un flujo de eventos

Una vez creado el flujo de eventos en la consola de Metal, podrá gestionarlo desde la pestaña Observabilidad de su organización.

Event Streams Table

Borrar un flujo de eventos

Para detener el flujo de datos a su instancia Splunk, puede eliminar el flujo de eventos. Para eliminar un flujo de eventos, haga lo siguiente:

  1. En la tabla Flujos de eventos, haga clic en el icono de la papelera de la columna Borrar. Aparecerá la ventana Eliminar flujo de eventos.

  2. Introduzca Borre en el campo y pulse, Borre.

Una vez eliminado un flujo, dejará inmediatamente de aceptar nuevos datos de las fuentes, pero seguirá entregando datos en vuelo. Una vez entregados todos los datos en vuelo, el flujo se elimina y se liberan todos los recursos.

Metadatos de eventos Splunk

El Servicio de Observabilidad establece las siguientes claves [Splunk Event metadata para cada evento de registro de auditoría que envía a su flujo:

  • 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

Además de las claves de metadatos estándar de Splunk descritas anteriormente, el Servicio de Observabilidad establece los siguientes campos de índice personalizados para cada evento de registro que envía a su flujo. Estos campos son opcionales y se omitirán si están 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).

Datos de eventos de Splunk

El contenido de la clave event enviada al recolector de eventos HTTP de Splunk como "Datos del evento" es un documento JSON estructurado con información específica de la aplicación sobre los eventos que se están registrando.

Para obtener una referencia completa, consulte la Documentación del esquema de eventos de 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"
}
}
}
¿Fue útil esta página?