Directorio de artículos
- Creación de clústeres de entorno Red Hat OpenShift 4.8
- ¿Cómo genera openshift los registros json?
- Práctica de openshfit Vertical Pod Autoscaler
- Openshift Certified Helm Charts Practice
- openshift crea una aplicación sin servidor
- práctica de gitops de turno abierto
- práctica de canalización abierta de Tekton
1. Registro JSON
La versión 4.8 de Red Hat® OpenShift® Container Platform incluía soporte de registro JSON, que ahora está nuevamente en la solución de registro.
Los clientes ahora pueden controlar con precisión qué registros de contenedores están en formato json. Pueden etiquetar esquemas JSON comunes para que los sistemas de administración de registros (sistemas Elasticsearch administrados por Red Hat o sistemas de terceros) sepan exactamente qué hacer con esos registros.
Cuando parse: json
se agrega un campo a ClusterLogForwarder
la canalización de un recurso personalizado, el campo de nivel superior se agrega y structured
tiene el prefijo .
Al usarlos para almacenar datos de registro en un clúster integrado de Elasticsearch, se creará un nuevo índice de Elasticsearch para cada canalización nueva. Ir a la página de traducción
El servidor local de Elasticsearch del clúster se enfrenta a un impacto significativo en el rendimiento con cada nuevo índice creado
Objetivos:
- Demostrar registro JSON estructurado
- Consulte un recurso de ClusterLogging personalizado para el proyecto dev-coffee shop
- Visualización de registros estructurados con Kibana
- Explicar cómo enviar registros estructurados a otros recopiladores de registros
2. Agregar registro para el espacio de nombres dev-coffeeshop
Para este ejercicio, utilizará la siguiente ClusterLogForwarder
configuración, que ya está implementada en su clúster.
Para ver la configuración de ClusterLogForwarder:
En la consola web de OpenShift Container Platform, seleccione " Proyecto: Todos los proyectos ".
Utilice el conmutador de perspectiva para cambiar a la perspectiva del Administrador y haga clic en Buscar .
En la lista desplegable " Recursos ", seleccione " ClusterLogForwarder ". Haga clic en la instancia
de CLF y luego en YAML en la página que aparece. Consulte esta configuración para ver las novedades al crear registros JSON:
apiVersion: logging.openshift.io/v1
kind: ClusterLogForwarder
metadata:
name: instance
namespace: openshift-logging
spec:
inputs:
- application:
namespaces:
- dev-coffeeshop
name: dev-coffeeshop-input-example
outputDefaults:
elasticsearch:
structuredTypeKey: kubernetes.namespace_name
# OR
structuredTypeName: dev-coffeeshop-index-name
pipelines:
- inputRefs:
- dev-coffeeshop-input-example
name: pipeline-dev-coffeeshop
outputRefs:
- default
parse: json
- inputRefs:
- infrastructure
- application
- audit
outputRefs:
- default
- Entrada personalizada para iniciar el registro desde
dev-coffeeshop
el espacio de nombres. - La salida predeterminada es el Elasticsearch del clúster, no el servidor remoto.
- Esto configurará un índice de registro estructurado en Elasticsearch basado en el espacio de nombres.
- Una cadena definida por el usuario que nombra el índice, precedida por uno si está presente
structuredTypeKey
. - Una canalización para habilitar el análisis de JSON.
- Canalizaciones para todas las entradas comunes sin análisis JSON.
Cada nueva canalización de registros JSON para Elasticsearch crea un nuevo índice en Elasticsearch. Desde la línea de comando, puede obtener una lista rápida de índices ES:
oc exec $es_pod -c elasticsearch -- indices
Más tarde, veremos registros estructurados disponibles para la aplicación de cafetería en el espacio de nombres dev-coffeshop.
Escriba una consulta en Kibana y structured.message
solo obtenga mensajes de registro de ella.
3. Verifique los registros estructurados en Kibana
En este ejercicio, openshift-logging
accederá a la consola web de Kibana a través de la ruta de Kibana en el espacio de nombres y consultará los registros estructurados.
3.1 Ruta Kibana abierta
1. Busque la URL de Kibana como una ruta desde la perspectiva del administrador de la consola web de OpenShift Container Platform y asegúrese de que esté marcada Project: OpenShift -logging
.
2. En el menú de navegación, vaya a " Network → Routes
".
Espero ver dónde se encuentran los servicios de Kibana.
3. Haga clic en la ubicación para abrirla.
3.2 Modo de creación de índice
- En la consola web de Kibana, haga clic en
Management.
- Haga clic en
Index Patterns
. - Haga clic en
Create index pattern
. - En el
Index pattern
campo, ingreseapp-dev-coffeeshop-*
y luego haga clic enNext Step
. - En el
Time Filter
campo, seleccione@timestamp
. - Haga clic en
Create index pattern
.
3.3 Consultar Elasticsearch con Kibana
- Haga clic en
Discover
. - Si aún no está seleccionado
app-dev-coffeeshop-*
, utilice la lista desplegable de la izquierda para seleccionarloapp-dev-coffeeshop-*
. - En la primera entrada de registro encontrada, haga clic en la flecha derecha ▶ Ver detalles del registro.
- En la parte inferior de la lista, busque
structured
la entrada.elements,
incluyendostructured.hostName
structured.message,
ystructured.level
Cada tipo de entrada de registro con un formato JSON diferente crea un nuevo índice en la base de datos de Elasticsearch para manejar los diferentes structured.*
datos. Ahorre recursos organizando registros en formato JSON estándar como "Apache", "Google", etc.
4. Limpiar la consulta de registro para facilitar la resolución de problemas
Las aplicaciones emiten mensajes constantemente, por lo que necesita una forma de despejar el desorden y ver solo los mensajes y los resultados de la consulta que tienen sentido para su situación. El registro JSON estructurado lo hace más fácil.
Primero, mire un mensaje desordenado donde los datos no son obvios y no se pueden buscar:
Available Field
Busque*t* message
y haga clic a continuaciónadd
.- Observe cómo la salida del registro es más fácil de leer, pero los mensajes aún son vagos; esto es típico cuando se mira cualquier salida.
Información recopilada:
- En
Selected fields
busque*t* message
y haga clic enremove
. - Debajo
Available fields
busque y haga clicadd
en *t* structured.message
,*t* structured.origin
y*t* structured.type
- Tenga en cuenta que aquí solo se muestran los datos clave que necesita para tomar una decisión.
Sería bueno si hubiera algún tipo de orderID
forma de correlacionar los detalles del pedido del origen y el tipo con FINISHED
el estado del pedido de y . COLLECTED
¿Qué cambios de código le pediría a sus desarrolladores que hicieran para lograr este objetivo?
Más adelante en este curso, agregará el espacio de nombres prod-coffeshop a esta canalización de registro y actualizará la consulta.
Ahora, echemos un vistazo a otra función importante de OpenShift Container Platform 4.8: gráficos Helm certificados.