Jump to content
Roman_Petrov

Запись syslog на внешний USB-диск с помощю Syslog-ng

Recommended Posts

Данное решение поможет в случаях после перегрузки роутера сохранять и просматривать системные логи. Будет полезно в случае ошибок в работе прошивки или неправильных настроек роутера, после самостоятельной перегрузки роутера сохранить лог и иметь возможность его просматривать. Возможно несколько вариантов снятия с роутера и записи его логов на внешний носитель данных. В моем случае, я посчитал удобным вариантом запись данных лога, используя тот же локальный роутер Zyxel с установленной системой Entware-Keenetic и приложением syslog-ng, так как в таком варианте запись необходимо вести постоянно, без перерывов. Возможен и вариант установки и приема логов при небольших корректировках и на другом роутере c установленным Entware-Keenetic и приложением syslog-ng.

1. В первую очередь, конечно необходима установка системы Entware-Keenetic , следуя советам из темы по ссылке, на внешний, подключенный к USB носитель, отформатированный в NTFS, EXT2/3. На NTFS работает без ошибок и замечаний.

 

2. Обновляем список приложений и инсталлируем логгер syslog-ng и редактор nano через Putty по ssh..

opkg update

opkg upgrade

opkg install syslog-ng

opkg install nano

3. Настройка.

а) Открываем в редакторе nano файл настроек syslog-ng. Обратите внимание. Кто обновляется со старых версий 2.хх  syslog-ng, смотрите мое сообщение здесь >>>> Ниже пока приведен пример настройки новой и свежеустановленной версии 3.9:

Вызываем конфигурационный файл с помощью nano и редактируем его.

nano /opt/etc/syslog-ng.conf

 

Откроется окно следующего вида:

syslogngconfig.thumb.jpg.ef0581ab8c210b44e81708a66c7b06c8.jpg

На экране выше все настроено по моим предпочтениям и необходимостям, у вас же будет немного другого вида:

Скрытый текст

@version:3.9


options {
        chain_hostnames(no);
        create_dirs(yes);
        flush_lines(0);
        keep_hostname(yes);
        log_fifo_size(256);
        log_msg_size(1024);
        stats_freq(0);
        flush_lines(0);
        use_fqdn(no);
};

source src {
        internal();
        unix-dgram("/dev/log");
};

source net {
        udp(ip(0.0.0.0) port(514));
};

source kernel {
        file("/proc/kmsg" program_override("kernel"));
};

destination messages {
        file("/opt/var/log/messages");
};

log {
        source(src);
        source(net);
        source(kernel);
        destination(messages);
};

# put any customization files in this directory
# @include "/opt/etc/syslog-ng.d/"

б) Настройка директории, куда будет все писаться, например прямо в свою папку на USB диске, где удобно. По умолчанию syslog пишет в файл messages по пути opt/var/log/messages

Примеры перенастройки:

- писать в корень вашего диска или флешки - нужно изменить путь opt/var/log/messages на opt/messages.
- писать в папку syslogs на вашем диске - сначало создайте папку на вашем диске: Ваш_Диск - syslogs, потом укажите к ней путь opt/syslogs/messages.

 


в) Для корректного сбора всех логов в следствии экспериментов выяснилось, что самый простой и правильный путь, чтобы получить именно все записи из журнала роутера, это задействование оригинальной функции прошивки отправки логов на удаленный сервер в настройках роутера:

activate syslog sending.jpg

 

и также сбор дополнительных записей из OPKG приложений (так как они из за настроек самих приложений часто не попадают в официальный журнал роутера, который вы видите на страничке роутера) и их прием с предварительно настроенной программкой syslog-ng.

 

В локальном варианте сбора информации, когда syslog-ng ставиться на тот же роутер, на котором будут сниматься логи, строчки в файле конфигурации

source src {
        internal();
        unix-dgram("/dev/log");
};

source net {
        udp(ip(0.0.0.0) port(514));
};

меняется на

source src {
        internal();
};

source net {
        udp(ip(192.168.1.1) port(514));
};

где адрес моего роутера с 0.0.0.0 меняется на 192.168.1.1 и, как у меня ранее работало правильно, удаляется строка UNIX-stream unix-dgram("/dev/log"); (если ее оставить, то будет "съедаться" часть записей в официальный журнал - они пропадут, хотя в файл syslog и будут писаться, это же и актуально для тех, кто обновился с версий постарше на последнюю и ранее это не сделал)

 

