Логи на віддалений syslog-сервер - Planet Calculate

Вкрай неприємна ситуація - віддалений комп ліг, і щоб зрозуміти що з ним - треба їхати через пів міста (буває і півкраїни). А так хотілося б їхати вже знаючи, що трапилося і хто винен, але на віддалений сервер не потрапити, він же не відповідає.

Допомогти в такій ситуації може дублювання логів на сервер. Спробуємо це налаштувати.

Насамперед налаштуємо syslog-ng на сервері. Правити syslog-ng щоразу, коли ми захочемо внести зміни, ми не будемо, тому робимо ось як:

Тепер створюємо безпосередньо /etc/syslog-ng/remote.conf :

Тож розуміємо що ж ми тут навояли:

Слухаємо на інтерфейсі з IP_ADDRESS на порту 514 (стандартний). Оскільки в логах може бути приватна інформація, краще користуватися захищеними каналами. Я все ганяю по vpn, але варто розібратися з tls:

Тут все просто, визначаємо destination як такий файл (за шаблоном /var/log/remote/$HOST/$YEAR-$MONTH-$DAY.log ) з такою маскою 600. Директорії /var/log/remote/ $HOST повинні існувати. Також варто врахувати, що $HOST не передається віддаленою машиною, а визначається сервером, мабуть за PTR DNS-а, так що варто налаштувати правильно резолвінг

У випадку якщо HOST не відрізався, або директорії /var/log/remote/$HOST у нас чомусь немає, ВСІ логі, що приходять, ми будемо класти в /var/log/leds/.raw

І нарешті пов'язуємо джерело логів s_rem і сховище d_rem:

Можна окремо логувати інфу від служб:

Тепер налаштуємо клієнта: