Jump to content

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


Recommended Posts

А что там изображено то я ж не вижу. я пользуюсь синтезатором речи и программой экранного доступа. Картинки то не читаются. прошу уточнить.

Link to comment
Share on other sites

После обновление стал вырубаться S01syslog-ng.

Смотрю через web-интерфейс

Если там нажать запустить сервис S01syslog-ng он показывает что запущен, затем (после обновления страницы) показывает что выключен.

Может это кому то поможет решить проблему, у самого знаний не хватает пока на это.

Link to comment
Share on other sites

Для тех у кого не работает:

Закоментил последнюю строку в syslog-ng.conf (#@include "/opt/etc/custom-logs.conf")

Все заработало! Логи снова пишутся

Link to comment
Share on other sites

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

Вот так выглядит конфиг.

@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(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);
};

#@include "/opt/etc/custom-logs.conf"

 

Link to comment
Share on other sites

31 минуту назад, felcons сказал:

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

Вот так выглядит конфиг.

@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(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);
};

#@include "/opt/etc/custom-logs.conf"

 

Проблема зарыта здесь скорее всего

};

 

source src {

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

    internal();

    unix-stream("/dev/log");

};

 

source net {

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

};

И возможно вы не зделали что я писал выше. Сейчас катастрофически не хватает времени, буду благодарен @Lordmaster если пока выложит содержимое своего конфиг файла, чтобы помочь человеку... Хотя в принципе я думаю, что поправить все просто и реально. В ближайшее время описание поправлю в шапке.

 

Link to comment
Share on other sites

Мой лог

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

 

@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(192.168.178.1) port(514));

};

 

source kernel {

        file("/proc/kmsg" program_override("kernel"));

};

 

destination messages {

        file("/opt/mnt/Remote/log/messages.log");

};

 

log {

        source(src);

        source(net);

        source(kernel);

        destination(messages);

};

 

#@include "/opt/etc/custom-logs.conf"

 

  • Thanks 1
Link to comment
Share on other sites

3 часа назад, felcons сказал:

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

Вот так выглядит конфиг.

@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(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);
};

#@include "/opt/etc/custom-logs.conf"

 

 

Что выводит при запуске syslog-ng через ssh?

Мне выдало ошибку отсутствия этого файла.

  • Thanks 1
Link to comment
Share on other sites

по запуску /opt/etc/init.d/S01syslog-ng start

мне говорит что служба стартует, но вот лог не ведётся.

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

Link to comment
Share on other sites

15 минут назад, felcons сказал:

по запуску /opt/etc/init.d/S01syslog-ng start

мне говорит что служба стартует, но вот лог не ведётся.

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

 Один в один никак нельзя было, там путь к диску на который пишет у @felcons совершенно другой прописан. И адрес самого себя, роутера не 192.168.1.1 а другой. По хорошему вам надо как то так:

@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-stream("/dev/log");

};

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

};

#@include "/opt/etc/custom-logs.conf"

Прописывать надо все вдумчиво, своими ручками, с пониманием что и как делаем, указвывая то что нужно именно нам, а не copy-paste.

В веб роутера задать отправку журнала на ремонтный адрес самого себя, т.е 192.168.1.1 

Screenshot_20170429-113512.thumb.jpg.97cf180ab9347c1c23f9307145a0f192.jpg

Потом только стартовать уже syslog-ng 

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

Link to comment
Share on other sites

8 часов назад, felcons сказал:

по запуску /opt/etc/init.d/S01syslog-ng start

мне говорит что служба стартует, но вот лог не ведётся.

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

Наверное я не так объяснил.

Выполните команду syslog-ng.

Она покажет вам лог запуска. В нем и будет написана ошибка, из за которой сервис не стартует.

syslog-ng.jpg

Link to comment
Share on other sites

По просьбам трудящихся изучил проблему с обновлением на 3.9 с 2.хх. Необходимо проделать следующее:

1. Обновить opkg

opkg update

opkg upgrade

Скорее всего в конце будет ошибка о невозможности обновления syslog-ng из за несовпадение конфигов, библиотек и т.д.

2. Сохраните пути и данные из своего старого конфига по пути nano /opt/etc/syslog-ng.conf (я считаю, что у вас установлен nano - opkg install nano)

3. Пути по opkg install --force-reinstall syslog-ng скорее всего не будет, не даст, поэтому только останется одно-насильно переставить с полной перезаписью:

opkg install --force_overwrite syslog-ng

 