г) обязательно (!) нужно закоментировать путь к include из несуществующего конфигурационного файла custom-logs.conf

#@include "/opt/etc/custom-logs.conf" (актуально для тех кто обновлялся с версий постарше)

или (актуально для тех кто ставит с нуля или заново)

# put any customization files in this directory
@include "/opt/etc/syslog-ng.d/"

переделать на

# put any customization files in this directory
# @include "/opt/etc/syslog-ng.d/"

 

Потом проверяем на синтаксис на пожарный случай:

syslog-ng -s

и если не появилось никаких сообщений (в противном случае смотрим, что выскочил и проверяем где накосячили), продолжаем.

На всякий случай ниже оставляю как у меня сконфигурирован файл со всеми изменениями, в некоторых случаях проще посмотреть так:

Скрытый текст

@version:3.9

options {
        chain_hostnames(no);
        create_dirs(yes);
        flush_lines(0);
        keep_hostname(yes);
        log_fifo_size(256);
        log_msg_size(1024);
        stats_freq(0);
        flush_lines(0);
        use_fqdn(no);
};

source src {
        internal();
};

source net {
        udp(ip(192.168.1.1) port(514));
};

source kernel {
        file("/proc/kmsg" program_override("kernel"));
};

destination messages {
        file("/opt/share/www/messages");
};

log {
        source(src);
        source(net);
        source(kernel);
        destination(messages);
};

# put any customization files in this directory
# @include "/opt/etc/syslog-ng.d/"

Мои комментарии к конфигурации:

Скрытый текст

#здесь удалил строчку на UNIX-stream unix-dgram("/dev/log") , т.к. если ее оставить, то из официального журнала роутера будут "съедаться" часть записей


source src {
        internal();

#здесь поправил на адрес моего роутера с 0.0.0.0

source net {
        udp(ip(192.168.1.1) port(514));

#здесь изменил путь к записи файла журналов на мой диск по моему предпочтению. Вы можете оставить как есть в оригинале или прописать свой путь:

destination messages {
        file("/opt/share/www/messages");

#здесь закоментил путь к ненужным include в нашем случае

# put any customization files in this directory
# @include "/opt/etc/syslog-ng.d/"

 

4. Для автоматического старта приложения с загрузкой системы syslog переименовывать/менять атрибут автозагрузки не нужно, т.к. при инсталяции в init.d он уже сразу становиться с атрибутом S (для автостарта) и запускается автоматически при старте роутера. Но может кому то не нужно, чтобы он стартовал и он хочет иногда только вручную запускать, тогда его нужно переименовать следующим образом:

mv /opt/etc/init.d/S01syslog-ng /opt/etc/init.d/K01syslog-ng

4. Стартуем его и наслаждаемся записью на диск в файл messages в выбранной папке на диске.

/opt/etc/init.d/S01syslog-ng start

(/opt/etc/init.d/K01syslog-ng start, если изменили атрибут автостарта ранее)


5. Через некоторое время проверяем, что все пишется с помощью nano. Пишет он по умолчанию в файл messages по пути opt/var/log/messages, посмотреть можно скачав файл messages из директории Ваш_Диск/opt/var/log/ на диске на комп и открыв любым текстовым редактором или же с помощью nano, по умолчанию это, если вы не изменили путь:

nano /opt/var/log/messages

Или по пути, где вы прописали ранее.

 


6. Коментарии.

а) Пишет он лог из журнала на USB диск вроде довольно-таки быстро по моим наблюдениям, и должно сохранятся все, но в случае краша могут последние записи и не успеть сохраниться, тут уже нужно поэксперементировать.

В таких случаях, по совету ув. Le ecureuil :  если вы считаете, что у вас реально происходит kernel panic, то последний дамп всегда можно получить командой в CLI (но работает пока только увы это на Ultra II и Giga III) - отправляется в облако и нужно обращаться с сервисным кодам к разработчикам:

(config)> more proc:mtdoops/oops

 

б) Если лог будет приниматься на удаленном роутере, скорее всего, на первом придется в брандмаузере/сетевом экране открыть и перенаправить порт udp 514 на адрес принимающего устройства в интернете, а также его открыть на принимающем устройстве. Пока не было возможности и необходимости самому попробовать, но пишут коллеги, что можно одновременно сохранять на самом диске роутера и отправлять, прописав таким образом путь destination (предложил @serguei00), пробуйте:

destination messages { 

file("/opt/var/log/messages"); 

udp("1.1.1.1" port(514)); 

};

 

в) если syslog-ng не хочет стартовать и вы не можете найти проблему, почему. Выполните команду syslog-ng. Она покажет вам лог запуска. В нем и будет написана ошибка, из за которой сервис не стартует. Или проверьте конфигурационный файл на синтаксис: syslog-ng -s

 

