[Tutorial compartido] Docker crea Zipkin para lograr la persistencia de datos en MySQL y ES

1 imagen extraída

Especifique la versión, verifique la versión correspondiente en git, consulte: https://github.com/openzipkin/zipkin

Como 2.21.7

docker pull openzipkin/zipkin:2.21.7

2 comienzo

El puerto predeterminado para Zipkin es 9411. Configure el puerto especificado mediante -e server.port=xxxx al inicio

docker run --name zipkin-server -d --restart=always -p 9411:9411 openzipkin/zipkin:2.21.7
  • --restart=alwaysPermite que el contenedor se reinicie automáticamente después de salir para garantizar la disponibilidad.
  • -p 9411:9411Es el mapeo de puertos, que asigna el puerto predeterminado 9411 dentro del contenedor al puerto 9411 del host para facilitar el acceso.
  • Es un buen hábito especificar el número de versión de la imagen openzipkin/zipkin:2.21.7para evitar problemas incontrolables causados ​​por el uso de la última etiqueta predeterminada.
  • Si necesita ajustar la configuración, puede usar -eparámetros para establecer variables de entorno, por ejemplo: -e JAVA_OPTS="-Xms512m -Xmx512m"para controlar la memoria de Zipkin
  • Los datos se almacenan en la memoria de forma predeterminada. Se recomienda utilizar -vel volumen de mapeo de parámetros para conservar los datos y evitar pérdidas después de reiniciar.

3 Prueba de acceso

Enlace de acceso: http://localhost:9411/zipkin/

imagen-20230827204323093

4 interfaz de usuario web

lista de solicitudes:

imagen-20230827205247092

Haga clic en el primer elemento para ver la página de detalles.

AUTH-SERVICE: obtiene/error el nombre del servicio de almacenamiento y el método de solicitud

imagen-20230827205413561

5 persistencia

Zipkin Server guarda la información de los datos de seguimiento en la memoria de forma predeterminada y los datos de seguimiento no existirán después de reiniciar el servicio. Zipkin admite datos de seguimiento persistentes en MySQL o ES.

Preste atención a la versión de MySQL/ES para la persistencia, en https://github.com/openzipkin/zipkin, puede ver:

Los componentes de ES utilizan funciones de Elasticsearch 5+, pero se ha probado su compatibilidad con Elasticsearch 6-7.x.

Almacena tramos como Zipkin v2 json para la integración con otras herramientas. Para escalar, utiliza una combinación de índices personalizados e implementados manualmente.

Nota: Este almacenamiento requiere un trabajo de Spark para agregar enlaces dependientes.

5.1 Persistencia de MySQL

① Construir una base de datos

como zipkin

② Crear una tabla

Referencia de declaración: https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

③ Modificar el comando de inicio

Zipkin utiliza de forma predeterminada el puerto 9411.

Configure el puerto especificado mediante -e server.port=xxxx al inicio

docker run \
--name zipkin-server -d \
--restart=always \
-p 9411:9411 \
-e MYSQL_USER=root \
-e MYSQL_PASS=lhzlx \
-e MYSQL_HOST=111.229.160.175 \
-e STORAGE_TYPE=mysql \
-e MYSQL_DB=zipkin \
-e MYSQL_TCP_PORT=3316 \
openzipkin/zipkin:2.21.7

④ Verificación

Inicie el servidor zipkin y solicite, reinicie el servidor zipkin nuevamente, se puede ver que todavía hay registros del enlace de solicitud y hay registros en la tabla MySQL.

5.2 Persistencia ES

No es necesario crear ninguna información de configuración, solo especifique la dirección ES al iniciar el jar.

Modifique el comando de inicio en el script para:

docker run \
--name zipkin-server -d \
-p 9411:9411 \
--restart=always \
-e STORAGE_TYPE=elasticsearch \
-e ES_HOSTS=localhost:9200
openzipkin/zipkin:2.21.7

Si se conecta a un clúster ES, --ES_HOSTS está separado por una coma, como por ejemplo: --ES_HOSTS= http://1.1.1.1:9200,http://2.2.2.2:9200

Vincular parámetros de ES

Variable ambiental describir
ES_HOSTS Conecte direcciones ES, las múltiples están separadas por comas. El valor predeterminado es http://localhost:9200
ES_PIPELINE Especificar la tubería antes de indexar el tramo
ES_TIMEOUT Tiempo de espera para conectarse a ES, en ms. El valor predeterminado es 10000(10S)
ES_INDEX El índice utilizado por Zipkin para la persistencia. El valor predeterminado es zipkin.
ES_DATE_SEPARATOR Separador de fechas para indexación Zipkin. El valor predeterminado es-
ES_INDEX_SHARDS El número de fragmentos, el valor predeterminado es 5.
ES_INDEX_REPLICAS El número de réplicas, el valor predeterminado es 1.
ES_HTTP_LOGGING Nivel de registro ES, los valores opcionales son BÁSICO, ENCABEZADOS, CUERPO
ES_NOMBRE DE USUARIO/ES_CONTRASEÑA Nombre de usuario y contraseña para iniciar sesión en ES

¡Este artículo está publicado por OpenWrite, una plataforma de publicaciones múltiples para blogs !

Supongo que te gusta

Origin blog.csdn.net/qq_33589510/article/details/132527924
Recomendado
Clasificación