John9110 Posted October 9, 2016 Share Posted October 9, 2016 Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто))) Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 9, 2016 Author Share Posted October 9, 2016 28 минут назад, John9110 сказал: Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто))) По объему видимо никак, такой функционал не предусмотрен. По дате теоретически можно, сделав достаточно сложный скрипт с помощью cron. Но нужно ли это? Можно в этом самом файле пользоваться поиском по критерию даты. Quote Link to comment Share on other sites More sharing options...
gvan Posted October 9, 2016 Share Posted October 9, 2016 (edited) 2 часа назад, John9110 сказал: Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто))) Все можно сделать. И по объему и по времени. Это же linux. Ставьте logrotate (возможно, он по дефолту уже стоит - я не помню) и настраивайте /opt/etc/logrotate.conf. Только еще нужно в /opt/etc/cron.daily засунуть задачу, чтобы он запускал ротацию каждые сутки. И, конечно, предварительно поставить cron. Сейчас спешу. Если не разберетесь и требуется дополнительная помощь, то могу выложить пример своей конфигурации для logrotate и cron. Edited October 9, 2016 by gvan Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 9, 2016 Author Share Posted October 9, 2016 1 час назад, gvan сказал: Все можно сделать. ... могу выложить пример своей конфигурации для logrotate и cron. Выкладываете, подробности конечно нам интересны. Всегда приятно иметь в копилке логгеров альтернативы, особенно если они лучше. Quote Link to comment Share on other sites More sharing options...
gvan Posted October 9, 2016 Share Posted October 9, 2016 (edited) 22 часа назад, Roman_Petrov сказал: Выкладываете, подробности конечно нам интересны. Ротация логов в entware, записанных на внешний USB-диск Edited October 10, 2016 by gvan Перенесено в отдельную тему 1 Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 9, 2016 Author Share Posted October 9, 2016 5 часов назад, gvan сказал: Решение вроде есть, но нужно ставить какой-то другой cron (из busybox). Возможно, данную проблему уже поправили в новых версиях прошивок. Но сейчас не могу проверить, т.к. у меня на диске файловая система ext3 и теперь проблем нет (но они у меня были с ntfs). Единственное решение для NTFS, чтобы все работало, это действительно crontab из busybox, т.к. vixie's cron (который ставиться отдельно) здесь работать не будет. Во всяком случае, после того, как обновили пару недель назад драйвер NTFS, проблем больше нет никаких. А вот vixie's cron по любому не работает. Как можно поставить (настроить) crontab из busybox можно взять отсюда. Решение с logrotate действительно интересно, нужно будет при наличии времени попробовать. А так, от имени всех, большое спасибо. Кому актуально, думаю очень пригодиться. Думаю и я в хозяйстве пристрою, т.к. сегодня мой лог файл за 2 месяца раздулся аж до 512 Мб Quote Link to comment Share on other sites More sharing options...
gvan Posted October 10, 2016 Share Posted October 10, 2016 14 часа назад, Roman_Petrov сказал: Решение с logrotate действительно интересно, нужно будет при наличии времени попробовать Да, это нужно обязательно сделать. В логе будет проще что-то найти. Да и хранить древние, никому ненужные объемы данных никакого смысла нет. Свое предыдущее сообщение немного дополнил, конфигурацию для ротации /opt/var/log/messages вынес в отдельный файл (чтобы не изменять основной конф-файл logrotate). Пробуйте. Возможно, что-то не учел или где-то ошибся. Если не получится или что-то не заработает, как нужно, сообщайте. Будем разбираться. Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 10, 2016 Author Share Posted October 10, 2016 (edited) 1 час назад, gvan сказал: Пробуйте. Возможно, что-то не учел или где-то ошибся. Если не получится или что-то не заработает, как нужно, сообщайте. Будем разбираться. В моем случае это было не особенно актуально, т.к. делал сбор лога определенное время, только когда были проблемы с перегрузкой роутера, чтобы пытаться поймать что происходит... Потом решили другим путем (сняли дамп после kernel panic) и мне стало не актуально, но и сносить не стал ради любопытства как поведет себя, если будет долго работать. Подходить так профессионально, с сортировками по размеру и т.д. как вы, я не стал, да и не знал о существовании lograte. Но ради общества в целом можно подробно тему раскурить и внести в шапку. Edited October 10, 2016 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
gvan Posted October 10, 2016 Share Posted October 10, 2016 8 минут назад, Roman_Petrov сказал: Но ради общества в целом можно подробно тему раскурить и внести в шапку. Я тоже об этом подумал. Есть желание это оформить в отдельную тему. Да и так правильней будет: сбор логов это одно дело, а управление их ротацией - другое. Могут быть и другие службы запущены, которые пишут свои логи в отдельные файлы (у меня это, например, прокси). Просто кроме меня пока это понадобилось только одному пользователю, поэтому пока руки не доходили Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 10, 2016 Author Share Posted October 10, 2016 (edited) 20 минут назад, gvan сказал: Я тоже об этом подумал. Есть желание это оформить в отдельную тему. Да и так правильней будет: сбор логов это одно дело, а управление их ротацией - другое. Могут быть и другие службы запущены, которые пишут свои логи в отдельные файлы (у меня это, например, прокси). Просто кроме меня пока это понадобилось только одному пользователю, поэтому пока руки не доходили Ваша права. Сделайте отдельную тему, я закину ссылку в шапку. Кому нужна будет и ротация-сортировка, сделает. И всем хорошо Edited October 10, 2016 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
gvan Posted October 10, 2016 Share Posted October 10, 2016 40 минут назад, Roman_Petrov сказал: Сделайте отдельную тему Перенес. Исходное сообщение отредактировал с указанием ссылки на тему. Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 10, 2016 Author Share Posted October 10, 2016 10 часов назад, gvan сказал: Перенес. Исходное сообщение отредактировал с указанием ссылки на тему. Закинул ссылку в шапку. Спасибо за работу, думаю многим будет интересно, кто в теме. Успехов!!! Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted October 24, 2016 Author Share Posted October 24, 2016 (edited) 1 час назад, enpa сказал: Giga II...Установил. Прошивка v2.06(AAFS.5)C1. Когда прописываю: ~ # /opt/etc/init.d/S01syslog-ng start Starting syslog-ng... Segmentation fault failed. пишет Segmentation fault, и ... при этом лог сохраняется (куда прописал), в destination messages { file("/opt/syslogs/messages"); }; вопрос. в чем косяк? почему же Segmentation fault? Разве 2.06 не заточена под opkg, а тем более под Entware-Keenetic? Хотя выше указано, что есть поддержка. Файловая система ext3. Куда копать? Вопрос, вы данную директорию на диске ваш_диск/syslogs предварительно физически на диске создали (есть такая в корне вашего диска?). Можете попробовать сначала, чтобы писал как по умолчанию opt/var/log/messages Тогда у вас приходит в норму все? Edited October 24, 2016 by Roman_Petrov 1 Quote Link to comment Share on other sites More sharing options...
yuoras Posted December 13, 2016 Share Posted December 13, 2016 Помогите пожалуйста, разобраться . Роутер 192.168.1.1 nas c возможностью собирать статистику 192.168.1.111 Как только активировал стандартную отправку логов на удаленный сервер в настройках роутера и указал IP 192.168.1.111. Стандартные Логи на NAS побежали. Вот конфиг Скрытый текст 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 { udp(ip(192.168.1.) port(514)); }; unix-stream("/dev/log"); }; destination messages { file("/opt/var/log/messages"); }; log { source(src); destination(messages); }; Как только указываю IP NAS 192.168.1.111 в конфиге , тогда служба просто не стартует ~ # /opt/etc/init.d/S01syslog-ng start Starting syslog-ng... failed. Как заставить роутер отправлять все логи на NAS ?. Спасибо Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted December 13, 2016 Author Share Posted December 13, 2016 52 минуты назад, yuoras сказал: Помогите пожалуйста, разобраться . Роутер 192.168.1.1 nas c возможностью собирать статистику 192.168.1.111 Как только активировал стандартную отправку логов на удаленный сервер в настройках роутера и указал IP 192.168.1.111. Стандартные Логи на NAS побежали. Вот конфиг Показать содержимое 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 { udp(ip(192.168.1.) port(514)); }; unix-stream("/dev/log"); }; destination messages { file("/opt/var/log/messages"); }; log { source(src); destination(messages); }; Как только указываю IP NAS 192.168.1.111 в конфиге , тогда служба просто не стартует ~ # /opt/etc/init.d/S01syslog-ng start Starting syslog-ng... failed. Как заставить роутер отправлять все логи на NAS ?. Спасибо Если вы хотите логи отправлять на NAS, Entware вам с Syslog вообще не нужно. Достаточно в настройках журнала роутера указать адрес вашего NAS (192.168.1.111) и поставить чекбокс. Quote Link to comment Share on other sites More sharing options...
yuoras Posted December 13, 2016 Share Posted December 13, 2016 (edited) 1. Entware стоит уже давно , до этого был Zyxware 2. настройках журнала роутера только системные логи , а мне нужно все. Нужно это , потому что , данный роутер работает два три дня и зависает (нет доступа веб интрефейсу, SSH). Только ребут. Ничего нового не устанавливал на него , работал месяцами. Последнее время наблюдаются зависоны Вот и хочу узнать ,что происходит Edited December 13, 2016 by yuoras Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted December 15, 2016 Author Share Posted December 15, 2016 В Tuesday, December 13, 2016 в 19:08, yuoras сказал: 1. Entware стоит уже давно , до этого был Zyxware 2. настройках журнала роутера только системные логи , а мне нужно все. Нужно это , потому что , данный роутер работает два три дня и зависает (нет доступа веб интрефейсу, SSH). Только ребут. Ничего нового не устанавливал на него , работал месяцами. Последнее время наблюдаются зависоны Вот и хочу узнать ,что происходит Если вы хотите писать логи с помощью syslog на NAS (имхо нет смысла, т.к. с таким же успехом вы можете писать на ЖД роутера), то нужно поиграться со строкой в конфиге, подставляя вместо file расположение NAS в сети: destination messages { file("/opt/var/log/messages"); }; P.S. Скорее всего у вас уже подгорел процессор, такое бывает. Лечится временно приклейкой более мощного радиатора. Quote Link to comment Share on other sites More sharing options...
gvan Posted December 15, 2016 Share Posted December 15, 2016 3 часа назад, Roman_Petrov сказал: Если вы хотите писать логи с помощью syslog на NAS Сам не пробовал на внешний сервер отдавать, но, судя по всему, примерно так: destination remote {udp("192.168.1.111" port(514));}; log { source(src); destination(remote); }; Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted December 15, 2016 Author Share Posted December 15, 2016 (edited) 3 часа назад, gvan сказал: Сам не пробовал на внешний сервер отдавать, но, судя по всему, примерно так: destination remote {udp("192.168.1.111" port(514));}; log { source(src); destination(remote); }; Да, сейчас можно попробовать и так destination messages { udp("192.168.1.111" port(514)); }; Может и так прокатит... Реально судя по всему никто это делать не пробовал, нужно поэксперементировать. Edited December 15, 2016 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
John9110 Posted January 10, 2017 Share Posted January 10, 2017 Пока сделал(подглядел) разделение лога на год\месяц\день. пример внизу. Завтра увижу, делит ли лог на день. Скрытый текст 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.1.1) port(514)); }; #destination messages { file("/opt/My_Files/log/messages.txt"); }; destination messages { file("/opt/My_Files/log/$YEAR/$MONTH/$DAY/messages.txt" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; log { source(src); destination(messages); }; 1 Quote Link to comment Share on other sites More sharing options...
gvan Posted January 10, 2017 Share Posted January 10, 2017 1 час назад, John9110 сказал: destination messages { file("/opt/My_Files/log/$YEAR/$MONTH/$DAY/messages.txt" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));}; Есть один небольшой (или большой) минус. Будьте готовы к тому, что после перезагрузки роутера часть лога до того момента, пока на нем не синхронизируются часы через интернет, может попасть в старые даты (логи). В роутере батарейки нет, поэтому при его загрузке дата берется из конфа. Quote Link to comment Share on other sites More sharing options...
HuduGuru Posted February 26, 2017 Share Posted February 26, 2017 (edited) syslog-ng некорректно обновляется на новую версию 3.8.1-3. Пришлось удалить старую версию, после чего новая версия не ставилась из-за конфликта в устанавливаемых библиотеках, была поставлена с ключем --force_overwrite после чего пришлось восстанавливать потерявшийся конфиг из backup-а посте чего получил кучу warning-ов по конфигу - предыдущая версия очень старая, изменилось очень много, приведенные ранее в этой теме примеры, вероятно, стали некорректны. Впрочем, warning-и внятные, старый конфиг исправлятся довольно просто, главное, иметь его копию, и не стирать сразу новый конфиг, чтобы взять из него, что нужно. Edited February 26, 2017 by HuduGuru Дополнение Quote Link to comment Share on other sites More sharing options...
TheBB Posted February 26, 2017 Share Posted February 26, 2017 Всё из-за того, что в OpenWRT - syslog-ng: import from oldpackages & eventlog: import from oldpackages , с переименованием второго Quote Link to comment Share on other sites More sharing options...
zyxmon Posted February 26, 2017 Share Posted February 26, 2017 55 минут назад, HuduGuru сказал: после чего новая версия не ставилась из-за конфликта в устанавливаемых библиотеках, К сожалению система пакетов opkg не слишком интеллектуальна. Такое возможно. Нужно руками переустанавливать пакеты с флагом `--force-reinstall` Quote Link to comment Share on other sites More sharing options...
felcons Posted April 28, 2017 Share Posted April 28, 2017 обновились пакеты и за одно syslog-ng, и хотя он стартует без ошибок, но уже и логи не пишет. и вообще не создаёт файл. нигде ошибок не выдаётся но и логи не пишутся. вот такой конфиг @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 { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/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); }; @include "/opt/etc/custom-logs.conf" Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted April 28, 2017 Author Share Posted April 28, 2017 (edited) А что у вас раньше стояло здесь: }; source src { udp(ip(192.168.1.1) port(514)); internal(); unix-stream("/dev/log"); }; ? Судя по файлу конфигурации, который вы привели, изменилась его структура. Я уже давненько за отсутствием времени не обновлял пакеты и видимо упустил. P.S. по виду создается впечетление, что теперь нужно, как явно подсказывает сам изначальный текст настроек, работать с: }; source net { udp(ip(0.0.0.0) port(514)); }; Т.е. в него подставлять настройку приема лога с отправляемого виртуально в сеть по настройке журнала роутера... Edited April 28, 2017 by Roman_Petrov Quote Link to comment Share on other sites More sharing options...
felcons Posted April 29, 2017 Share Posted April 29, 2017 конфиг попробовал поправить и строку udp(ip(0.0.0.0) port(514)); поменял на строку udp(ip(192.168.1.1) port(514)); и в журнале настроек там над журналом самим указан тот же ип адрес, тоесть адрес моего роутера. но так и ничего не изменилось и лог не пишется.и Quote Link to comment Share on other sites More sharing options...
Roman_Petrov Posted April 29, 2017 Author Share Posted April 29, 2017 Есть одно сомнение. В веб интерфейсе на вкладке журнала вы поставили галку на "отправлять лог на" и выставили адрес самого роутера? Quote Link to comment Share on other sites More sharing options...
felcons Posted April 29, 2017 Share Posted April 29, 2017 А там в веб интерфейсе нету таковой как галки, чтоб отправлять журнал на внешний компьютер. там просто адрес написан и всё. а вот или галку я не вижу, а она как-то есть, то я сказать не могу. по зрению полный 0. но уже и исходник хтмл той странички смотрел и нету там такой галки, что отправлять журнал, а только ип адрес пишется. Quote Link to comment Share on other sites More sharing options...
felcons Posted April 29, 2017 Share Posted April 29, 2017 да нет. там всё хорошо. в логе пишется вот такое. Syslog: server 192.168.1.1: added. так что думаю, что сервер там прописан и оно б должно отправлять, но просто что syslog-ng не пишет. 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.