Situaciones para exportar Cloud Logging: Elasticsearch

En este caso, se muestra cómo exportar los registros seleccionados de Logging a un clúster de Elasticsearch. La situación supone que existe un clúster de Elasticsearch establecido en Elastic Cloud (servicio administrado de Elasticsearch) disponible para la transferencia de registros.

Si eres cliente de Google Cloud, puedes comenzar a usar Elasticsearch a través de Elastic Cloud en Google Cloud Marketplace, que tiene una facturación integrada a través de tu cuenta de Google Cloud.

Elasticsearch es un motor distribuido de búsqueda y estadísticas RESTful que proporciona funciones y servicios avanzados, optimizados para analizar registros, métricas y telemetría estructurados y no estructurados. Elastic Cloud en Google Cloud proporciona supervisión y asistencia líderes de la industria en Elastic y Google. Obtén copias de seguridad automáticas, actualizaciones y los parches de seguridad más recientes con poco tiempo de inactividad o interrupciones.

Puedes usar un proceso similar para Elastic Stack autoadministrado en su cuenta de Google Cloud.

Este artículo forma parte de la serie Patrones de diseño para exportar datos de Logging.

Introducción

Elastic Stack unifica todos los datos operativos y ofrece una búsqueda rápida, confiable y relevante, así como estadísticas en tiempo real. Beats, los transportadores ligeros de datos de Elastic, se alojan en el perímetro o se ejecutan sin servidores como Cloud Function, y se usan para recopilar y transferir datos. Son la forma más sencilla de transferir datos a Elasticsearch para verlos en Kibana.

Logstash sigue siendo una herramienta útil de transferencia si quieres recopilar datos de varias fuentes y transformar de manera significativa tus datos antes de transferirlos a Elasticsearch o exportarlos a una variedad. de resultados. Beats y Logstash se pueden usar juntos, o de manera individual, para enviar datos de registro relacionados con Google Cloud a Elasticsearch si publicas esos eventos en Pub/Sub.

Beats

Beats se envía con módulos ya preparados que se centran en la supervisión, las alertas, y los informes sobre registros y métricas. Este documento se centra en Filebeat, ya que funciona como un buen punto de partida en una solución de observabilidad general, y agrega otros módulos y otras integraciones posteriormente.

Algunos de los casos de uso más populares de Beats son los siguientes:

  • Revisar y generar informes sobre los datos de auditoría mediante Auditbeat
  • Analizar archivos y métricas de registro con Filebeat y Metricbeat
  • Supervisar datos de la nube con un Functionbeat sin servidores (Cloud Function)
  • Mantenerse informado del tráfico de red mediante Packetbeat

En el siguiente diagrama, se muestra un ejemplo de una arquitectura básica para exportar operaciones de Google Cloud Logging a Elasticsearch mediante Beats. Filebeat para el módulo de Google Cloud recopila registros de auditoría, de VPC y de firewall. Si el entorno contiene contenedores, funciones sin servidores, VM o apps, los receptores de Cloud Logging se configuran a fin de enviar los datos filtrados correctamente a un tema de Pub/Sub, que Filebeat enviará a Elasticsearch para la transferencia y la agregación que se buscará y se informará dentro de Kibana.

Ejemplo de flujo de transferencia de Google Cloud a Elastic Cloud.Ejemplo de flujo de transferencia de Google Cloud a Elastic Cloud.

Configura la exportación de registros en tiempo real

En esta sección, crearás la canalización para la exportación de registros en tiempo real de Logging a Elasticsearch a través de Filebeat, mediante Pub/Sub. Se creará un tema de Pub/Sub para recopilar recursos de registro relevantes con filtros definidos mejor, después de que se establezca el servicio receptor y, por último, se configurará Filebeat.

Configura un tema de Pub/Sub

Sigue las instrucciones para configurar un tema de Pub/Sub que recibirá los registros exportados. Asígnale un nombre al tema, como es-auditlogs-export. Los temas también necesitan una suscripción. Por motivos de simplicidad, puedes crear una suscripción con el mismo nombre. Usa la configuración predeterminada cuando configures la suscripción. Puedes configurar los permisos de administración de identidades y accesos más adelante.