г) логи из opkg переставали писаться в системные логи? В файле messages они есть, а вот именно в веб-интерфейсе пропали? Файловая система - ext3, Entware-3x.... проблемы... ? Тогда все понятно, почему так. Данный мануал написан для (читайте 1 пункт) :

1. В первую очередь, конечно необходима установка системы Entware-Keenetic , следуя советам из темы по ссылке, на внешний, подключенный к USB носитель, отформатированный в NTFS, EXT2/3. На NTFS также работает без ошибок и замечаний. На 3х никто не гарантирует ничего ... Но пишут коллеги (@DarkDiver), что можно все же и на 3х справиться, прописав таким образом, некоторые отзываются, что так заработало, пробуйте:

Скрытый текст

options {
<------>chain_hostnames(no);
<------>create_dirs(yes);
<------>flush_lines(0);
<------>keep_hostname(yes);
<------>log_fifo_size(256);
<------>log_msg_size(1024);
<------>stats_freq(0);
<------>flush_lines(0);
<------>use_fqdn(no);
};

source src {
<------>udp(ip(192.168.113.1) port(514));
};

source net {
<------>udp(ip(0.0.0.0) port(514));
};


destination messages {
<------>file("/opt/var/log/messages");
};

log {
<------>source(src);
<------>source(net);
<------>destination(messages);
};

Или пробуйте такой вариант (фрагмент конфига, где в разделе src убрана строка unix-stream("/dev/log"); ), как предложил @gvan (на данный момент это также стало актуально и на последних версиях Entware-Keenetic нужно удалять unix-dgram("/dev/log"); ):

Скрытый текст

source src {
        internal();
};

source net {
        udp(ip(192.168.1.1) port(514));
};

source kernel {
        file("/proc/kmsg" program_override("kernel"));
};

destination messages {
        file("/opt/var/log/messages");
};

log {
        source(src);
        source(net);
        source(kernel);
        destination(messages);
};

Также смотрите сортировку логов по рамеру и дате, а также их компрессию, если вы планируете лог писать долго и хотите все упорядочить, не все в одном файле, как в данном примере, от автора gvan:

Ротация логов в entware, записанных на внешний USB-диск

 

Edited by Roman_Petrov
дополнение от 26.12.2017 - пропали записи в системном журнале? Виновник UNIX stream - обновление на последнюю версию syslog-ng 3.9
  • Thanks 4

Share this post


Link to post
Share on other sites
В 27.07.2016 в 20:23, Roman_Petrov сказал:

В локальном варианте, syslog-ng ставиться на тот же роутер, на котором будут сниматься логи и строчка в файле конфигурации


source src { file("/proc/kmsg"); unix-stream("/dev/log"); internal(); };

меняется на прием сообщений журнала по сети по протоколу udp через порт 514 (как по умолчанию это активируется в роутере)


source src { udp(ip(192.168.1.1) port(514)); };

 

Только тогда пропадут сообщения от системы и служб, поднятых через opkg (например, от cron).

У меня после установки ng-syslog было так:

source src { unix-stream("/dev/log"); internal(); };

Объединил предложенную запись с системным логгерами:

source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };
  • Thanks 2

Share this post


Link to post
Share on other sites
15 минут назад, gvan сказал:

Только тогда пропадут сообщения от системы и служб, поднятых через opkg (например, от cron).

У меня после установки ng-syslog было так:


source src { unix-stream("/dev/log"); internal(); };

Объединил предложенную запись с системным логгерами:


source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

Да, если необходимо иметь подробный лог с поднятой вами OPKG , не только, что она выдает или нет в общий системный журнал.
Описание дополняю, так как имеет место быть и такая ситуация.

  • Thanks 1

