Netconsole Centos 7

 

настройка на сервере получателе логов:

 

- в файле /etc/rsyslog.conf раскомментим строки(можем изменить порт на другой):

$ModLoad imudp
$UDPServerRun 514

 

также в данном файле можем изменить путь хранения логов в разделе RULES, например на /var/log/netconsole

 

- и рестартанем:

systemctl restart rsyslog

 

- проверяем работу командами:

netstat -l | grep syslog

cat /etc/services | grep syslog

 

- после чего необходимо добавить правило в firewalld:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.1/32" port port=514 protocol="udp" accept'

firewall-cmd --reload

- и проверяем:

firewall-cmd --list-all

 

++++++++++++++++++++++++++++-

настройка на сервере отправителе логов:

 

- в файле /etc/sysconfig/netconsole укажем сервер получателя(также можем изменить порт SYSLOGPORT):

SYSLOGADDR=192.168.0.1

 

- рестартуем и указываем в автозагрузку:

systemctl restart netconsole.service

systemctl enable netconsole.service

 

- проверяем логирование командами:

echo 1 > /proc/sys/kernel/sysrq

echo h > /proc/sysrq-trigger

 

сообщения об ошибках должны появиться в логах сервера получателя

====================================================================================+

Netconsole в Ubuntu:

находим MAC-адрес получателя логов:

# ping -c 1 192.168.1.103 > /dev/null
# arp -n 192.168.1.103

 

если мы отправляем логи удаленно(в другую сеть), то находим дефолтный gateway:

# netstat -rn | grep ^0.0.0.0

например 192.168.1.1

 

и находим его MAC-адрес роутера:

# ping -c 1 192.168.1.1 > /dev/null
# arp -n 192.168.1.1

 

делаем бэкап конфигурационного файла /etc/default/grub

# sudo cp /etc/default/grub /etc/default/grub.backup

 

и меняем в нем строку GRUB_CMDLINE_LINUX_DEFAULT="" на:

GRUB_CMDLINE_LINUX_DEFAULT="debug ignore_loglevel"

 

обновляем grub:

# sudo update-grub

 

далее выполняем команды:

# sudo sh -c 'echo netconsole >> /etc/modules'

# sudo sh -c 'echo options netconsole netconsole=6666@192.168.1.103/eth0,514@192.168.1.102/d2:e3:ce:c1:03:76 > /etc/modprobe.d/netconsole.conf'



options netconsole netconsole=SRCPORT@SRCHOST/eth0,DSTPORT@DSTHOST/DSTMAC

 

Где SRCPORT и SRCHOST соответственно порт и IP адрес сервера который отлаживаем.

А DSTPORT и DSTHOST порт и IP адрес сервера который будет принимать сообщения.

DSTMAC — это MAC адрес сервера который будет принимать сообщения ЕСЛИ он в той же сети. Если он за роутером или где нибудь в интернете, то нужно указывать MAC адрес ближайшего роутера (Gateway).

 

После чего выполняем перезагрузку:

# sudo reboot

 

 

 

 

Материалы:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_netconsole

https://wiki.ubuntu.com/Kernel/Netconsole   -для Ubuntu