Netconsole отправляем логи kernel panic на другой сервер
На сервере который отлаживаем выполняем:
options netconsole netconsole=SRCPORT@SRCHOST/eth0,DSTPORT@DSTHOST/DSTMAC
SRCPORT - порт этого сервера
SRCHOST - IP этого сервера
DSTPORT - порт сервера принимающего сообщения
DSTHOST - IP сервера принимающего сообщения
DSTMAC - MAC сервера принимающего сообщения если он в одной сети, если нет, то прописываем MAC шлюза
для определения MAC шлюза делаем
Проверяем и запускаем без перезапуска сервера
Ставим Syslog
Для проверки работы на сервере с которого будем читать логи отправляем сообщение
И добавляем автоматическую перезагрузку сервера после зависания
Проверяем
sysctl -a | grep kernel.panic
- nano /etc/modules
netconsole
- nano /etc/modprobe.d/netconsole.conf
options netconsole netconsole=SRCPORT@SRCHOST/eth0,DSTPORT@DSTHOST/DSTMAC
SRCPORT - порт этого сервера
SRCHOST - IP этого сервера
DSTPORT - порт сервера принимающего сообщения
DSTHOST - IP сервера принимающего сообщения
DSTMAC - MAC сервера принимающего сообщения если он в одной сети, если нет, то прописываем MAC шлюза
для определения MAC шлюза делаем
- ping IP
- arp -a|grep IP
Проверяем и запускаем без перезапуска сервера
- modprobe netconsole
Ставим Syslog
- install syslog-ng
- nano /etc/syslog-ng/syslog-ng.conf ( /etc/default/syslog-ng )
source net { udp(ip("0.0.0.0") port(6666)); };
destination netconsole { file("/var/log/$HOST-netconsole.log"); };
log { source(net); destination(netconsole); };
- /etc/init.d/syslog-ng restart
Для проверки работы на сервере с которого будем читать логи отправляем сообщение
- nc -u 192.168.10.222 6666
Тестовый kernel panic
- nano /etc/rsyslog.d/01-netconsole-collector.conf
# Start UDP server on port 6666 $ModLoad imudp $UDPServerRun 6666 # Define templates $template NetconsoleFile,"/var/log/netconsole/%fromhost-ip%.log" $template NetconsoleFormat,"%rawmsg%" # Accept endline characters (unfortunatelly these options are global) $EscapeControlCharactersOnReceive off $DropTrailingLFOnReception off # Store collected logs using templates without local ones :fromhost-ip, !isequal, "127.0.0.1" ?NetconsoleFile;NetconsoleFormat # Discard logs match the rule above & ~
- /etc/init.d/rsyslog restart
И добавляем автоматическую перезагрузку сервера после зависания
- nano /etc/sysctl.conf
kernel.panic=60
- sysctl -p
Проверяем
sysctl -a | grep kernel.panic
Комментарии
Отправить комментарий