Jump to content

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


Recommended Posts

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


Вроде можно ещё фильтры прикрутить.


Отправлено с моего iPhone используя Tapatalk

275912746_.png.d5a9ca1a525a7cbf05ce2dff04c6cac4.png шото не хотит

Link to comment
Share on other sites

Что то у вас там неправильно:

нужно лишь вставить строку

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

};

Вместо 

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

};

 

Link to comment
Share on other sites

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

Что то у вас там неправильно:

нужно лишь вставить строку

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

};

Вместо 

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

};

 

Дык, а что я делаю не так?

Link to comment
Share on other sites

5 минут назад, PASPARTU сказал:

Дык, а что я делаю не так?

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

Link to comment
Share on other sites

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

Да это скрин конфига


Отправлено с моего iPhone используя Tapatalk
Link to comment
Share on other sites

Только что, Roman_Petrov сказал:

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

@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 net {
        udp(ip(192.16.200.200) port(514));
         udp(ip(192.16.200.201) port(514));
};

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

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

};

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

# put any customization files in this directory

 

 

Так?

Link to comment
Share on other sites

5 минут назад, PASPARTU сказал:

@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 net {
        udp(ip(192.16.200.200) port(514));
         udp(ip(192.16.200.201) port(514));
};

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

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

};

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

# put any customization files in this directory

 

 

Так?

Да, вроде все правильно, только пробелы лишние надо убрать, выше поправил 

Link to comment
Share on other sites

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

Да, вроде все правильно, только пробелы лишние надо убрать, выше поправил 

вообще перестал писать лог

Link to comment
Share on other sites

Это в файле конфигурации с синтаксисом проблемы. Где то что то осталось. По сути должно работать все, если вы аккуратно замените строку 

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

На 

file("/opt/var/log/messages_${SOURCEIP}");

 

Не внося больше пробелов и прочих неточностей.

Edited by Roman_Petrov
Link to comment
Share on other sites

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

Гарантировать на 100% я тоже не могу, пока сам не попробовал. Пока времени нет, скорее всего только на выходных получиться.

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

Link to comment
Share on other sites

В 17.08.2020 в 20:24, Roman_Petrov сказал:

Попробуйте или снесите и по новой поставтье просто

