Recopilación de registros
Descripción general del mecanismo de registro
La siguiente tabla presenta una descripción general del mecanismo de registro para el VDA de Linux.
| Módulo de registro | Formato del nombre del archivo de registro | Ejemplo de nombre de archivo de registro | Ámbito de registro | Tamaño máximo de un solo archivo | Umbral de rotación (valores predeterminados) | Configuración |
|---|---|---|---|---|---|---|
| HDX | hdx.log[.n] | hdx.log, hdx.log.1 | Gráficos, inicio de sesión, audio, teclado, ratón | 200 MiB | 1 actual, 2 antiguos | Configurable mediante la utilidad setlog |
| Jproxy | jproxy.log[.n.log] | jproxy.log, jproxy.log.1.log | Registro de VDA, autenticación de usuario | 20 MiB | 1 actual, 10 antiguos | Configurable mediante la utilidad setlog o /etc/xdl/log4j2.xml |
| VDA | vda.YYYY-MM-DD.hh.mm.ss.log | vda.2024-05-06.20.18.40.log | Registro de VDA | 10 MiB | 1 actual, 100 antiguos | Configurable a través de la utilidad setlog o /etc/xdl/brokeragent.conf |
Nota:
- El primer archivo de registro no tiene un número en su nombre, y los archivos subsiguientes se numeran con “.n”, donde “n” representa el número de archivo. Por ejemplo, “hdx.log” es el primer archivo de registro HDX y “hdx.log.1” es el segundo.
- El tamaño máximo para un único archivo de registro se mide en mebibytes (MiB).
- Un archivo de registro que se está generando y aún no ha alcanzado el tamaño máximo para un único archivo se denomina archivo de registro “actual”. Cuando un archivo de registro “actual” alcanza el tamaño máximo para un único archivo, se renueva y se convierte en un archivo de registro “antiguo”.
- El umbral de rotación es configurable para limitar el número de archivos de registro “antiguos” que se pueden conservar. Los archivos de registro más antiguos se eliminarán cuando se alcance el límite.
Configuración de registro
Esta sección proporciona información adicional sobre la configuración de registro, complementando los detalles descritos en la tabla anterior.
Registro habilitado de forma predeterminada para el VDA de Linux
El demonio ctxlogd y la utilidad setlog se incluyen en el paquete de lanzamiento del VDA de Linux. De forma predeterminada, el demonio ctxlogd se inicia después de instalar y configurar el VDA de Linux. Todos los demás servicios que se rastrean dependen del demonio ctxlogd. Puede detener el demonio ctxlogd si no desea mantener el VDA de Linux rastreado.
Configurar el registro del VDA a través de /etc/xdl/brokeragent.conf
Nota:
Si solo desea configurar los niveles de registro para el registro del VDA sin profundizar en otros parámetros de registro, como el tamaño máximo para un único archivo de registro, puede utilizar la utilidad setlog que se describe más adelante en este artículo. De lo contrario, utilice /etc/xdl/brokeragent.conf.
El archivo /etc/xdl/brokeragent.conf en el VDA está disponible para configurar el registro del VDA. Por ejemplo:

Nota:
De forma predeterminada, el número máximo de archivos de registro de VDA “antiguos” que se pueden conservar es 100. Ajústelo según sea necesario.
Configurar el registro de Jproxy a través de /etc/xdl/log4j2.xml
Nota:
Si solo quiere configurar los niveles de registro para el registro de Jproxy sin profundizar en otros parámetros de registro, como el tamaño máximo de un solo archivo de registro, puede usar la utilidad setlog que se describe más adelante en este artículo. De lo contrario, use /etc/xdl/log4j2.xml.
A continuación, se muestra un ejemplo de configuración del registro de Jproxy a través de /etc/xdl/log4j2.xml, donde el parámetro SizeBasedTriggeringPolicy especifica el tamaño máximo de un solo archivo de registro de Jproxy y el parámetro DefaultRollerStrategy establece el número total de archivos de registro de Jproxy que se pueden conservar.

