Roman_Petrov Posted July 27, 2016 Share Posted July 27, 2016 (edited) Данное решение поможет в случаях после перегрузки роутера сохранять и просматривать системные логи. Будет полезно в случае ошибок в работе прошивки или неправильных настроек роутера, после самостоятельной перегрузки роутера сохранить лог и иметь возможность его просматривать. Возможно несколько вариантов снятия с роутера и записи его логов на внешний носитель данных. В моем случае, я посчитал удобным вариантом запись данных лога, используя тот же локальный роутер 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 Откроется окно следующего вида: На экране выше все настроено по моим предпочтениям и необходимостям, у вас же будет немного другого вида: Скрытый текст @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. в) Для корректного сбора всех логов в следствии экспериментов выяснилось, что самый простой и правильный путь, чтобы получить именно все записи из журнала роутера, это задействование оригинальной функции прошивки отправки логов на удаленный сервер в настройках роутера: и также сбор дополнительных записей из 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 December 26, 2017 by Roman_Petrov дополнение от 26.12.2017 - пропали записи в системном журнале? Виновник UNIX stream - обновление на последнюю версию syslog-ng 3.9 5 Quote Link to comment Share on other sites More sharing options...
gvan Posted August 2, 2016 Share Posted August 2, 2016 В 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"); }; 2 Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted August 2, 2016 Author Share Posted August 2, 2016 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 , не только, что она выдает или нет в общий системный журнал. Описание дополняю, так как имеет место быть и такая ситуация. 1 Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 1, 2016 Share Posted September 1, 2016 Добрый день, подскажите, что не так если я делаю строчку в файле конфигурации 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 . Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 1, 2016 Author Share Posted September 1, 2016 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(); }; Специально только что проверил еще раз, вдруг я сам что то упустил, но нет, все запускается и работает в любом варианте. Поищите у себя, правильно ли все написали, может у вас где-то лишний пробел или еще что-то. На ошибки в коде так и будет реагировать, что не будет запускаться. Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 2, 2016 Share Posted September 2, 2016 Roman_Petrov а можно ваш файл, целиком, у меня отказывается работать мой, может что то совсем не так. там права сбиться не могли у него? Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 2, 2016 Author Share Posted September 2, 2016 2 часа назад, Алексей Миронович сказал: Roman_Petrov а можно ваш файл, целиком, у меня отказывается работать мой, может что то совсем не так. там права сбиться не могли у него? Вам легче будет заново переустановить все. После переустановки все настраивается буквально за 3 минуты. opkg remove syslog-ng Почистите ручками все файлы и папки, если что то осталось, с диска. Далее opkg update opkg upgrade opkg install syslog-ng Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 3, 2016 Share Posted September 3, 2016 Roman_Petrov ? всё переустановил, добавил в логах, только строчку на мой сервак Скрытый текст 192.168.6.111 - может ругаться из-за такого ip ? ) ~ # /opt/etc/init.d/S01syslog-ng restart Shutting down syslog-ng... done. Starting syslog-ng... failed. Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 3, 2016 Author Share Posted September 3, 2016 (edited) 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 September 3, 2016 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 3, 2016 Share Posted September 3, 2016 (edited) 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 September 3, 2016 by Алексей Миронович Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 3, 2016 Author Share Posted September 3, 2016 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 интерфейсе роутера должна быть активирована галка отправки журнала на себя же (читайте выше мануал). Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 3, 2016 Share Posted September 3, 2016 Roman_Petrov тогда к чему там вот эта строчка? или, по совету gvan, если требуется записывать также и подробные сообщения от системы и служб, поднятых через OPKG (например, от cron), так как в системный журнал попадают только те, что настроены в конфигурациях приложений, то можно объединить прием сообщений журнала роутера по протоколу udp с локальным сбором лога следующим образом: source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); }; Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 3, 2016 Author Share Posted September 3, 2016 (edited) 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 September 3, 2016 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
gvan Posted September 4, 2016 Share Posted September 4, 2016 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. Я намеренно внес ошибку в конф-файл, и проверка на синтаксис ее показала в той строке, в которой она находится. Если ошибок в конфигурации нет, то команда проверки завершится без каких-либо сообщений. 1 Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 7, 2016 Share Posted September 7, 2016 В 04.09.2016 в 18:19, gvan сказал: Если ошибок в конфигурации нет, то команда проверки завершится без каких-либо сообщений. файл проходит проверку, но всё равно при запуске ошибка Цитата ~ # syslog-ng -s ~ # /opt/etc/init.d/S01syslog-ng start Starting syslog-ng... failed. ~ # Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 7, 2016 Author Share Posted September 7, 2016 1 час назад, Алексей Миронович сказал: файл проходит проверку, но всё равно при запуске ошибка Выложите здесь копию или пошлите приватным сообщением все из конфигурационного файла, что вы прописали, посмотрим... Quote Link to comment Share on other sites More sharing options...
gvan Posted September 7, 2016 Share Posted September 7, 2016 (edited) 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 September 7, 2016 by gvan Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 9, 2016 Share Posted September 9, 2016 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); }; Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 9, 2016 Author Share Posted September 9, 2016 7 часов назад, Алексей Миронович сказал: Roman_Petrov gvan Адрес роenthf 192.168.6.1 Сервер на который шлю логи 192.168.6.111 сам кофигурационный файл Все совсем неправильно. Давайте так, вы конкретно, по очереди напишете что именно вы хотите получить, какие именно и откуда логи и куда вы их будете записывать, на какое устройство с каким адресом... Давайте точную схему и адреса устройств... Подсказка. Мануал сделан, чтобы писать лог с того же устройства на котором установлен syslog-ng. Читайте внимательно инструкцию и следуйте буквально copy-paste, если это ваш случай... Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 10, 2016 Share Posted September 10, 2016 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 должен собирать на себя все свои логи целиком, а не которую то их часть. Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 10, 2016 Author Share Posted September 10, 2016 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 . Ничего больше, как в инструкции написано, не делать-не менять не нужно!!! Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 10, 2016 Share Posted September 10, 2016 Цитата 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. ~ # Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 10, 2016 Author Share Posted September 10, 2016 33 минуты назад, Алексей Миронович сказал: на такую строчку то же ругается при запуске Выложите содержимое файла, я посмотрю что не так у вас. Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 10, 2016 Share Posted September 10, 2016 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); }; Quote Link to comment Share on other sites More sharing options...
gvan Posted September 10, 2016 Share Posted September 10, 2016 1 час назад, Алексей Миронович сказал: какого файла? если о syslog-ng.conf то А точно на кинетике у вас 192.168.6.1 адрес, а не 192.168.1.1? Если syslog не запущен, то что выдает ручная команда его запуска с ключом -e (вывод ошибок на консоль) "syslog-ng -e"? Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 11, 2016 Share Posted September 11, 2016 gvan адрес точно 6.1 Цитата ~ # syslog-ng -e Error in configuration, unresolved source reference; source='src' Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted September 11, 2016 Author Share Posted September 11, 2016 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 адрес, нужно только скопировать все и вставить с предварительной очисткой в ваш файл. Успехов. Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 12, 2016 Share Posted September 12, 2016 (edited) Стал разбираться и смотреть, , как у Романа Петрова и исправил как советовали строчку для лог файла - destination messages { file("/opt/var/log/messages"); }; и всё пошло , возвращаю destination messages { file("/opt/messages"); }; и всё возвращается на круги своя. Правлю всё из mc , ну так для информации. Edited September 12, 2016 by Алексей Миронович Quote Link to comment Share on other sites More sharing options...
TheBB Posted September 12, 2016 Share Posted September 12, 2016 /opt/messages существует? какие у него (messages) права? FS? Quote Link to comment Share on other sites More sharing options...
Алексей Миронович Posted September 12, 2016 Share Posted September 12, 2016 1 час назад, TheBB сказал: /opt/messages существует? какие у него (messages) права? FS? да существует, при этом пишет в лог файл, но не целеком, а как то урывками. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.