Share this post


Link to post
Share on other sites

Добрый день, подскажите, что не так

если я делаю строчку в файле конфигурации 

source src { unix-stream("/dev/log"); internal(); };

то всё работает и файл ведётся, но как только я делаю её

source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

то при запуске возникают ошибки 

failed to Start syslog-ng from

остановка и перезапуск проходят то же с ошибками.

~ # /opt/etc/init.d/S01syslog-ng restart
 Starting syslog-ng...              failed.
 

~ # /opt/etc/init.d/S01syslog-ng stop
 Checking syslog-ng...              dead.
 

оставил верхнюю строчку, а в логе только данные о старте

Sep  1 00:34:40 Keenetic_Giga syslog-ng[3682]: syslog-ng starting up; version='2.1.4'
Sep  1 00:34:40 Keenetic_Giga root: Started syslog-ng from .
 

 

Share this post


Link to post
Share on other sites
7 часов назад, Алексей Миронович сказал:

Добрый день, подскажите, что не так

если я делаю строчку в файле конфигурации 


source src { unix-stream("/dev/log"); internal(); };

то всё работает и файл ведётся, но как только я делаю её


source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

то при запуске возникают ошибки 

failed to Start syslog-ng from

остановка и перезапуск проходят то же с ошибками.

~ # /opt/etc/init.d/S01syslog-ng restart
 Starting syslog-ng...              failed.
 

~ # /opt/etc/init.d/S01syslog-ng stop
 Checking syslog-ng...              dead.
 

оставил верхнюю строчку, а в логе только данные о старте

Sep  1 00:34:40 Keenetic_Giga syslog-ng[3682]: syslog-ng starting up; version='2.1.4'
Sep  1 00:34:40 Keenetic_Giga root: Started syslog-ng from .
 

 

Я в хозяйстве использую только системный журнал:

source src { udp(ip(192.168.1.1) port(514)); };

Однако у меня вариант:

source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

запускается без проблем

/opt/etc/init.d/S01syslog-ng start
 Starting syslog-ng...              done.
~ #

Запускается и в другом порядке без проблем:

source src { udp(ip(192.168.1.1) port(514)); unix-stream("/dev/log"); internal(); };

 

Специально только что проверил еще раз, вдруг я сам что то упустил, но нет, все запускается и работает в любом варианте. Поищите у себя, правильно ли все написали, может у вас где-то лишний пробел или еще что-то. На ошибки в коде так и будет реагировать, что не будет запускаться.

Share this post


Link to post
Share on other sites
2 часа назад, Алексей Миронович сказал:

Roman_Petrov

а можно ваш файл, целиком, у меня отказывается работать мой, может что то совсем не так.

там права сбиться не могли у него?

Вам легче будет заново переустановить все. После переустановки все настраивается буквально за 3 минуты. 

opkg remove syslog-ng

Почистите ручками все файлы и папки, если что то осталось, с диска.

Далее 

opkg update
opkg upgrade
opkg install syslog-ng

Share this post


Link to post
Share on other sites

Roman_Petrov ?

всё переустановил, добавил в логах, только строчку на мой сервак

Скрытый текст

192.168.6.111 - может ругаться из-за такого ip ?

)
~ # /opt/etc/init.d/S01syslog-ng restart
 Shutting down syslog-ng...              done.
 Starting syslog-ng...              failed.
 

Share this post


Link to post
Share on other sites
7 часов назад, Алексей Миронович сказал:

 

Roman_Petrov ?

всё переустановил, добавил в логах, только строчку на мой сервак

  Скрыть содержимое

192.168.6.111 - может ругаться из-за такого ip ?

)
~ # /opt/etc/init.d/S01syslog-ng restart
 Shutting down syslog-ng...              done.
 Starting syslog-ng...              failed.
 

Это все меняет... Инструкция была создана для локального варианта. Вам же лог нужно снимать с удаленного сервера. Одновременно снимать локальный лог с роутера и удаленного сервера не получиться, в этом и ваша ошибка, как я понял.

В вашем случае обязательно откройте порт 514 через брандмаузер на вашем роутере и пропишите:

source src { udp(ip(192.168.6.111) port(514)); };
Edited by Roman_Petrov

Share this post


Link to post
Share on other sites

Roman_Petrov