Configurar el registro de HDX™ mediante la utilidad setlog
La utilidad setlog reside en la ruta /opt/Citrix/VDA/bin/. Solo el usuario root tiene el privilegio de ejecutarla. Puede usar la GUI o ejecutar comandos para ver y cambiar las opciones de configuración, incluidos los valores (ruta del archivo de registro, límite de tamaño de un solo archivo y umbral de rotación) y los niveles de registro. Ejecute el siguiente comando para obtener ayuda con la utilidad setlog:
setlog help
<!--NeedCopy-->
Valores
De forma predeterminada, los registros HDX se guardan en /var/log/xdl/hdx.log, el límite de tamaño para un solo archivo de registro HDX es de 200 MiB, y puede guardar hasta dos archivos de registro HDX “antiguos” en /var/log/xdl/hdx.log.
Para ver todos los valores actuales de setlog, ejecute el siguiente comando:
setlog values
log_path (Log Output Path) = /var/log/xdl/hdx.log
log_size (Max Log Size (MiB)) = 200
log_count (Max Old Log Files) = 2
<!--NeedCopy-->
Para ver o establecer un único valor de setlog, ejecute el siguiente comando:
setlog value <name> [<value>]
<!--NeedCopy-->
Por ejemplo:
setlog value log_size 100
<!--NeedCopy-->
Niveles
De forma predeterminada, los niveles de registro se establecen en info (sin distinción entre mayúsculas y minúsculas).
Cuando encuentre un problema que requiera solución de problemas, le recomendamos que establezca el nivel de registro en verbose en la mayoría de los escenarios. Después, reproduzca el problema y recopile los registros.
Para establecer los niveles de registro (incluidos Deshabilitado, Heredado, Traza, Detallado, Información, Advertencias, Errores y Errores graves), ejecute el siguiente comando:
setlog level <class> [<level>]
<!--NeedCopy-->
| Nivel de registro | Parámetro de comando (sin distinción entre mayúsculas y minúsculas) |
|---|---|
| Deshabilitado | ninguno |
| Heredado | heredar |
| Traza | traza |
| Detallado | detallado |
| Información | información |
| Advertencias | advertencia |
| Errores | fallo |
| Errores graves | grave |
La variable <class> especifica un componente del VDA de Linux. Para cubrir todos los componentes, establézcala en all. Por ejemplo:
setlog level all error
<!--NeedCopy-->
Para ver todas las clases o componentes compatibles, ejecute el siguiente comando:
setlog levels
<!--NeedCopy-->
Restaurar valores predeterminados
Revierta todos los niveles y valores a la configuración predeterminada:
setlog default
<!--NeedCopy-->
Importante:
El servicio ctxlogd se configura mediante el archivo /var/xdl/.ctxlog, que solo los usuarios raíz pueden crear. Otros usuarios no tienen permiso de escritura para este archivo. Recomendamos que los usuarios raíz no concedan permiso de escritura a otros usuarios. El incumplimiento puede provocar una configuración arbitraria o maliciosa de ctxlogd, lo que puede afectar al rendimiento del servidor y, por lo tanto, a la experiencia del usuario.
Recopilación de registros
Puede ejecutar el comando bash /opt/Citrix/VDA/bin/xdlcollect.sh para recopilar registros. El script Bash xdlcollect que se utiliza para recopilar registros está integrado en el software del VDA de Linux y se encuentra en /opt/Citrix/VDA/bin.
Una vez finalizada la recopilación de registros, se genera un archivo ZIP en /tmp/xdlcollect en el VDA.
Recopilación y carga de logs AOT
Información general
Esta función recopila logs de Always-On Tracing (AOT) de los componentes del Virtual Delivery Agent (VDA). Admite:
- Solución de problemas difíciles de reproducir
- Comprobaciones diarias de estado
- Gestión centralizada de logs
Los logs se transforman en eventos estructurados y se cargan en un servidor de logs centralizado para consultas y análisis.
Configuración
Configuración de la directiva de grupo
Para habilitar esta función mediante la Directiva de grupo, asegúrese de que el servidor de logs esté configurado correctamente en el Delivery Controller (DDC). Los pasos son los siguientes:
- En Citrix Studio, haga clic en Configuración->Servidor de logs->Editar

- Establezca la dirección y el puerto del servidor de logs para habilitar el reenvío de logs al servidor de logs

Configuración del registro local
Los registros locales tienen mayor prioridad que las directivas. Para habilitar esta función a través del registro local, ejecute los siguientes comandos en el VDA (sustituya <ip> y <port> por los suyos):
Habilitar la recopilación de datos AOT:
Establecer el punto final del servidor de registros:
sudo /opt/Citrix/VDA/bin/ctxreg create \
-k "HKLM\System\CurrentControlSet\Control\Citrix\AOT" \
-t "REG_DWORD" \
-v "EnableAotDataCollection" \
-d "0x00000001" --force
sudo /opt/Citrix/VDA/bin/ctxreg create \
-k "HKLM\System\CurrentControlSet\Control\Citrix\AOT" \
-t "REG_SZ" \
-v "AotDataStoreEndpoint" \
-d "<http/https>://<fqdn-or-ip-address>:<port>" --force
<!--NeedCopy-->
Una vez que cambien las configuraciones de directiva enviadas desde Studio, o las configuraciones de registro local, el servicio ctxvector aplicará automáticamente el cambio en menos de 1 minuto. No es necesario reiniciarlo manualmente.
Autenticación TLS
Esta función admite conexiones HTTP y HTTPS al servidor de registros. Para HTTPS, instale los certificados de CA raíz en el almacén de claves del sistema Linux. El VDA solo puede establecer una conexión HTTPS correctamente después de autenticar el certificado del servidor de registros. El servidor de registros no autentica el VDA.
Solución de problemas
El demonio ctxlogd falla y no se puede reiniciar el servicio ctxlogd si falta el archivo /var/xdl/.ctxlog (por ejemplo, si se ha eliminado accidentalmente).
/var/log/messages:
Apr 1 02:28:21 RH72 citrix-ctxlogd[17881]: Failed to open logging configuration file.
Apr 1 02:28:21 RH72 systemd: ctxlogd.service: main process exited, code=exited, status=1/FAILURE
Apr 1 02:28:21 RH72 systemd: Unit ctxlogd.service entered failed state.
Apr 1 02:28:21 RH72 systemd: ctxlogd.service failed.
<!--NeedCopy-->
Para resolver este problema, ejecute setlog como usuario root para volver a crear el archivo /var/xdl/.ctxlog. A continuación, reinicie el servicio ctxlogd del que dependen otros servicios.