ADC

Registros

Los registros se refieren a los datos generados por el software que contienen información sobre los patrones de uso, las actividades y las operaciones dentro de un sistema operativo, una aplicación, un servidor u otro dispositivo. Los archivos que almacenan estos registros se denominan archivos de registro. Los archivos de registro son la fuente de datos principal para la observabilidad de la red.

En este tema se tratan los siguientes temas:

Registros de auditoría

La auditoría es un examen metódico o una revisión de una condición o situación. La función de registro de auditorías le permite registrar los estados y la información de estado de NetScaler recopilada por varios módulos. La información de registro puede estar en el núcleo y en los demonios de nivel de usuario.

Puede configurar NetScaler para almacenar la información de registro localmente en NetScaler o exportarla a un servidor remoto, o ambos. Para obtener más información sobre los registros de auditoría, consulte Registros de auditoría.

Configurar registros de auditoría

Para obtener información sobre cómo configurar NetScaler para el registro de auditoría, consulte Configuración del dispositivo NetScaler para el registro de auditoría.

Ejemplo de registro de auditoría

El siguiente es un ejemplo de registro de auditoría:

May 31 02:05:23 <local0.info> 10.106.44.21  05/31/2024:06:05:23 GMT HA1 0-PPE-0 : default API CMD_EXECUTED 7825 0 :  User admuser -
ADM_User NONE - Remote_ip 10.106.44.21 - Command "show ns license" - Status "Success"
<!--NeedCopy-->

La siguiente imagen describe el registro de auditoría:

Formato de registro de auditoría

Exportar registros de auditoría

Puede exportar los registros y eventos de auditoría de NetScaler a plataformas de agregación de registros estándar del sector, como Splunk, y obtener información valiosa. Para obtener más información, consulte Exportar registros y eventos de auditoría directamente de NetScaler a Splunk.

Registros de administración

Los registros de administración son los registros que generan los procesos que se ejecutan en el núcleo de administración de NetScaler. (Por ejemplo, bash, httpd). Los mensajes que forman parte de los siguientes archivos de registro se exportan como parte de los registros de administración:

  • Registros de shell o plataforma

    • bash.log: el proceso bash crea el archivo de registro. Registra los comandos procesados por el shell bash.
    • sh.log: el proceso sh crea el archivo de registro. Registra los comandos procesados por el shell sh.

Registros de acceso

  • auth.log: El archivo de registro registra toda la actividad de SSHd y la actividad de Console.

  • nsvpn.log: El archivo de registro registra información detallada sobre las actividades y los eventos de la red privada virtual (VPN).

  • httpaccess.log: El archivo de registro registra cualquier actividad HTTP dirigida a la dirección IP de administración que se registra. Por lo general, este archivo de registro incluye el acceso a la GUI de NetScaler, la API NITRO y el acceso a la VPN.

  • httperror.log: El archivo de registro registra cualquier actividad HTTP dirigida a la dirección IP de administración y que genere un error debido a cualquier tiempo de espera (por ejemplo, si se ha alcanzado el tiempo de espera máximo de PHP) o a cualquier error de programación en el back-end. Los reinicios periódicos de Apache también se registran en este archivo.

  • httpaccess-vpn.log: El archivo de registro consta de datos de dispositivos de punto final del portal de gateway servidos por apache a los que acceden los usuarios, junto con la fecha y la hora.

  • httperror-vpn.log: El archivo de registro consta de datos de dispositivos de punto final del portal de gateway servidos por apache a los que acceden los usuarios, junto con la fecha y la hora.

Registros de administración de NetScaler

  • notice.log: El archivo de registro es un flujo de datos de syslog y registra los registros de syslog que se generan de acuerdo con el flujo de datos de “aviso” de syslogd.

  • ns.log: El archivo de registro contiene el registro del sistema NetScaler. Los registros generados por varios módulos de NetScaler (por ejemplo, equilibrio de carga, SSL, firewall de aplicaciones) se escriben en este archivo. Durante la exportación, solo se exporta el contenido de ns.log escrito por los procesos de administración. Los registros escritos por los procesos de NSPPE no se exportan.

La ejecución de syslogd en NetScaler registra los registros de administración en los archivos de registro respectivos, que son generados por varios procesos que se ejecutan en el núcleo de administración. Los registros de administración se exportan periódicamente, normalmente cada 60 segundos.

