Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто)))

  • Ответов 171
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано
28 минут назад, John9110 сказал:

Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто)))

По объему видимо никак, такой функционал не предусмотрен. По дате теоретически можно, сделав достаточно сложный скрипт с помощью cron. Но нужно ли это? Можно в этом самом файле пользоваться поиском по критерию даты. 

Опубликовано (изменено)
2 часа назад, John9110 сказал:

Здравствуйте, а как бы еще ограничить файлы логов по объему? или например по дате? ибо многометровый текстовый файл как то не круто)))

Все можно сделать. И по объему и по времени. Это же linux. Ставьте logrotate (возможно, он по дефолту уже стоит - я не помню) и настраивайте /opt/etc/logrotate.conf.

Только еще нужно в /opt/etc/cron.daily засунуть задачу, чтобы он запускал ротацию каждые сутки. И, конечно, предварительно поставить cron.

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

Изменено пользователем gvan
Опубликовано
1 час назад, gvan сказал:

Все можно сделать. ... могу выложить пример своей конфигурации для logrotate и cron.

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

Опубликовано (изменено)
22 часа назад, Roman_Petrov сказал:

Выкладываете, подробности конечно нам интересны.

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

Изменено пользователем gvan
Перенесено в отдельную тему
Опубликовано
5 часов назад, gvan сказал:

Решение вроде есть, но нужно ставить какой-то другой cron (из busybox). Возможно, данную проблему уже поправили в новых версиях прошивок. Но сейчас не могу проверить, т.к. у меня на диске файловая система ext3 и теперь проблем нет (но они у меня были с ntfs).

Единственное решение для NTFS, чтобы все работало, это действительно crontab из busybox, т.к. vixie's cron (который ставиться отдельно) здесь работать не будет. Во всяком случае, после того, как обновили пару недель назад драйвер NTFS, проблем больше нет никаких. А вот vixie's cron по любому не работает. Как можно поставить (настроить) crontab из busybox можно взять отсюда.

Решение с logrotate действительно интересно, нужно будет при наличии времени попробовать. А так, от имени всех, большое спасибо. Кому актуально, думаю очень пригодиться. Думаю и я в хозяйстве пристрою, т.к. сегодня мой лог файл за 2 месяца раздулся аж до 512 Мб ;)

Опубликовано
14 часа назад, Roman_Petrov сказал:

Решение с logrotate действительно интересно, нужно будет при наличии времени попробовать

Да, это нужно обязательно сделать. В логе будет проще что-то найти. Да и хранить древние, никому ненужные объемы данных никакого смысла нет.

Свое предыдущее сообщение немного дополнил, конфигурацию для ротации /opt/var/log/messages вынес в отдельный файл (чтобы не изменять основной конф-файл logrotate).

Пробуйте. Возможно, что-то не учел или где-то ошибся. Если не получится или что-то не заработает, как нужно, сообщайте. Будем разбираться.

Опубликовано (изменено)
1 час назад, gvan сказал:

Пробуйте. Возможно, что-то не учел или где-то ошибся. Если не получится или что-то не заработает, как нужно, сообщайте. Будем разбираться.

В моем случае это было не особенно актуально, т.к. делал сбор лога определенное время, только когда были проблемы с перегрузкой роутера, чтобы пытаться поймать что происходит... Потом решили другим путем (сняли дамп после kernel panic) и мне стало не актуально, но и сносить не стал ради любопытства как поведет себя, если будет долго работать. Подходить так профессионально, с сортировками по размеру и т.д. как вы, я не стал, да и не знал о существовании lograte. Но ради общества в целом можно подробно тему раскурить и внести в шапку.

Изменено пользователем Roman_Petrov
Опубликовано
8 минут назад, Roman_Petrov сказал:

Но ради общества в целом можно подробно тему раскурить и внести в шапку.

Я тоже об этом подумал. Есть желание это оформить в отдельную тему. Да и так правильней будет: сбор логов это одно дело, а управление их ротацией - другое. Могут быть и другие службы запущены, которые пишут свои логи в отдельные файлы (у меня это, например, прокси).

Просто кроме меня пока это понадобилось только одному пользователю, поэтому пока руки не доходили :)

Опубликовано (изменено)
20 минут назад, gvan сказал:

Я тоже об этом подумал. Есть желание это оформить в отдельную тему. Да и так правильней будет: сбор логов это одно дело, а управление их ротацией - другое. Могут быть и другие службы запущены, которые пишут свои логи в отдельные файлы (у меня это, например, прокси).

Просто кроме меня пока это понадобилось только одному пользователю, поэтому пока руки не доходили :)