Проблема решилась вот так,

};
source net {
        udp(ip(192.168.11.1) port(514)); (роутер с внешним HDD куда все логи пишутся)
};
source kernel {
        file("/proc/kmsg" program_override("kernel"));
};
destination messages {
        file("/opt/var/log//messages_${SOURCEIP}"); ( кому не понятно, сюда IP адресса писать не нужно, просто "messages_"${SOURCEIP");"

 

Потом как время будет попробую разобраться с фильтрами что бы был лог

не messages_IP а LogHOME.LogIrinaRouter.Log OpenVPN.logL2TP. и тд и тп.

если афтор топика сможет сам сделать ман как это привести к более рабочему виду , я буду примного благодарен. в текущем виде это не куда не годится годится. Логи с сервисов и разных игрушек собирать так не удобно.

Link to comment
Share on other sites

В 19.08.2020 в 18:16, PASPARTU сказал:

Проблема решилась вот так,

};
source net {
        udp(ip(192.168.11.1) port(514)); (роутер с внешним HDD куда все логи пишутся)
};
source kernel {
        file("/proc/kmsg" program_override("kernel"));
};
destination messages {
        file("/opt/var/log//messages_${SOURCEIP}"); ( кому не понятно, сюда IP адресса писать не нужно, просто "messages_"${SOURCEIP");"

Извините за поздний ответ, чтобы мне было легче попробовать и понять, выложите пожалуйста целиком свой файл конфигурации (просто copy-paste), потому что на первый взгляд мне не совсем понятно, что отличается от мною предложенного варианта. Сколько у вас устройств в локальной/публичной сетях, откуда собираются логи и открывали ли вы порт 514 в межсетьевом экране, если есть устройства в публичной сети, как я предлагал в описании. 

Link to comment
Share on other sites

В 21.08.2020 в 01:18, Roman_Petrov сказал:

Извините за поздний ответ, чтобы мне было легче попробовать и понять, выложите пожалуйста целиком свой файл конфигурации (просто copy-paste), потому что на первый взгляд мне не совсем понятно, что отличается от мною предложенного варианта. Сколько у вас устройств в локальной/публичной сетях, откуда собираются логи и открывали ли вы порт 514 в межсетьевом экране, если есть устройства в публичной сети, как я предлагал в описании. 

@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.11.1) port(514));
};
source kernel {
        file("/proc/kmsg" program_override("kernel"));
};
destination messages {
        file("/opt/var/log//logFile_${SOURCEIP}");
};
log {
        source(src);
        source(net);
        source(kernel);
        destination(messages);
};
# put any customization files in this directory
# @include "/opt/etc/syslog-ng.d/"

 

 

в новой версии как я понял новый синтаксис, об этом говорить сам syslog-ng при запуске

 

Link to comment
Share on other sites

  • 1 year later...
  • 7 months later...

Что-то я запутался в рассуждениях ТС:

В 27.07.2016 в 20:23, Roman_Petrov сказал:

пробуйте такой вариант (фрагмент конфига, где в разделе src убрана строка unix-stream("/dev/log"); ), как предложил @gvan

@gvan вроде как предложил как раз-таки строку НЕ УБИРАТЬ:

В 02.08.2016 в 16:48, gvan сказал:

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

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

Так как в итоге правильно?

Мой конфиг (хочу класть логи в корень флешки):

#############################################################################
# OpenWrt syslog-ng.conf specific file
# which collects all local logs into a single file called /var/log/messages.
# More details about these settings can be found here:
# https://www.syslog-ng.com/technical-documents/list/syslog-ng-open-source-edition

@version: 3.36
# @include "scl.conf"

options {
        chain_hostnames(no); # Enable or disable the chained hostname format.
        create_dirs(yes);
        keep_hostname(yes); # Enable or disable hostname rewriting.
        log_fifo_size(256); # The number of messages that the output queue can store.
        log_msg_size(1024); # Maximum length of a message in bytes.
        stats_freq(0); # The period between two STATS messages (sent by syslog-ng, containing statistics about dropped logs) in seconds.
        flush_lines(0); # How many lines are flushed to a destination at a time.
        use_fqdn(no); # Add Fully Qualified Domain Name instead of short hostname.
};

# syslog-ng gets messages from syslog-ng (internal) and from /dev/log

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

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

# source s_network {
#       default-network-drivers(
                # NOTE: TLS support
                #
                # the default-network-drivers() source driver opens the TLS
                # enabled ports as well, however without an actual key/cert
                # pair they will not operate and syslog-ng would display a
                # warning at startup.
                #
                #tls(key-file("/path/to/ssl-private-key") cert-file("/path/to/ssl-cert"))
#       );
# };

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

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

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

        # uncomment this line to open port 514 to receive messages
        #source(s_network);
};

#
# Finally, include any user settings last so that s/he can override or
# supplement all "canned" settings inherited from the distribution.
#
#@include "/opt/etc/syslog-ng.d/" # Put any customization files in this directory

Создал в /opt файл messages, дал ему права 777. Syslog стартанул, в роутере адрес указал, но сам файл /opt/messages остается быть пустым. Что может быть не так, подскажите, пожалуйста?

Пробовал указывать:

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

- также ничего не пишется.

---------

UPD: Со старой версией (3.9) типа в режиме совместимости заработало. Похоже, что для новых версий (в моем случае выше конфиг версии 3.36) надо что-то ещё указывать, чтобы работало... Буду признателен, если кто-то подскажет решение.

Edited by The_Immortal
Link to comment
Share on other sites

  • 2 weeks later...

Здравствуйте,

----

Что может быть не так, подскажите... Буду признателен, если кто-то подскажет решение....

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

---

Пробовал указывать:

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

Это нужно только для ротации логов, т.е. если вы будете собирать логи с разных устройств и писать их в разные файлы, этой темой подробно занимался и описывал @gvan

 

 

Link to comment
Share on other sites

  • 2 years later...

Все работает.лог пишется. Но никак не могу настроить чтобы писал лог на ругой раздел диска где нет entware. Как прописать правильно в конфиге на отдельный раздел.  Раздел: /log такой записью не выходит

Link to comment
Share on other sites

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

Но никак не могу настроить чтобы писал лог на ругой раздел диска где нет entware.

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

вместо /opt/var/log/messages указать другой путь вида /tmp/mnt/xxxx/папка_с_логами/файл_с_логами

разделы диска монтируются в /tmp/mnt/xxxx

можно в консоли выполнить команду

mount

и посмотреть, как при монтированы разделы и в конфиге указать путь.

Edited by project_fcc
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...