Configurar la exportación de registros de administración

Puede configurar la exportación de los registros de administración mediante uno de los métodos siguientes:

  • Configurar la exportación de registros de administración a un servidor syslog
  • Configurar la exportación de los registros de administración a un servidor HTTP o punto final HEC, como Splunk

Configurar la exportación de registros de administración al servidor Syslog

Para configurar la exportación de los registros de administración, debe realizar los siguientes pasos:

  1. Cree una acción de syslog de auditoría en NetScaler con la opción de registro de administración.
  2. Cree una directiva de auditoría de syslog con la acción de syslog.
  3. Vincula la directiva de auditoría de syslog con la entidad global del sistema para permitir el registro de todos los eventos del sistema NetScaler.
Configurar la acción de auditoría de syslog

Para configurar la acción de auditoría de syslog en NetScaler mediante la CLI, ejecute el siguiente comando:

add audit syslogAction <name> (<serverIP> [-serverPort <port>] -logLevel <logLevel> ... [-managementlog <managementlog> ...] ... [-managementloglevel <managementloglevel> ...][-transport ( TCP | UDP )])
<!--NeedCopy-->

Ejemplo:

add audit syslogAction test 10.106.186.102 -serverPort 514 -logLevel ALL -managementlog SHELL NSMGMT -managementloglevel ALL -transport TCP
<!--NeedCopy-->

En esta configuración:

  • name: Nombre de la acción de syslog
  • serverIP: dirección IP del servidor syslog.
  • serverPort: puerto en el que el servidor syslog acepta conexiones.
  • logLevel: Nivel de registro de auditoría.
  • managementlog: tipos de registros de administración que debe exportar.
  • managementloglevel: niveles de registro de administración que desea establecer para la exportación.
  • transport: el tipo de transporte utilizado para enviar los registros de auditoría al servidor syslog.

Nota:

Cuando los registros de administración están habilitados, la configuración de SyslogAction solo admite la configuración de puertos y direcciones IP del servidor. No se admiten las configuraciones de nombres de servidores virtuales de equilibrio de carga y de servicio basado en dominios (DBS).

Para los registros de administración del equilibrio de carga exportados a varios servidores syslog externos, puede usar el siguiente ejemplo de configuración:

add service syslog_server <server_ip> UDP <port>

add service syslog_server1 1.3.4.4 UDP 514

add service syslog_server2 1.3.4.5 UDP 514

add lb vserver lb1 UDP <lb_vip> <lb_port>

bind lb vserver lb1 syslog_server1

bind lb vserver lb1 syslog_server2

En SyslogAction, configure lo siguiente:

add syslogAction sys1 <server_ip> -serverPort <server_port> -transport UDP -loglevel <loglevel>

add syslogAction sys1 lb_vip -serverPort lb_port -transport UDP -loglevel <loglevel>

Para configurar la acción de auditoría de syslog en NetScaler mediante la GUI, lleve a cabo los siguientes pasos:

  1. Vaya a la ficha Sistema > Auditoría > Syslog > Servidor y haga clic en Agregar.
  2. En la página Crear servidor de auditoría, proporcione los siguientes detalles:
    1. Introduzca un nombre para el servidor Syslog.
    2. Seleccione IP del servidor en la lista Tipo de servidor e introduzca la dirección IP y el puerto del servidor syslog.
    3. Elija los niveles de registro necesarios en las secciones Niveles de registro, Registros de administración y Niveles de registro de administración.
  3. Haga clic en Crear.
Configurar la directiva de auditoría de syslog

Para configurar una directiva de auditoría de syslog mediante la CLI, ejecute el siguiente comando:

add audit syslogPolicy <name> TRUE <syslogAction>

Ejemplo:

add audit syslogPolicy test-policy TRUE test

Para configurar una directiva de auditoría de syslog mediante la GUI, lleve a cabo los siguientes pasos:

  1. Vaya a la ficha Sistema > Auditoría > Syslog > Directivas y haga clic en Agregar.
  2. En la página Crear directiva de auditoría de syslog, introduzca un nombre, seleccione Directiva avanzada y, a continuación, seleccione el servidor syslog de auditoría que creó en la lista Servidor.