Ваша права. Сделайте отдельную тему, я закину ссылку в шапку. Кому нужна будет и ротация-сортировка, сделает. И всем хорошо ;)

Изменено пользователем Roman_Petrov
Опубликовано
40 минут назад, Roman_Petrov сказал:

Сделайте отдельную тему

Перенес. Исходное сообщение отредактировал с указанием ссылки на тему.

Опубликовано
10 часов назад, gvan сказал:

Перенес. Исходное сообщение отредактировал с указанием ссылки на тему.

Закинул ссылку в шапку. Спасибо за работу, думаю многим будет интересно, кто в теме. Успехов!!!

  • 2 недели спустя...
Опубликовано (изменено)
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 

Тогда у вас приходит в норму все? 

Изменено пользователем Roman_Petrov
  • 4 недели спустя...
Опубликовано

Помогите пожалуйста, разобраться .

Роутер 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 ?.

Спасибо

Опубликовано
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) и поставить чекбокс.

Опубликовано (изменено)

1. Entware  стоит уже давно , до этого был Zyxware

2. настройках журнала роутера  только системные логи , а мне нужно все.

Нужно это , потому что , данный роутер работает два три дня и зависает (нет доступа веб интрефейсу, SSH).
Только ребут. Ничего нового не устанавливал на него , работал месяцами.

Последнее время наблюдаются зависоны

 

Вот и хочу узнать ,что происходит

Изменено пользователем yuoras
Опубликовано
В 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. Скорее всего у вас уже подгорел процессор, такое бывает. Лечится временно приклейкой более мощного радиатора.

Опубликовано
3 часа назад, Roman_Petrov сказал:

Если вы хотите писать логи с помощью syslog на NAS

Сам не пробовал на внешний сервер отдавать, но, судя по всему, примерно так:

destination remote {udp("192.168.1.111" port(514));};

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

 

Опубликовано (изменено)
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)); };

Может и так прокатит... Реально судя по всему никто это делать не пробовал, нужно поэксперементировать.

Изменено пользователем Roman_Petrov
  • 4 недели спустя...
Опубликовано

Пока сделал(подглядел) разделение лога на год\месяц\день. пример внизу. Завтра увижу, делит ли лог на день.

 

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

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 час назад, 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));};

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

В роутере батарейки нет, поэтому при его загрузке дата берется из конфа.

  • 1 месяц спустя...
Опубликовано (изменено)

syslog-ng некорректно обновляется на новую версию 3.8.1-3.

Пришлось удалить старую версию,

после чего новая версия не ставилась из-за конфликта в устанавливаемых библиотеках,

была поставлена с ключем --force_overwrite

после чего пришлось восстанавливать потерявшийся конфиг из backup-а

посте чего получил кучу warning-ов по конфигу - предыдущая версия очень старая, изменилось очень много, приведенные ранее в этой теме примеры, вероятно, стали некорректны.

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

Изменено пользователем HuduGuru
Дополнение
Опубликовано
55 минут назад, HuduGuru сказал:

после чего новая версия не ставилась из-за конфликта в устанавливаемых библиотеках,

К сожалению система пакетов opkg не слишком интеллектуальна. Такое возможно.

Нужно руками переустанавливать пакеты с флагом `--force-reinstall`

  • 2 месяца спустя...
Опубликовано

обновились пакеты и за одно 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"
	

Опубликовано (изменено)

А что у вас раньше стояло здесь:

};

 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));

};

Т.е. в него подставлять настройку приема лога с отправляемого виртуально в сеть по настройке журнала роутера...

Изменено пользователем Roman_Petrov
Опубликовано

конфиг попробовал поправить и строку

    udp(ip(0.0.0.0) port(514));

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

    udp(ip(192.168.1.1) port(514));

и в журнале настроек там над журналом самим указан тот же ип адрес, тоесть адрес моего роутера. но так и ничего не изменилось и лог не пишется.и

Опубликовано

Есть одно сомнение. В веб интерфейсе на вкладке журнала вы поставили галку на "отправлять лог на" и выставили адрес самого роутера? 

Опубликовано

А там в веб интерфейсе нету таковой как галки, чтоб отправлять журнал на внешний компьютер. там просто адрес написан и всё. а вот или галку я не вижу, а она как-то есть, то я сказать не могу. по зрению полный 0. но уже и исходник хтмл той странички смотрел и нету там такой галки, что отправлять журнал, а только ип адрес пишется.

Опубликовано

да нет. там всё хорошо.

в логе пишется вот такое.

Syslog: server 192.168.1.1: added.

 

так что думаю, что сервер там прописан и оно б должно отправлять, но просто что syslog-ng не пишет.

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.