source src { udp(ip(192.168.6.111) port(514)); internal(); unix-stream("/dev/log"); };

получается, что данная строчка работать не будет?

на сервер лог отправлялся, но сервер работает не всегда.

Получается для сохранения всего лога локально нужно выключить отправку на сервер, а строчку отставить только, но при такой настройке очень мало в логе, по сравнению с логом в журнале зукселя

source src { unix-stream("/dev/log"); internal(); };
Edited by Алексей Миронович

Share this post


Link to post
Share on other sites
50 минут назад, Алексей Миронович сказал:

Roman_Petrov


source src { udp(ip(192.168.6.111) port(514)); internal(); unix-stream("/dev/log"); };

получается, что данная строчка работать не будет?

на сервер лог отправлялся, но сервер работает не всегда.

Получается для сохранения всего лога локально нужно выключить отправку на сервер, а строчку отставить только, но при такой настройке очень мало в логе, по сравнению с логом в журнале зукселя


source src { unix-stream("/dev/log"); internal(); };

Вы совсем неправильно все поняли. Данная строка предназначена не для отправки лога, а для того чтобы принимать. Вы же пытаетесь прописать выше прием лога с сервера 192.168.8.111 и одновременно лога из самого роутера из среды  OPKG...  Если вы хотели записывать лог из системного журнала того же роутера, на котором установлен syslog-ng, то вам просто нужно все делать в точности, как написано в инструкции выше:

source src { udp(ip(192.168.1.1) port(514)); };

и, конечно же, в web интерфейсе роутера должна быть активирована галка отправки журнала на себя же (читайте выше мануал).

Share this post


Link to post
Share on other sites

Roman_Petrov

тогда к чему там вот эта строчка?

 

или, по совету gvan, если требуется записывать также и подробные сообщения от системы и служб, поднятых через OPKG (например, от cron), так как в системный журнал попадают только те, что настроены в конфигурациях приложений, то можно объединить  прием сообщений журнала роутера по протоколу udp с локальным сбором лога следующим образом:

source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

Share this post


Link to post
Share on other sites
43 минуты назад, Алексей Миронович сказал:

Roman_Petrov

тогда к чему там вот эта строчка?

 

или, по совету gvan, если требуется записывать также и подробные сообщения от системы и служб, поднятых через OPKG (например, от cron), так как в системный журнал попадают только те, что настроены в конфигурациях приложений, то можно объединить  прием сообщений журнала роутера по протоколу udp с локальным сбором лога следующим образом:


source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

Эта строчка работает только в таком виде, в таком виде пишет не только журнал роутера, но и события OPKG. Копируете, вствляете и все работает. Пошагово все делайте в инструкции выше, как написано и ничего не меняя, и все получиться. По мануалу подразумевается, что адрес самого роутера, на который все ставиться, имеет адрес 192.168.1.1. Если его адрес другой, подставляете тот, который он имеет в вашем случае. Попробуйте спокойно, вдумчиво все осмыслить и сделать поочередно.

Edited by Roman_Petrov

Share this post


Link to post
Share on other sites
19 часов назад, Алексей Миронович сказал:

 

тогда к чему там вот эта строчка?


source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); };

Я склоняюсь все-таки к тому, что у вас какая-то синтаксическая ошибка в конф-файле.

Завершите процесс syslog и запустите вручную проверку конфигурации на синтаксис.

/opt/etc$ /opt/etc/init.d/S01syslog-ng stop
 Checking syslog-ng...              alive.
 Shutting down syslog-ng...              done.

/opt/etc$ syslog-ng -s
syntax error in /opt/etc/syslog-ng.conf at line 14.

Я намеренно внес ошибку в конф-файл, и проверка на синтаксис ее показала в той строке, в которой она находится.

Если ошибок в конфигурации нет, то команда проверки завершится без каких-либо сообщений.

  • Thanks 1

Share this post


Link to post
Share on other sites
В 04.09.2016 в 18:19, gvan сказал:

 

Если ошибок в конфигурации нет, то команда проверки завершится без каких-либо сообщений.

файл проходит проверку, но всё равно при запуске ошибка

Цитата

~ # syslog-ng -s
~ # /opt/etc/init.d/S01syslog-ng start
 Starting syslog-ng...              failed.
~ #
 

 

Share this post


Link to post
Share on other sites

 