Activa registros de auditoría para todos los servicios

Los registros de auditoría de acceso a los datos se encuentran inhabilitados de forma predeterminada, excepto para BigQuery. Si deseas habilitar todos los registros de auditoría

Puedes configurar registros de auditoría en Google Cloud Console.

  1. En Cloud Console, ve al menú IAM y administración.

    Ir a IAM y administración

  2. Haz clic en Registros de auditoría y, luego, en Configuración de auditoría predeterminada.

  3. Asegúrate de que estén seleccionados los tipos de registro correctos; en este caso, Lectura de administración, Lectura de datos y Escritura de datos.

  4. Haz clic en Guardar.

Habilita los registros de auditoría de Google Cloud.Habilita los registros de auditoría de Google Cloud.

De manera opcional, habilita los registros de VPC de Google Cloud y los registros del firewall.De manera opcional, habilita los registros de VPC de Google Cloud y los registros del firewall

Define mejor la exportación de registros con filtros

Una vez que configures las exportaciones agregadas o la exportación de registros, debes definir mejor los filtros de registro para exportar registros de auditoría, registros relacionados con máquinas virtuales, registros de almacenamiento y registros de base de datos.

El siguiente filtro de registros incluye los registros de auditoría de actividad del administrador, de acceso a datos y de eventos del sistema, y los registros para tipos de recursos específicos, en este caso, los buckets de Compute Engine y Cloud Storage, y los recursos de BigQuery.

logName:"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR
"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR
"projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR
resource.type:gce OR
resource.type=gcs_bucket OR
resource.type=bigquery_resource

Reemplaza PROJECT-ID por el ID del proyecto de Google Cloud. Para ver el ID del proyecto, ejecuta el comando gcloud config get-value project. Reemplaza SERVICE por el nombre de tu servicio de Cloud Run.

Crea un servicio receptor

Crear el receptor del enrutador de registros envía los registros correctos al tema de Pub/Sub que transferirá Elasticsearch. La clave es garantizar que se seleccionen los filtros correctos en el objeto. Si deseas obtener más información, consulta Prácticas recomendadas para trabajar con registros de auditoría de Google Cloud.

Para crear el receptor, sigue estos pasos:

  1. En Cloud Console, ve al menú Registro de operaciones y, luego, haz clic en Enrutador de registros.
  2. Asegúrate de que el proyecto de Google Cloud correcto esté seleccionado y, luego, haz clic en Crear receptor.
  3. Selecciona el tema Cloud Pub/Sub y haz clic en Siguiente. Crea el servicio de receptor

  4. Crea un filtro avanzado.

    Crea filtro avanzado.

  5. Ingresa el siguiente texto en la casilla de filtro y borra todo lo que el sistema pueda haber agregado, como resource.type="global" y reemplaza PROJECT-ID por el nombre de tu proyecto.

    logName="projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR
    "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR
    "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR
    resource.type:"gce" OR resource.type="gcs_bucket" OR resource.type="bigquery_resource"
    

    Este filtro sirve como un procedimiento inicial para el cual los registros se pueden transferir a Elasticsearch. Existen otros filtros que puedes configurar con este proceso.

  6. Haz clic en Enviar filtro.

    Visor de registros.

  7. Ingresa el Nombre del receptor gcp_logging_sink_pubsub y establece el Destino del receptor en el es-auditlogs-export que se creó antes.

    Crea un receptor de registros.

    Después de hacer clic en Crear receptor, se presentará una cuenta de servicio única que tiene el derecho de escribir registros en el destino seleccionado. Toma nota de esta información porque la necesitarás para el próximo paso.

En el siguiente comando de gcloud de ejemplo, se crea un receptor llamado gcp_logging_sink_pubsub para enviar los registros de auditoría filtrados correctamente al tema de Pub/Sub es-auditlogs-export. El receptor incluye todos los proyectos secundarios y especifica los filtros para seleccionar registros de auditoría específicos.