Directiva de registro de auditoría enlazado

Para vincular la directiva de registro de auditoría de syslog al punto de enlace SYSTEM_GLOBAL mediante la CLI, ejecute el siguiente comando:

bind audit syslogGlobal <policyname> -globalBindType SYSTEM_GLOBAL

Ejemplo:

bind audit syslogGlobal test-policy -globalBindType SYSTEM_GLOBAL

Para vincular la directiva de registro de auditoría de syslog globalmente mediante la GUI, ejecute el siguiente comando:

  1. Vaya a la ficha Sistema > Auditoría > Syslog > Directivas y seleccione la directiva de auditoría de syslog que creó.
  2. Haga clic con el botón secundario en la directiva de auditoría de syslog seleccionada y, a continuación, haga clic en Advanced Policy Global Bindings.
  3. Seleccione la directiva de auditoría de syslog que creó en la lista Seleccionar directiva.
  4. Introduzca la prioridad en el campo Prioridad.
  5. Seleccione SYSTEM_GLOBAL en el campo Tipo de enlace global y haga clic en Enlazar.
  6. En la página Auditoría de Syslog, seleccione la directiva de auditoría de Syslog y haga clic en Listo.

Una vez que la configuración se realiza correctamente, los registros de administración se envían como cargas útiles de syslog al servidor syslog externo.

Configurar la exportación de registros de administración a Splunk configurado como servidor HTTP

Puede configurar Splunk como servidor HTTP. En la configuración del servidor HTTP, puede utilizar el recopilador de eventos HTTP para enviar registros de administración a través de HTTP (o HTTPS) directamente a la plataforma Splunk desde su NetScaler. Para obtener más información, consulte Exportar registros de administración a Splunk configurado como servidor HTTP.

Registro de administración de ejemplo

A continuación se muestra un ejemplo de registro de administración:

10.222.4.55 10.217.11.103 [04/Oct/2023:18:38:34 +0000] [43533] "GET / HTTP/1.1" 200 20783 "Go-http-client/l.1" "Time: 38848 microsecs"

127.0.0.1 [04/0ct/2023:16:30:00 +0000] [16510] "GET / HTTP/1.1" 200 20783 “curl/7.87.0" "Time: 42015 microsecs"

[Wed Oct 04 16:00:00.093670 2023] [authz_core:error] [pid 7487] [client 127.0.0.1:16161] AH01630: client denied by server configuration: /netscaler/ns_gui/var
<!--NeedCopy-->

La siguiente imagen describe el registro de administración:

Formato de registro de administración

El siguiente es un ejemplo de registro bash:

Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="PATH=/netscaler:/bin:/sbin:/usr/bin:/usr/sbin:/usr/libexec:/usr/local/bin:/usr/local/sbin:."
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="EDITOR=/usr/bin/vi"
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="[ -f /var/python/bin/python ]"
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="export PATH=$PATH:/var/python/bin"
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="[ -f /var/golang/bin/go ]"
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 return_code="1"
Apr 24 11:21:00 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command=""
Apr 24 11:21:12 <local7.notice> ns bash[3893]: root on /dev/pts/0 shell_command="cat /var/log/bash.log"
<!--NeedCopy-->

El siguiente es un ejemplo de registro httpaccess:

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:07:11 +0530] [1571] "GET /nitro/v1/config/route6?format=json&sessionid=[FILTERED] HTTP/1.1" 200 1162 "-" "-" "Time: 9797 microsecs"

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:07:11 +0530] [1571] "GET /nitro/v1/config/nslicense?format=json&sessionid=[FILTERED] HTTP/1.1" 200 1118 "-" "-" "Time: 7774 microsecs"

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:07:11 +0530] [1571] "GET /nitro/v1/config/appflowparam?format=json&sessionid=[FILTERED] HTTP/1.1" 200 1643 "-" "-" "Time: 8098 microsecs"

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:07:12 +0530] [1571] "GET /nitro/v1/config/snmpmib?format=json&sessionid=[FILTERED] HTTP/1.1" 200 347 "-" "-" "Time: 8185 microsecs"

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:11:16 +0530] [1570] "GET /nitro/v1/config/nslicense?format=json&sessionid=[FILTERED] HTTP/1.1" 200 1118 "-" "-" "Time: 23195 microsecs"

