Este artículo aborda un problema que afecta a los dispositivos FortiGate, donde el daemon ‘fgtlogd’ utiliza una alta cantidad de memoria, lo que provoca que el FortiGate entre en Modo de Conservación de Memoria. Este problema se activa cuando la conectividad entre el FortiGate y el FortiAnalyzer es inestable. A través de este artículo, se proporcionarán análisis detallados y soluciones para mitigar este problema y optimizar el rendimiento del sistema.
Índice
Descripción del problema
Se ha observado un aumento gradual en el uso de memoria por parte del daemon ‘fgtlogd’ en los dispositivos FortiGate que ejecutan las versiones mencionadas. Esto se traduce en la necesidad de gestionar el estado del sistema de manera más eficiente, especialmente cuando la conectividad dentro de la red es errática.
Alcance
Este problema afecta a las versiones de FortiGate v7.2.8, v7.4.1, v7.4.2, v7.4.3 y v7.4.4.
Diagnóstico paso a paso
A continuación se presentan varios ejemplos del uso de memoria en diferentes puntos en el tiempo:
Sábado 30 de marzo 18:06:44 GMT 2024:
get system performance status
Memory: 1964180k total, 882068k used (44.9%), 939808k free (47.8%), 142304k freeable (7.3%)diagnose sys top 1 20 20
Run Time: 0 days, 17 hours and 31 minutes
0U, 0N, 0S, 100I, 0WA, 0HI, 0SI, 0ST; 1918T, 917F
fgtlogd 174 S 0.0 6.7 2diagnose sys top-mem 20
fgtlogd (174): 118238kBMartes 2 de abril 15:06:32 GMT 2024:
get system performance status
Memory: 1964180k total, 1289960k used (65.7%), 460236k free (23.4%), 213984k freeable (10.9%)diagnose sys top 1 20 20
Run Time: 3 days, 14 hours and 31 minutes
0U, 0N, 0S, 100I, 0WA, 0HI, 0SI, 0ST; 1918T, 449F
fgtlogd 174 S 0.0 25.3 1diagnose sys top-mem 20
fgtlogd (174): 484459kBEste aumento gradual en el uso de memoria ocurre cuando la conectividad entre el FortiGate y el FortiAnalyzer es inestable y presenta flaps o desconexiones intermitentes.
Se registran los siguientes logs de Eventos del Sistema y del debug de ‘fgtlogd’ que muestran claramente los problemas de conectividad:
Eventos del Sistema:
time=06:42:28 id=7373905857316127276 itime="2024-05-28 12:40:47" euid=3 epid=3 dsteuid=3 dstepid=3 logver=702081639 logid=0100022901 type=event subtype=system level=notice action=connect msg="Connected to FortiAnalyzer 173.19.1.171" logdesc="FortiAnalyzer connection up" status=success eventtime=1716849748613732920 tz=+0800 devid=FGR60FTK***** vd=root dtime="2024-05-28 06:42:28" itime_t=1716871247 devname=FGR60Ftime=06:42:28 id=7373905827251357952 itime="2024-05-28 12:40:40" euid=3 epid=3 dsteuid=3 dstepid=3 logver=702081639 logid=0100022902 type=event subtype=system level=notice action=disconnect msg="Disconnected from FortiAnalyzer 173.19.1.171" logdesc="FortiAnalyzer connection down" status=success reason="connection close" eventtime=1716849748179077360 tz=+0800 devid=FGR60FTK***** vd=root dtime="2024-05-28 06:42:28" itime_t=1716871240 devname=FGR60FDebugs:
diagnose debug application fgtlogd -1
diagnose debug console timestamp enable
diagnose debug application fgtlogd 1
diagnose debug application fgtlogd 3
diagnose debug application fgtlogd 4
diagnose debug application fgtlogd 6
diagnose debug enableLogs de debug:
# 2024-11-05 11:50:36 <275> _build_keep_alive_usage_pkt()-832: Pushed keepalive packet to queue for global-faz.
2024-11-05 11:50:36 <275> _send_queue_item()-565: type=11, cat=0, logcount=0, len=0
2024-11-05 11:50:36 <275> __on_pkt_recv()-1619: dev=global-faz type=11 pkt_len=21
2024-11-05 11:50:36 <275> __on_pkt_recv()-1619: opt=52, opt_len=9
2024-11-05 11:50:37 <275> fgtlog_faz_stop_conn()-970: faz:X.X.X.X connection close. reason:SD-WAN rule is changed.
(or)
<211> _check_oftp_certificate()-455: checking sn:FAZ-VMTM21005609 vs cert sn:FAZ-VMTMXXXXXX
<211> _check_oftp_certificate()-463: The certificate CN (FAZ-VMTMXXXXXX) doesn't match the Serial numbers sent by X.X.X.XEste problema se rastrea bajo el número de problema conocido 1018392, y ha sido resuelto en las versiones v7.2.9, v7.4.5 y v7.6.0.
Solución recomendada
Como solución temporal, se puede usar un ‘automation stitch’ o finalizar manualmente el daemon usando el comando:
fnsysctl killall fgtlogdEsto debe hacerse hasta que se identifique y resuelva la causa raíz de la desconexión entre el FortiGate y el FortiAnalyzer.
Comandos CLI utilizados
get system performance status: Muestra el estado actual del rendimiento del sistema, incluyendo uso de memoria.diagnose sys top 1 20 20: Muestra los procesos activos y su uso de memoria.diagnose sys top-mem 20: Muestra los 20 procesos que más memoria están utilizando.diagnose debug application fgtlogd -1: Habilita el debug para el daemon ‘fgtlogd’.
Buenas prácticas y recomendaciones
Para prevenir este tipo de problemas, se recomienda:
- Monitorear regularmente el uso de recursos del sistema.
- Establecer alertas para detectar patrones de desconexiones.
- Mantener una configuración consistente en los dispositivos FortiGate y FortiAnalyzer.
Notas adicionales
Es importante tener en cuenta que el rendimiento y la estabilidad de la red pueden verse afectados por problemas de conectividad intermitentes. Se sugiere realizar pruebas y auditorías regulares para asegurar una comunicación sólida entre dispositivos críticos del sistema.
¿Te ha resultado útil??
0 / 0

Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!