4. Придётся по новой прописывать конфигурацию по пути (я считаю, что у вас установлен nano - opkg install 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/"

Я изменил на свои настройки:

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

@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/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/"

#здесь изменил на журналирование UNIX-stream (удалил unix-dgram("/dev/log"); )

source src {
        internal();

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

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

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

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

#здесь закоментил путь к includes:

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

 

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

syslog-ng -s

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

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

6. Через некоторое время проверяем, что все пишется с помощью nano:

nano /opt/var/log/messages

 

Проверяйте как работает и пишите.

Edited by Roman_Petrov
обновление от 26.12.2017
  • Thanks 1
Link to comment
Share on other sites

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

logger пишет в место на диске, указанное в syslog-ng, а системные приложения пишут в лог на удаленный сервер, настроенный в вэб-интерфейсе.

Как сделать так, чтобы logger писал и на диск и на удаленный сервер (настроенный в вэб-интерфейсе)?

Link to comment
Share on other sites

9 часов назад, serguei00 сказал:

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

logger пишет в место на диске, указанное в syslog-ng, а системные приложения пишут в лог на удаленный сервер, настроенный в вэб-интерфейсе.

Как сделать так, чтобы logger писал и на диск и на удаленный сервер (настроенный в вэб-интерфейсе)?

Честно говоря пока у меня такой задачи не стояло. Можно может быть пытаться как то гнуть syslog ng, с отправкой системного и opkg журнала в syslog ng и от него уже на удаленный сервер... Может кто то это делал здесь, подскажет

Link to comment
Share on other sites

2 часа назад, serguei00 сказал:

похоже работает вариант 

destination messages {

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

udp("1.1.1.1" port(514));

};

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

Edited by Roman_Petrov
Link to comment
Share on other sites

12 часа назад, Roman_Petrov сказал:

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

Изменил свой конфиг согласно предложенному. 3 часа работает без нареканий.

  • Thanks 1
Link to comment
Share on other sites

10 минут назад, Lordmaster сказал:

Изменил свой конфиг согласно предложенному. 3 часа работает без нареканий.

Спасибо за обратную связь. Попробуйте еще отправлять с syslog-ng на удаленный сервер и одновременно писать на диск, как написал @serguei00, будет работать? Если есть возможность? 

Link to comment
Share on other sites

а к-н в курсе где настройки системного  лога (настроенного в вэб-интерфейсе) можно увидеть в файловой системе?

Link to comment
Share on other sites

Никто не сталкивался с тем что логи из opkg переставали писаться в системные логи?

В файле messages они есть, а вот именно в веб-интерфейсе пропали

Link to comment
Share on other sites

В ‎05‎/‎05‎/‎2017 в 12:08, Lordmaster сказал:

Никто не сталкивался с тем что логи из opkg переставали писаться в системные логи?

В файле messages они есть, а вот именно в веб-интерфейсе пропали

Нужно удалять строчку на  unix-strem. Для этого мы удаляем соотв. строчку в конфиге syslog-ng unix-dgram("/dev/log"); или unix-stream("/dev/log");

Edited by Roman_Petrov
обновление от 26.12.2017
Link to comment
Share on other sites

2 минуты назад, Roman_Petrov сказал:

Они вроде никогда не отображались в официальном журнале, насколько я помню. Потому что берутся из ядра прошивки... opkg использует отличный источник, unix-strem. Для этого и меняли мы соотв. строчку в конфиге syslog-ng

Раньше были сообщения о sshd, cron. Теперь перестали поступать.

Но в messages исправно пишутся

Edited by Lordmaster
Link to comment
Share on other sites

1 час назад, serguei00 сказал:

а к-н в курсе где настройки системного  лога (настроенного в вэб-интерфейсе) можно увидеть в файловой системе?

Похоже я в спешке не так понял, поясните что конкретно вы имели в виду под этим?

Edited by Roman_Petrov
Link to comment
Share on other sites

1 минуту назад, Lordmaster сказал:

Раньше были сообщения о sshd, cron. Теперь перестали поступать

О кроне действительно, да, было что то. Я думаю это зависит какой из двух видов крона вы юзайте. Если из прошивки, то будет отображаться, если ставите через opkg то нет.

Link to comment
Share on other sites

1 минуту назад, Roman_Petrov сказал:

О кроне действительно, да, было что то. Я думаю это зависит какой из двух видов крона вы юзайте. Если из прошивки, то будет отображаться, если ставите через opkg то нет.

cron не менялся. Нашел такой же баг: 

Чувствую что то не чисто с этими настройками. Надо перелопачивать заново все.

Link to comment
Share on other sites

6 минут назад, Lordmaster сказал:

cron не менялся. Нашел такой же баг: 

Чувствую что то не чисто с этими настройками. Надо перелопачивать заново все.

Черт его знает. А если "убить" syslog-ng и переименовать с S на K чтобы не стартовал после перегрузки, то тогда что ? Отображается? 

Т.е. сейчас если настроить по моей рекомендации, после перегрузки роутера не показывается часть сообщений?

Edited by Roman_Petrov
Link to comment
Share on other sites

4 минуты назад, Roman_Petrov сказал:

Черт его знает. А если "убить" syslog-ng и переименовать с S на K чтобы не стартовал после перегрузки, то тогда что ? Отображается? 

Отображаются в полном объеме

Link to comment
Share on other sites

В ‎05‎/‎05‎/‎2017 в 12:31, Lordmaster сказал:

Отображаются в полном объеме

Тогда вероятно нужно переделать одну вещь. Нужно удалять строчку на  unix-strem. Для этого мы удаляем соотв. строчку в конфиге syslog-ng unix-dgram("/dev/log"); или unix-stream("/dev/log");

Попробуйте, у меня работает так. 

Edited by Roman_Petrov
Link to comment
Share on other sites

  • 2 weeks later...
В 05.05.2017 в 21:08, Lordmaster сказал:

Никто не сталкивался с тем что логи из opkg переставали писаться в системные логи?

В файле messages они есть, а вот именно в веб-интерфейсе пропали

Тоже столкнулся с такой проблемой. У меня заработал вот такой конфиг:

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

Все сообщения теперь и в файл пишутся и в журнале через веб-интерфейс видны тоже.

  • Thanks 1
Link to comment
Share on other sites

2 часа назад, DarkDiver сказал:

Тоже столкнулся с такой проблемой. У меня заработал вот такой конфиг:


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

Все сообщения теперь и в файл пишутся и в журнале через веб-интерфейс видны тоже.

Тоже сработало с таким конфигом! Спасибо огромное за подсказку!

Link to comment
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...