10.102.201.155 -> 10.102.201.155 - - [10/Jun/2024:23:11:17 +0530] [1570] "GET /nitro/v1/config/nslicenseserver?format=json&sessionid=[FILTERED] HTTP/1.1" 200 57 "-" "-" "Time: 8992 microsecs"
<!--NeedCopy-->

El siguiente es un ejemplo de registro httperror:

[Mon Jun 10 15:00:01.016898 2024] [mpm_prefork:notice] [pid 47106] AH00171: Graceful restart requested, doing restart

[Mon Jun 10 15:00:01.323746 2024] [mpm_prefork:notice] [pid 47106] AH00163: Apache/2.4.56 (Unix) mod_perl/2.0.10 Perl/v5.30.2 configured -- resuming normal operations

[Mon Jun 10 15:00:01.323756 2024] [core:notice] [pid 47106] AH00094: Command line: '/bin/httpd -f /etc/httpd.conf'

[Mon Jun 10 15:30:00.211099 2024] [authz_core:error] [pid 80696] [client 127.0.0.1:31128] AH01630: client denied by server configuration: /netscaler/ns_gui/var

[Mon Jun 10 15:38:06.205307 2024] [authz_core:error] [pid 80696] [client 127.0.0.2:24903] AH01630: client denied by server configuration: /netscaler/ns_gui/var
<!--NeedCopy-->

El siguiente es un ejemplo de registro auth:

Jun 13 12:03:33 <auth.info> ns login: login on pts/1 as root
Jun 13 12:03:33 <auth.info> ns sshd[17798]: Received disconnect from 10.102.201.155 port 33145:11: Normal Shutdown
Jun 13 12:03:33 <auth.info> ns sshd[17798]: Disconnected from user admuser 10.102.201.155 port 33145
Jun 13 12:03:33 <auth.info> ns sshd[17803]: rexec line 19: Deprecated option UsePrivilegeSeparation
Jun 13 12:03:34 <auth.info> ns sshd[17803]: Accepted keyboard-interactive/NS for admuser from 10.102.201.155 port 65127 ssh2
<!--NeedCopy-->

El siguiente es un ejemplo de registro nsvpn:

Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) extract_ldap_attribute: retrieved mail value mail@citrix.com for Complex1, length is 15
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) receive_ldap_user_search_event: extracted attribute, name: mail, value: mail@citrix.com
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) receive_ldap_user_search_event: built group string for Complex1 of:group5 group4 group3 g1
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) receive_ldap_user_search_event: User search succeeded, attempting user authentication(Bind) for <Complex1>
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) receive_ldap_user_bind_event: Got user bind event.
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) receive_ldap_user_bind_event: User authentication (Bind event) for user Complex1 succeeded
Jun  6 09:18:16 <local1.notice> ns [1289]: (0-15) send_accept: sending accept to kernel for : Complex1
Jun  6 09:18:16 <local1.info> ns [1289]: (0-15) aaad_alloc_serialize_keyValue_attrs:  2 custom attribute key_len 4  value_len 15
Jun  8 06:21:48 <local1.info> ns [1289]: (0-62) aaad_remove_user_login_failure_info:  sqlite3_step is SUCCESS
<!--NeedCopy-->

El siguiente es un ejemplo de registro httperror-vpn:

[Thu Jun 06 17:43:38.184137 2024] [core:error] [pid 63478] (63)File name too long: [client 127.0.0.2:42117] AH00036: access to /logon/L                                                                                                                                                       ogonPoint/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaResources/List failed (filesystem path '/var/netscaler/logon/LogonPoint/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa                                                                                                                                                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaResources')
[Thu Jun 06 17:44:23.338278 2024] [core:info] [pid 63475] [client 127.0.0.2:65214] AH00128: File does not exist: /var/netscaler/logon/L                                                                                                                                                       ogoqqqqnPoint/Resources/List
[Thu Jun 06 17:44:41.245211 2024] [core:info] [pid 63476] [client 127.0.0.2:56821] AH00128: File does not exist: /var/netscaler/logon/L                                                                                                                                                       og@
[Tue Jun 11 10:10:55.360797 2024] [core:info] [pid 37517] [client 127.0.0.2:53996] AH00128: File does not exist: /netscaler/ns_gui/vpn/                                                                                                                                                       pluginCustomization.json
[Mon Jun 17 14:11:15.816726 2024] [core:info] [pid 63188] [client 127.0.0.2:27594] AH00128: File does not exist: /netscaler/ns_gui/vpn/                                                                                                                                                       pluginCustomization.json
<!--NeedCopy-->