1 час назад, Алексей Миронович сказал:

файл проходит проверку, но всё равно при запуске ошибка

 

Выложите здесь копию или пошлите приватным сообщением все из конфигурационного файла, что вы прописали, посмотрим...

Share this post


Link to post
Share on other sites
3 часа назад, Алексей Миронович сказал:

файл проходит проверку, но всё равно при запуске ошибка

 

Хорошо. Останавливайте службу и попробуйте запустить ее вручную. Я в конф-файле изменил адрес syslog своего сервера

source src { udp(ip(192.168.1.111) port(514)); internal(); unix-stream("/dev/log"); }; 
На самом деле на кинетике у меня адрес 192.168.1.1. Проверку на синтаксис проходит, но запускаться отказывается, т.к. syslog пытается забиндиться на указанный адрес, но естественно не может.

/opt/etc/init.d$ syslog-ng -e
Error binding socket; addr='AF_INET(192.168.1.111:514)', error='Cannot assign requested address (126)'
Error initializing source driver; source='src'

У вас адрес 192.168.6.111 - это адрес, с которого вы хотите принимать лог? А адрес кинетика какой?

Edited by gvan

Share this post


Link to post
Share on other sites

 

Roman_Petrov

 

gvan

Адрес роenthf 192.168.6.1

Сервер на который шлю логи 192.168.6.111

сам кофигурационный файл 

Цитата

options { 
    chain_hostnames(off); 
    sync(0); 

    # The default action of syslog-ng 1.6.0 is to log a STATS line
    # to the file every 10 minutes.  That's pretty ugly after a while.
    # Change it to every 12 hours so you get a nice daily update of
    # how many messages syslog-ng missed (0).
    stats(43200); 
};

#source src { unix-stream("/dev/log"); internal(); };
#source src { file ("/proc/kmsg"); unix-stream("/dev/log"); internal(); };
source scr { udp(ip(192.168.6.111) port(514)); unix-stream("/dev/log"); internal(); };
#sourse from_all { udp(ip(192.168.6.111) port(514)); }; 
destination messages { file("/opt/messages"); };

log { source(src); destination(messages); };
 

 

Share this post


Link to post
Share on other sites
7 часов назад, Алексей Миронович сказал:

 

Roman_Petrov

 

gvan

Адрес роenthf 192.168.6.1

Сервер на который шлю логи 192.168.6.111

сам кофигурационный файл 

 

Все совсем неправильно. Давайте так, вы конкретно, по очереди напишете что именно вы хотите получить, какие именно и откуда логи и куда вы их будете записывать, на какое устройство с каким адресом... Давайте точную схему и адреса устройств...

Подсказка. Мануал сделан, чтобы писать лог с того же устройства на котором установлен syslog-ng. Читайте внимательно инструкцию и следуйте буквально copy-paste, если это ваш случай...

Share this post


Link to post
Share on other sites

 

Roman_Petrov

И так адрем роутера 192.168.6.1 на нём же стоит syslog-ng. Роутер отправляет данные на 192.168.6.111, но что бы получать эти логи 111 должен быть включен, а это не всегда , но при этом он получает весь лог, что в журнале 6.1.

Теперь хотелось бы иметь весь этот же лог на 192.168.6.1, что бы ради сбора логов, не гонять 6.111.

для этого и настраиваю.

И так роутер 192.168.6.1 с   syslog-ng  должен собирать на себя все свои логи целиком, а не которую то их часть.

Share this post


Link to post
Share on other sites
3 минуты назад, Алексей Миронович сказал:

 

Roman_Petrov

И так адрем роутера 192.168.6.1 на нём же стоит syslog-ng. Роутер отправляет данные на 192.168.6.111, но что бы получать эти логи 111 должен быть включен, а это не всегда , но при этом он получает весь лог, что в журнале 6.1.

Теперь хотелось бы иметь весь этот же лог на 192.168.6.1, что бы ради сбора логов, не гонять 6.111.

для этого и настраиваю.

И так роутер 192.168.6.1 с   syslog-ng  должен собирать на себя все свои логи целиком, а не которую то их часть.

Тогда что именно вам мешает настроить все так, как написано в инструкции, без лишних строк и записей. Единственное, что нужно изменить, это адрес, так у вас будет:

