Eu tenho o systemd sendo executado com um watchdog e um serviço que usa um watchdog do systemd para reiniciar o serviço quando ele é bloqueado. Se o serviço travar repetidamente, o systemd reinicializará a máquina.
Como posso registrar quando o systemd reinicia o serviço e quando a máquina é reinicializada pelo systemd?
O SO é o ARCH linux e a versão do systemd é 218.
O Jounrnalctl está vazio para esse dia após a reinicialização do watchdog.
Eu não sei o que o diário contém se apenas o serviço for reiniciado.
Qual é a maneira mais eficaz de testar um serviço pendurado?
/ var / log / journal existe e armazenará informações em uma reinicialização normal, mas não possui logs para o dia em uma reinicialização do watchdog.
Lendo Depurando o bloqueio - systemd perde meu logs , que parece ser um problema semelhante.
Uncommenting # SyncIntervalSec = 5m no meu journald.conf me fornece os logs da reinicialização, mas nenhuma pista sobre o que o aciona.
Neste caso, foi uma forkbomb causando systemd para reiniciar a máquina inteira.
Apr 11 20:54:02 buspi systemd[1]: Stopping Sound Card. <--- restarting
Apr 11 20:54:01 buspi anacron[17809]: Job 'cron.daily' started <--- seems ok
Arquivo de unidade
[Unit]
Description= Alight
Wants=network.target
[Service]
Type=notify
ExecStart=/usr/bin/alight
ExecStop=/usr/bin/alight-stop
Restart=always
WatchdogSec=30s
StartLimitInterval=5min
StartLimitBurst=4
StartLimitAction=reboot-force
[Install]
WantedBy=multi-user.target
system.conf
[Manager]
#LogLevel=info
#LogTarget=journal-or-kmsg
#LogColor=yes
#LogLocation=no
#DumpCore=yes
#CrashShell=no
#ShowStatus=yes
#CrashChVT=1
#CPUAffinity=1 2
#JoinControllers=cpu,cpuacct net_cls,net_prio
RuntimeWatchdogSec=20
ShutdownWatchdogSec=3min
#CapabilityBoundingSet=
#SystemCallArchitectures=
#TimerSlackNSec=
#DefaultTimerAccuracySec=1min
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s
#DefaultRestartSec=100ms
#DefaultStartLimitInterval=10s
#DefaultStartLimitBurst=5
#DefaultEnvironment=
#DefaultCPUAccounting=no
#DefaultBlockIOAccounting=no
#DefaultMemoryAccounting=no
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
#DefaultLimitSTACK=
#DefaultLimitCORE=
#DefaultLimitRSS=
#DefaultLimitNOFILE=
#DefaultLimitAS=
#DefaultLimitNPROC=
#DefaultLimitMEMLOCK=
#DefaultLimitLOCKS=
#DefaultLimitSIGPENDING=
#DefaultLimitMSGQUEUE=
#DefaultLimitNICE=
#DefaultLimitRTPRIO=
#DefaultLimitRTTIME=