El siguiente es un ejemplo de registro httpaccess-vpn:

127.0.0.2 - - [20/Jun/2024:08:37:47 +0000] [1508] "GET /logon/LogonPoint/custom/strings.en.js?_=1718869081399 HTTP/1.1" 304 -          "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "Time: 529 microsecs"
127.0.0.2 - - [20/Jun/2024:08:37:47 +0000] [1508] "GET /logon/LogonPoint/plugins/ns-gateway/nsg-epa.js HTTP/1.1" 304 - "-" "Mo         zilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "Time: 303 microsecs"
127.0.0.2 - - [20/Jun/2024:08:37:47 +0000] [1508] "GET /logon/LogonPoint/plugins/ns-gateway/nsg-setclient.js HTTP/1.1" 304 - "         -" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "Time: 311 microsecs"
127.0.0.2 - - [20/Jun/2024:08:37:47 +0000] [1508] "GET /logon/LogonPoint/plugins/ns-gateway/ns-nfactor.js HTTP/1.1" 304 - "-"          "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "Time: 315 microsecs"
127.0.0.2 - - [20/Jun/2024:08:37:47 +0000] [1508] "GET /vpn/media/citrixgateway_logo_white.png HTTP/1.1" 304 - "-" "Mozilla/5.         0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" "Time: 358 microsecs"
<!--NeedCopy-->

Exportar registros de administración

Puede exportar los registros de administración de NetScaler a plataformas de agregación de registros estándar del sector, como Splunk. Para obtener más información, consulte Exportar registros de administración directamente de NetScalera Splunk.

Solucionar problemas relacionados con los registros de administración

Incluso después de configurar la exportación de los registros de administración, es posible que surjan algunos problemas que impidan que los registros de administración se exporten a los puntos finales de observabilidad. En esta sección se proporcionan sugerencias para solucionar problemas relacionados con los siguientes escenarios:

Los registros de administración no se exportan al servidor syslog