source src { udp(ip(192.168.6.1) port(514)); internal(); unix-stream("/dev/log"); };

Все остальное делайте пошагово, как написано в инструкции, в том числе журнал роутер должен отправлять не на 192.168.6.111 как у вас настроено, а сам на себя, т.е. на 192.168.6.1 .

Ничего больше, как в инструкции написано, не делать-не менять не нужно!!!

Share this post


Link to post
Share on other sites

 

Цитата

source src { udp(ip(192.168.6.1) port(514)); internal(); unix-stream("/dev/log"); };

 

на такую строчку то же ругается при запуске

Цитата

~ # /opt/etc/init.d/S01syslog-ng stop
 Checking syslog-ng...              dead.
~ # syslog-ng -s
~ # /opt/etc/init.d/S01syslog-ng start
 Starting syslog-ng...              failed.
~ #

 

Share this post


Link to post
Share on other sites
33 минуты назад, Алексей Миронович сказал:

 

на такую строчку то же ругается при запуске

 

Выложите содержимое файла, я посмотрю что не так у вас.

Share this post


Link to post
Share on other sites

 

Roman_Petrov

какого файла?

если о syslog-ng.conf то 

Цитата

options { 
    chain_hostnames(off); 
    sync(0); 

    # The default action of syslog-ng 1.6.0 is to log a STATS line
    # to the file every 10 minutes.  That's pretty ugly after a while.
    # Change it to every 12 hours so you get a nice daily update of
    # how many messages syslog-ng missed (0).
    stats(43200); 
};

#source src { unix-stream("/dev/log"); internal(); };
#source src { file ("/proc/kmsg"); unix-stream("/dev/log"); internal(); };
source scr { udp(ip(192.168.6.1) port(514)); unix-stream("/dev/log"); internal(); };
#sourse from_all { udp(ip(192.168.6.111) port(514)); }; 
destination messages { file("/opt/messages"); };

log { source(src); destination(messages); };

 

Share this post


Link to post
Share on other sites
1 час назад, Алексей Миронович сказал:

какого файла?

если о syslog-ng.conf то 

А точно на кинетике у вас 192.168.6.1 адрес, а не 192.168.1.1?

Если syslog не запущен, то что выдает ручная команда его запуска с ключом -e (вывод ошибок на консоль) "syslog-ng -e"?

Share this post


Link to post
Share on other sites
3 часа назад, Алексей Миронович сказал:

 

gvan

адрес точно 6.1 

 

Давайте так. Я последний раз вам подсказываю, как нужно сделать, если у вас и сейчас не получиться, то я не знаю как вам помочь. Проблема и в том, что времени у меня почти сейчас нет... Источник сообщений (source src) может быть только один, все прописано в эту одну строчку:

Скрытый текст

source src { udp(ip(192.168.6.1) port(514)); unix-stream("/dev/log"); internal(); };

 Код конфигурационного файла должен быть таким и не пишите туда больше ничего лишнего и не меняйте :

Скрытый текст

options {
        chain_hostnames(off);
        sync(0);

        # The default action of syslog-ng 1.6.0 is to log a STATS line
        # to the file every 10 minutes.  That's pretty ugly after a while.
        # Change it to every 12 hours so you get a nice daily update of
        # how many messages syslog-ng missed (0).
        stats(43200);
};

source src { udp(ip(192.168.6.1) port(514)); unix-stream("/dev/log"); internal(); };

destination messages { file("/opt/var/log/messages"); };

log { source(src); destination(messages); };

Я даже туда подставил уже ваш ip адрес, нужно только скопировать все и вставить с предварительной очисткой в ваш файл.

Успехов.

Share this post


Link to post
Share on other sites

Стал разбираться и смотреть, , как у Романа Петрова и исправил как советовали строчку для лог файла -  destination messages { file("/opt/var/log/messages"); };

и всё пошло ,

возвращаю

destination messages { file("/opt/messages"); };

и всё возвращается на круги своя.

Правлю всё из mc , ну так для информации.

Edited by Алексей Миронович

Share this post


Link to post
Share on other sites

/opt/messages существует? какие у него (messages) права? FS?

Share this post


Link to post
Share on other sites
1 час назад, TheBB сказал:

/opt/messages существует? какие у него (messages) права? FS?

да существует, при этом пишет в лог файл, но не целеком, а как то урывками.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...