gcloud logging sinks create gcp_logging_sink_pubsub \
    pubsub.googleapis.com/projects/PROJECT-ID/topics/es-auditlogs-export \
    --log-filter='logName="projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Factivity" OR "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fdata_access" OR "projects/PROJECT-ID/logs/cloudaudit.googleapis.com%2Fsystem_event" OR resource.type:"gce" OR resource.type="gcs_bucket" OR resource.type="bigquery_resource"'

El resultado del comando es similar al siguiente:

Created [https://logging.googleapis.com/v2/projects/project-id/sinks/gcp_logging_sink_pubsub].
Please remember to grant `serviceAccount:p15060-5219@service-account-id.iam.gserviceaccount.com` the Pub/Sub Publisher role on the topic.
More information about sinks can be found at https://cloud.google.com/logging/docs/export/configure_export

En la entrada serviceAccount que se muestra de la llamada a la API, se indica qué identidad se debe agregar al tema específico de Pub/Sub como publicador. Esta identidad representa una cuenta de servicio de Google Cloud que se creó para la exportación. Hasta que no otorgues a esta identidad los permisos de publicador al tema de destino, las exportaciones de entradas de registro desde este receptor fallarán. Para obtener más información, consulta la siguiente sección o la documentación Otorga acceso a un recurso.

Establece permisos de políticas de IAM para el tema de Pub/Sub

Si agregas la cuenta de servicio al tema es-auditlogs-export con los permisos de publicador de Pub/Sub, otorgas a esta cuenta de servicio permiso para publicar en el tema.

Para agregar permisos a la cuenta de servicio, sigue estos pasos:

  1. En Cloud Console, abre la página Temas de Cloud Pub/Sub:

    IR A LA PÁGINA TEMAS

  2. Haz clic en el nombre del tema es-auditlogs-export.

  3. Haz clic en Mostrar panel de información y, luego, en Agregar miembro para configurar los permisos.

  4. Asegúrate de que el permiso del publicador de Pub/Sub esté seleccionado.

    Selecciona el permiso del publicador de Pub/Sub.

Después de crear la exportación de registros mediante este filtro, los archivos de registro comienzan a propagarse en el tema de Pub/Sub del proyecto configurado. Puedes confirmar que el tema recibe mensajes mediante el Explorador de métricas en Cloud Monitoring. Mediante el uso del siguiente tipo de recurso y métrica, observa la cantidad de operaciones de envío de mensajes realizadas durante un período breve. Si configuraste la exportación de forma correcta, verás la actividad por encima de 0 en el gráfico, como en la siguiente captura de pantalla.

  • Tipo de recurso: Cloud Pub/Sub Topic - pubsub_topic
  • Métrica: Publish message operations - pubsub.googleapis.com/topic/send_message_operation_count
  • Filtro: topic_id="es-auditlogs-export"

Explorador de métricas

Configuración de Filebeat

Ahora que Google Cloud supervisa los registros de auditoría y algunas otras métricas, es hora de instalar y configurar Filebeat, el servidor de envío de datos liviano de Elastic. Debes instalar Filebeat en un host, por ejemplo, una VM que se aloja dentro del mismo proyecto de Google Cloud.

Filebeat está configurado para recopilar y, luego, enviar los registros publicados a Elasticsearch, pero puedes configurarlo con facilidad para que realice mucho más, como supervisar aplicaciones, contenedores y métricas del sistema mediante módulos empaquetados previamente, muchos con visualizaciones y paneles precompilados.

Crea una cuenta de servicio

Mientras preparas la configuración de Filebeat, debes generar una cuenta de servicio de Google Cloud y un archivo de claves correspondiente. Si no estás familiarizado con este proceso, consulta Crea y administra claves de cuentas de servicio. Exporta el archivo en formato JSON y asígnale un nombre como gcp-es-service-account.json.

Usa este archivo con Filebeat para autenticarte en el tema de Pub/Sub adecuado. Guarda el archivo en el host que ejecuta Filebeat. En un paso posterior, lo moverás y colocarás en la ubicación correcta.

Proporciona a la cuenta la función Editor de Pub/Sub. Para obtener más información, consulta Control de acceso de Pub/Sub.

Función de editor de cuenta de servicio de Pub/Sub.

Instala Filebeat

En este artículo, se supone que tienes un host que puede ejecutar Filebeat y una implementación de Elastic Cloud existente. Sin embargo, la creación de uno solo tarda unos minutos. Por ahora, si no tienes uno y necesitas un poco de orientación, visita la guía de introducción de Elasticsearch.

Puedes seguir la guía de instalación y configuración de Inicio rápido de Filebeat, o en un sistema yum/RPM puedas ejecutar lo siguiente:

sudo yum install filebeat

Aún mejor, sigue las instrucciones que encontrarás directamente en Kibana.

  1. Primero, haz clic en Agregar datos de registro en la página principal de Kibana.

    Agrega datos de registro en Kibana.

  2. Desplázate hacia abajo y haz clic en Registros del sistema o en otro módulo a fin de obtener instrucciones para descargar y configurar Filebeat. No es necesario que habilites ese módulo.

    Filebeat incluye muchos módulos ya preparados. Si quieres usarlas, solo debes habilitarlas y configurarlas. En este procedimiento, no necesitas habilitar el módulo Registros del sistema. En su lugar, habilita el módulo de Google Cloud.

  3. Elige tu sistema operativo.

    Si el sistema operativo no aparece en la lista, deberás seguir la guía de la Guía de inicio rápido, aunque esta página también proporciona información que necesitarás más adelante.

  4. Descarga e instala Filebeat de acuerdo con las instrucciones, por lo general, mediante un comando curl.

    Las implementaciones de Windows deberán descargarse.

Configura Filebeat

En el siguiente procedimiento, se usa el usuario precompilado elastic y la contraseña generada. Se recomienda crear una función o un usuario único que se use para entornos de producción.

Para obtener detalles sobre cómo configurar la función y el usuario, consulta Otorga privilegios y funciones necesarios para la configuración.

El usuario elastic es un superusuario y la cuenta debe reservarse solo con fines administrativos o de prueba. Si es necesario restablecer la contraseña del usuario, se deberá restablecer desde cualquier lugar donde se use. Por este motivo, en entornos de producción, es mejor configurar un usuario único para cada propósito previsto.

Básicamente, existen dos opciones para establecer la autenticación entre Filebeat y Elasticsearch: configurar un almacén de claves o codificar las credenciales en el archivo de configuración filebeat.yml.

Para cualquiera de las siguientes opciones, deberás configurar cloud.id y cloud.auth.

Puedes obtener el cloud.id en los pasos anteriores de Instala FileBeat en Kibana o desde la página de administración de implementaciones de servicios de Elasticsearch.

Si aún no guardaste la contraseña de autorización durante el proceso de implementación, puedes restablecerla para el usuario elastic. Instrucciones para restablecer la contraseña de usuario elastic.

Opción 1: Usa el almacén de claves

Una manera más segura de autenticar Filebeat con Elastic Cloud es usar el almacén de claves de Filebeat, para almacenar valores secretos de forma segura.

Ejecuta el comando filebeat keystore en el host que ejecuta Filebeat. Este almacén de claves encripta el ID de Cloud y la contraseña de usuario, y ofrece la capacidad de usarlos como variables en Filebeat o en cualquier otro.

Los siguientes pasos se aplican a una máquina Linux. Si necesitas ayuda con tu sistema operativo, consulta la Guía de inicio rápido, ya que los comandos difieren un poco.

  1. Crea el almacén de claves:

    sudo filebeat keystore add ES_PWD

    Cuando se te solicite, pega la contraseña que se te proporcionó para el usuario elástico durante la implementación o cuando la restaures. De lo contrario, si creaste un usuario, ingresa la contraseña de este.

  2. Agrega la implementación cloud.id:

    sudo filebeat keystore add CLOUD_ID

    Cuando se te solicite, pega el ID de Cloud. (No incluyas comillas si haces referencia a los pasos de instalación de Filebeat).

  3. Actualiza el archivo filebeat.yml para usar estas variables nuevas y asegúrate de que estás en el directorio en el que está el archivo filebeat.yml, o cerciórate de ingresar la ruta completa del directorio al archivo existente.

    echo cloud.id: \"\$\{CLOUD_ID\}\" >> filebeat.yml
    echo cloud.auth: \"elastic:\$\{ES_PWD\}\" >> filebeat.yml
    
  4. Otros comandos útiles del almacén de claves:

    sudo filebeat keystore list: Muestra todos los almacenes de claves.

    sudo filebeat keystore --help: Obtén ayuda del comando

  5. Consulta Configura el módulo de Google Cloud.

Para obtener más información, consulta la documentación del almacén de claves.

Opción 2: Modifica el archivo directamente

También puedes seguir las instrucciones de la página de instalación en Instala Filebeat o la Guía de inicio rápido, que describe la configuración del archivo filebeat.yml (el diseño del directorio depende de tu entorno) agregando directamente la información de la credencial a ese archivo.

  1. Para que Filebeat envíe datos a Elasticsearch, debes establecer dos variables, cloud.id y cloud.auth, que se encuentran en el archivo filebeat.yml.

    Ejemplo:

    # ====== Elastic Cloud =================
    cloud.id: "gcp_filebeat:dXMtY2VudHJhjQZjJkODdkOGJjNmJi" cloud.auth: "elastic:<password>"
    

    En el ejemplo anterior, gcp_filebeat es el nombre de la implementación y <password> se debe reemplazar por la contraseña que asignaste.

Configura el módulo de Google Cloud

Una vez que el archivo filebeat.yml esté configurado para conectarse a tu servicio Elasticsearch, debes habilitar y, luego, configurar el módulo Google Cloud.

  1. Habilita el módulo de googlecloud. Por ejemplo, en Linux, ingresa lo siguiente:

    sudo filebeat modules enable googlecloud

    Sugerencia: Para averiguar qué módulos están habilitados, ejecuta el siguiente comando:

    sudo filebeat modules list

  2. Después de habilitar el módulo googlecloud, debes configurar el archivo de configuración YAML específico que se encuentra en el directorio modules.d. Puede ser /usr/share/filebeat o el lugar en el que se extrajeron los archivos.

Ejemplo de configuración de googlecloud.yml que habilita los registros de auditoría:

# open {path}/modules.d/googlecloud.yml, add the following

- module: googlecloud
  audit:
    enabled: true
    var.project_id: project-id
    var.topic: es-auditlogs-export
    var.subscription_name: es-auditlogs-export
    var.credentials_file: ${path.config}/gcp-es-service-account.json

La ubicación del archivo var.credentials_file depende del sistema. Puedes ejecutar el siguiente comando test config para mostrar dónde apunta la Ruta de configuración y dónde debe estar publicado ese archivo de credenciales. También consulta la página de diseño de directorios en Elastic.

  1. Asegúrate de que la configuración de recopilación vpcflow y firewall no estén habilitadas.

    - module: googlecloud
      vpcflow:
        enabled: false
      firewall:
        enabled: false
    
  2. Prueba la configuración mediante la ejecución de un comando similar:

    sudo filebeat test config -e

  3. Coloca el archivo JSON exportado, desde el paso Crea una cuenta de servicio, en la ubicación determinada por el comando anterior para Config path.

    En Linux CentOS, con Filebeat versión 7.9.2, la ubicación es la ubicación extraída:

    Ruta de configuración: [/home/UserName/filebeat-7.9.2-linux-x86_64]

    Si se instaló mediante un sistema de empaquetado, la ubicación será /etc/filebeat.

  4. Ejecuta el comando de configuración, que garantiza que los registros importados se puedan analizar e indexar correctamente, y proporciona visualizaciones predefinidas, incluidos los paneles.

    sudo filebeat setup

  5. Inicia filebeat:

    sudo filebeat -e

Si se produce algún error cuando inicias el servicio, los registros deben proporcionar información útil. Un problema común es dónde se coloca el archivo de configuración. El error indicará dónde se debe ubicar el archivo de configuración en este caso. Otros problemas comunes están relacionados con la autenticación con la cuenta de servicio que creaste.

Si tienes problemas con la configuración, puedes publicar preguntas y buscar situaciones similares en el Foro de discusión de Elastic.

Usa los registros exportados

Una vez que Elasticsearch transfire los registros exportados, puedes acceder a Kibana y revisar el panel Filebeat GoogleCloud Audition, donde obtienes estadísticas sobre lo siguiente:

  • Ubicaciones de fuentes de auditoría (representadas por un mapa de coordenadas)
  • Resultado de eventos de auditoría a lo largo del tiempo (representado por un gráfico de barras vertical)
  • Acción de evento de auditoría (representado por un gráfico circular)
  • Correo electrónico del usuario superior de auditoría (representado por la nube de etiquetas)
  • Usuario-agente de auditoría (representado por un gráfico circular)
  • Nombre del recurso de auditoría (representado por un gráfico circular)
  • Eventos de auditoría (enumerados en una tabla de datos o en un formato JSON)

Panel de registro de auditoría.

Logstash

Si deseas instalar y usar Logstash, transformar tus datos y, luego, enviarlos a Elasticsearch, puedes seguir estos pasos. Para comenzar, o si estás en una situación de prueba, puedes usar la misma VM que ejecuta Beats. Sin embargo, en un entorno de producción, es mejor tener un servidor dedicado.

Configura Logstash

  1. Descarga e instala Logstash siguiendo la guía Comienza a usar Logstash. Esta guía proporciona varias opciones de implementación según el entorno, además de indicar los requisitos y requisitos previos más recientes, como la versión de Java, y la configuración de su variable de entorno de inicio..

  2. Puedes usar Logstash para transferir registros desde Filebeat (opción 1) o directamente desde Pub/Sub (opción 2). En cualquier caso, debes conocer el extremo Elasticsearch y la contraseña de usuario elastic, que puedes encontrar en la consola de Elastic Cloud.

    Es probable que hayas guardado la contraseña de elastic durante la implementación, pero, si necesitas hacerlo, puedes restablecerla si haces clic en el vínculo Seguridad en la misma consola.

    Extremo de Logstash.

Opción 1

Debido a que Filebeat ya se configuró para extraer datos de Pub/Sub, puedes incorporar esos datos de Filebeat a una canalización de Logstash, transformarlos y, luego, enviarlos a Elasticsearch.

  1. Para modificar el archivo /etc/filebeat/filebeat.yml, marca como comentario la cloud.id y cloud.auth que se configuraron antes.

    # ====== Elastic Cloud =================
    #cloud.id: "xxx"
    #cloud.auth: "xxx"
    
  2. Comenta las líneas output.elasticsearch y hosts en Resultado de Elasticsearch.

    # ------ Elasticsearch Output -------------------
    #output.elasticsearch:
    # Array of hosts to connect to.
    #hosts: ["localhost:9200"]
    
  3. Quita el numeral (#) delante de hosts en Resultado de Logstash.

    # ------ Logstash Output -------------------
    #output.logstash:
    # The Logstash hosts
    hosts: ["localhost:5044"]
    

    Esto enviará la salida de Filebeat al host local, que ejecuta Logstash en esta situación, a través del puerto 5044. Logstash, de forma predeterminada, escucha en este puerto por lo que no debe modificarse.

  4. Crea un archivo de configuración de canalización de Logstash.

    sudo vim /etc/logstash/conf.d.beats.conf

    Este archivo contendrá lo siguiente:

    input {
      beats {
        port => 5044
      }
    }
    
    output {
      stdout { codec => rubydebug } #Used to validate/troubleshoot
      elasticsearch {
        hosts => ["https://f3041.us-central1.gcp.cloud.es.io:9243"]
        user => "elastic"
        password => "glnvy8k27gwQE8pVPaxW35a"
        index => "logstash-%{+YYYY.MM.dd}"
      }
    }
    

Opción 2

Si prefieres usar Logstash directamente, en lugar de usar Filebeat, sigue estos pasos para configurar el complemento de entrada de Pub/Sub para Logstash.

  1. Según las instrucciones, primero debes instalar el complemento mediante la ejecución del siguiente comando o de manera similar en tu entorno. El directorio de un entorno Linux es /usr/share/logstash, pero puede variar según el sistema.

    bin/logstash-plugin install logstash-input-google_pubsub

  2. La autenticación de Google Cloud es la misma para la instalación de Filebeat. Puedes consultar los pasos anteriores en Crea una cuenta de servicio en este documento. A continuación, aparecerá una entrada para el archivo JSON de clave.

  3. Crea un archivo de configuración de Pub/Sub para guardarlo en el directorio de logstash, por lo general /etc/logstash/conf.d, con el nombre pub_sub.conf.

    El archivo de configuración debería ser similar al siguiente. El hosts es el extremo de Elasticsearch.

    entrada { google_pubsub { project_id => "project-id" topic => "es-auditlogs-export" subscription => "es-auditlogs-export" json_key_file => "gcp-es-service-account.json" } }

    resultado { stdout { codec => rubydebug } #Used to validate/troubleshoot elasticsearch { hosts => ["https://f3041.us-central1.gcp.cloud.es.io:9243"] user => "elastic" password => "glnvy8k27gwQE8pVPaxW35a" index => "logstash-%{+YYYY.MM.dd}" } }

Si continúas con ambas opciones, inicia Logstash y, luego, usa Kibana para obtener estadísticas.

  1. Debes ejecutar Logstash como un servicio en sistemas como Linux; cuando se use el administrador de paquetes para instalar Logstash, debes ejecutarlo como un servicio, es decir, sudo service logstash start. Consulta Ejecuta Logstash como servicio en Debian o RPM para obtener más detalles sobre otros sistemas.
  2. A fin de validar el servicio, ejecuta un comando similar a este para Linux:

    sudo journalctl -u logstash -f
    

Visualiza la colección de Logstash en Kibana

Ahora que se están enviando los registros de Pub/Sub a Elasticsearch mediante Logstash, debes realizar algunas acciones en Kibana para ver los datos.

  1. Abre Kibana y ve a Administración de pila.

    Administración de pilas de Kibana

  2. Haz clic en Kibana > Patrones de índice.

    Patrón de índice de Kibana

  3. Haz clic en Crear patrón de índice.

    Kibana crea un patrón de índice.

  4. Ingresa logstash-* en el campo Nombre del patrón del índice. Deberías ver la coincidencia del patrón del índice, debido a los pasos anteriores que ejecutan Logstash.

    Kibana define el patrón del índice.

  5. Haz clic en Siguiente paso.

  6. Selecciona @timestamp para el filtro de campo Tiempo y, luego, haz clic en Crear patrón de índice.

    Marca de tiempo de selección de Kibana.

  7. Haz clic en Descubrir.

    Descubrimiento de Kibana.

  8. Asegúrate de que el patrón de índice logstash-* esté seleccionado.

    Índice de selección de Kibana

  9. Ahora puedes visualizar los datos transferidos. Obtén más información sobre lo que puedes hacer con Kibana., como el uso de Registros, que pueden correlacionar registros y métricas.

    Por ejemplo, agrega el índice logstash-* a la lista de patrones, separados por una coma, como en la siguiente captura de pantalla.

    Datos de visualización de Kibana.

Próximos pasos con Logstash

Regístrate para mirar el video de seminario en línea Comenzar con Logstash. En este video, se explica la información general de Logstash, su arquitectura, su diseño de archivos importantes, cómo configurar canalizaciones con filtros, y cómo usar las técnicas de transformación de datos y enriquecimiento.

¿Qué sigue?