Cuando los registros de administración no se exporten al servidor syslog, haga lo siguiente:

  1. Compruebe si ha habilitado algunos registros de administración en la acción syslog.

    Caso

    John, un administrador del sistema, ejecutó el comando show syslogaction ns-mgmt-logs-act. En el resultado, encontró Managementlog: NONE y Managementloglevel: NONE, lo que confirmó que los registros de administración no estaban habilitados.

    Mostrar el resultado del comando syslogaction

    Para solucionar este problema, habilitó los registros de administración y los niveles de registro de administración mediante la ejecución del siguiente comando:

    add syslogaction ns-mgmt-logs-act 9.9.9.9 -loglevel none -mgmtlogLevel all -managementlog all
    <!--NeedCopy-->
    

    Tras la activación, ejecutó el comando show syslogaction ns-mgmt-logs-act y verificó que los registros de administración estaban habilitados, tal y como se resalta en el siguiente resultado.

    Mostrar la salida del comando syslogaction habilitada

  2. Compruebe si los registros configurados se generan localmente. Por ejemplo, si ha configurado los registros de administración con la gravedad INFO, compruebe si /var/log/ns.log contiene registros de administración (líneas que no contienen “-PPE-“) generados con la gravedad INFO. Los siguientes son un par de escenarios:

    Caso 1

    Cassidy, un administrador del sistema, agregó la siguiente acción que solo tenía habilitados los registros de advertencias de NSMGMT y descubrió que los registros no se generaban.

    add syslogaction ns-mgmt-logs-act 9.9.9.9 -loglevel none -mgmtlogLevel warning -managementlog NSMGMT
    <!--NeedCopy-->
    

    Cassidy examinó los archivos de registro locales ns.log y notice.log, y descubrió que no se generaban mensajes de nivel de advertencia.

    root@ns# cat /var/log/ns.log | grep -v -e '-PPE-'
    Jun 26 05:00:00 ns newsyslog[74791]: logfile turned over due to size>100K
    rootQns# cat /var/log/notice.log | grep warn
    Jun 26 05:08:34 <local7.notice> ns bash[81962]: root on /dev/pts/5 shell_command="cat /var/log/notice.log | grep warning"
    Jun 26 05:08:40 <local7.notice> ns bash[81962]: root on /dev/pts/5 shell_command="cat /var/log/notice.log | grep warn"
    Jun 26 05:09:15 <local7.notice> ns bash[81962]: root on /dev/pts/5 shell_command="cat /var/log/notice.log | grep warn"
    <!--NeedCopy-->
    

    Caso 2

    John, un administrador del sistema, agregó la siguiente acción para habilitar todos los registros de administración en todos los niveles.

    add syslogaction ns-mgmt-logs-act 9.9.9.9 -loglevel none -mgmtlogLevel all -managementlog all
    <!--NeedCopy-->
    

    Los registros se generaban localmente en bash.log y, por lo tanto, lo mismo aparecía también en su punto final de observabilidad.

    root@ns# tail -f /var/log/bash.log
    Jun 26 05:16:54 <local7.notice> ns bash[4278]: root on (null) return_code="l"
    Jun 26 05:16:54 <local7.notice> ns bash[5909]: root on (null) shell_command="true"
    Jun 26 05:16:54 <local7.notice> ns bash[5909]: root on (null) shell_command="curl 10.102.154.54; sleep 0.5"
    Jun 26 05:16:54 <local7.notice> ns bash[5909]: root on (null)shell_command="curl 10.102.154.54"
    <!--NeedCopy-->
    
  3. Compruebe y confirme lo siguiente:

    • Si está utilizando el protocolo de transporte correcto
    • Si está utilizando la dirección IP o el nombre de dominio correctos
    • Si está utilizando la configuración de equilibrio de carga correcta
    • Si el nombre de dominio está resuelto
    • Si el servicio o el servidor virtual están activos
  4. Compruebe y confirme que la directiva se haya creado con la regla “true” y esté vinculada al sistema global. Si el enlace no está presente, los registros no se exportan.

    Caso

    Cassidy, un administrador del sistema, ejecutó el comando show syslogglobal y observó que la directiva no estaba vinculada al sistema global.

    > show syslogglobal
    Done
    <!--NeedCopy-->
    

    Cassidy ejecutó el siguiente comando para vincular la directiva al sistema global:

    bind syslogGlobal -policyName ns-mgmt-logs-pol -priority 1 Done
    <!--NeedCopy-->
    

    Tras el enlace, el comando show syslogglobal mostraba los detalles del enlace.

    > sh syslogglobal
    1)      Policy Name: ns-mgmt-logs-pol
            Priority: 1
            GlobalType: SYSTEM_GLOBAL
    Done
    <!--NeedCopy-->
    
  5. Ejecute nstrace para comprobar si hay alguna anomalía en el flujo UDP o TCP. Compruebe si el punto final está configurado para usar TLS o SSL, pero NetScaler realmente envía datos sin cifrar o viceversa.

Los registros de administración no se ven en Splunk (HEC)

Cuando los registros de administración no se exporten a Splunk (HEC), realice lo siguiente:

  1. Compruebe si ha habilitado los registros de administración en un perfil de serie temporal. Para comprobarlo, ejecute el comando show analyticsprofile <profilename> y vea el resultado.

    Caso

    Cassidy, un administrador de sistemas, se dio cuenta de que en realidad necesitaba el formato JSON y no el formato syslog. Por lo tanto, eliminó todas las configuraciones de syslog de administración y agregó configuraciones de análisis. Sin embargo, vio que los registros no salían de NetScaler. Cuando ejecutó el comando show analyticsprofile <name>, vio el resultado Managementlog: NONE y se dio cuenta de que había olvidado habilitar los registros de administración en el perfil de análisis.

    Para solucionar el problema, habilitó los registros de administración mediante set analytics profile <name> -managementlog ACCESS. Con esta solución, vio que los registros se enviaban desde NetScaler y también que el comando show analyticsprofile <name> mostraba Managementlog: ACCESS.

    Mostrar registro de Profile Management de análisis definido como ninguno

  2. Compruebe si los registros configurados realmente se generan localmente. Por ejemplo, si ha configurado los registros de administración de NSMGMT, puede comprobar si se han generado registros de administración para /var/log/ns.log (líneas que no contienen “-PPE-“).

  3. Compruebe y confirme lo siguiente:

    • Si está utilizando el perfil correcto. Debes usar el perfil de la serie temporal
    • Si el servicio está resuelto y está activo
    • Si los metadatos (-analyticsEndpointMetadata) están configurados correctamente y son un JSON válido y también si todos los campos que contienen están presentes en los registros exportados a Splunk
    • Si el token de autenticación de Splunk es correcto. Como no se muestra el token de autenticación, debe asegurarse de que se introduce correctamente en el formato -analyticsAuthToken ‘Splunk <token>’
  4. Ejecute nstrace para comprobar si hay alguna anomalía en el flujo TCP o HTTP. Compruebe si el punto final está configurado para usar TLS o SSL, pero NetScaler envía datos sin cifrar o viceversa. Puede comprobar además si el JSON exportado no tiene un formato incorrecto.

