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=always
Permite que el contenedor se reinicie automáticamente después de salir para garantizar la disponibilidad.-p 9411:9411
Es 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.7
para evitar problemas incontrolables causados por el uso de la última etiqueta predeterminada. - Si necesita ajustar la configuración, puede usar
-e
pará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
-v
el 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/
4 interfaz de usuario web
lista de solicitudes:
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
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 !