Consejos comunes para la solución de problemas cuando los registros de administración no se ven en ningún punto final de observabilidad

Si las sugerencias que se proporcionan en las secciones Registros de administración no se exportan al servidor syslog y Registros de administración no se ven en Splunk (HEC) no resuelven el problema, haga lo siguiente:

  1. Observe los siguientes archivos de registro relacionados con el proceso que exporta los registros de administración. Estos archivos de registro pueden darle una idea sobre el problema:

    • /var/log/export_mgmtlog_status.log
    • /var/log/export_mgmtlog_cron.log

    Escenario: Cassidy, un administrador del sistema, vio errores de canalización en export_mgmtlog_status.log y descubrió que su recopilador enviaba restablecimientos debido a problemas con el firewall, lo que solucionó por su parte.

    Fri May 10 04:02:15 2024   do_logexport.py   ERROR   Traceback (most recent call last):
       File "/netscaler/do_logexport.py", line 505, in netio_send
       pe_socket.sendall(data)
      BrokenPipeError: [Errno 32] Broken pipe
    <!--NeedCopy-->
    
  2. Compruebe si el archivo de configuración /nsconfig/mgmtlogcfg.json se ha generado correctamente y también si sugiere que contiene una configuración relacionada con Syslog o JSON.

    Por ejemplo, cuando se configuran Syslog y JSON, el archivo /nsconfig/mgmtlogcfg.json tiene el aspecto que se muestra a continuación. El campo “syslog” confirma que syslog está configurado, mientras que el campo “json” confirma que json está configurado.

    root@ns# cat /nsconfig/mgmtlogcfg.json
    {"syslog":{"typemask":7,"levelmask":127,"ip":"127.0.0.2","port" :5566},"json":[{"name":"ns-mgmt-log-json-profile","typemask":2,"ip":"127.0.0.2","port":5563,"metadata":"{"index":"ns-mgmt-log-syslog-index"}"}]}
    <!--NeedCopy-->
    
  3. Asegúrese de que está buscando el índice correcto y la marca de tiempo correcta.

    Caso

    Cassidy, un administrador del sistema, se dio cuenta de que había configurado el índice de syslog con nombre ns-mgmt-log-syslog-index en lugar de ns-mgmt-log-json-index en Splunk, lo que luego se rectificó.

    mostrar el índice correcto de analyticsprofile

  4. En las implementaciones de clústeres, si los registros no salen de los nodos que no son de CCO, intente ejecutar el comando force cluster sync.

  5. Netprofiles: También es posible utilizar netprofiles. Para syslog, asegúrese de haber establecido ‘-netprofile’ en la acción syslog. Si está equilibrando la carga de los syslogs o los está exportando en formato JSON, asegúrese de haber establecido el perfil de red en el servicio.

  6. Particiones: la función de registros de administración no es compatible con particiones no predeterminadas.

  7. Marcas de tiempo: los registros de administración generados por los procesos se exportan periódicamente. Por lo tanto, es posible que la hora a la que reciba el registro de administración no sea la misma que la hora en que se generó. Además, es posible que el formato de fecha no cumpla con el formato de fecha configurado en la acción syslog, porque el syslog de administración sigue el formato RFC-5424.