Page 3 of 17 FirstFirst 1234513 ... LastLast
Results 31 to 45 of 242

Thread: Заменяем стандартный syslogd на syslog-ng

  1. #31
    Quote Originally Posted by sauron093 View Post
    просто очистка - не интересно :-) попозже выложу как настроил
    не забудь только выложить

  2. #32
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    вынес в отдельную тему http://wl500g.info/showthread.php?t=15834 может кому пригодится
    Last edited by sauron093; 29-08-2008 at 11:11.
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  3. #33
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205

    Post Заменяем стандартный syslogd на syslog-ng

    несколько переработал инструкцию и скрипты

    первым делом устанавливаем syslog-ng
    Code:
    ipkg update
    ipkg install syslog-ng
    после установки заменяем или исправляем файл запуска

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

    на следущее:
    Code:
    #!/bin/sh
    #
    # Startup script for syslog-ng
    #
    
    # Stop syslogd if running
    if [ -n "`pidof syslogd`" ]; then
        killall syslogd 2>/dev/null
        sleep 1
    fi
    
    if [ -n "`pidof klogd`" ]; then
        killall klogd 2>/dev/null
        sleep 1
    
        # copy content of original syslogd to new syslog.
        cat /tmp/syslog.log >> /opt/var/log/syslog-ng.log
        # remove old syslog.log
        rm /tmp/syslog.log
    
        ln -s /opt/var/log/syslog-ng.log /tmp/syslog.log
    
    fi
    	
    # Stop itself if running
    if [ -n "`pidof syslog-ng`" ]; then
        killall syslog-ng 2>/dev/null
        sleep 2
    fi
    
    /opt/sbin/syslog-ng
    скрипт при запуске убивает стандартный логгер, перекидывает лог на внешний носитель.
    созданный симлинк позволяет видеть лог через веб

    заменяем файл конфигурации

    /opt/etc/syslog-ng/syslog-ng.conf

    на следующее:

    Code:
    ################################################################################
    # Syslog-ng configuration
    # /opt/etc/syslog-ng/syslog-ng.conf
    #
    
    ###############################################################################
    # tiwag's active filters and logs
    #
    
    options { long_hostnames(off); sync(0); };
    
    source src { file("/proc/kmsg");unix-stream("/dev/log"); internal(); };
    source net { udp(); };
    
    destination mysyslog {
        file("/opt/var/log/syslog-ng.log"
    	owner("root")
    	group("root")
    	perm(0640)
    	template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
        ); 
    };
    		    
    destination authwarnlog { 
        file("/opt/var/log/authwarn.log"
    	owner("root")
    	group("root")
    	perm(0640)
    	template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
        ); 
    };
    					
    destination vsftpdlog   { file("/opt/var/log/vsftpd.log"
    			  template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
        );
    };
    destination dropbearlog { file("/opt/var/log/dropbear.log"
    			  template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
        );
    };
    destination cronlog     { file("/opt/var/log/cron.log"
    			  template("$HOUR:$MIN:$SEC $DAY-$MONTH-$YEAR ($PRIORITY|$FACILITY|$PROGRAM) $MESSAGE\n")
        );
    };
    										
    filter f_ni_syslog-ng { not ( level(info) and program(syslog-ng) ); };
    filter f_ni_thttpd    { not ( level(info) and program(thttpd)    ); };
    filter f_ni_vsftpd    { not ( level(info) and program(vsftpd)    ); };
    filter f_ni_cron      { not ( (level(notice) and program(cron) ) or ( level(info) and  facility(cron) ) ); };
    					
    filter f_vsftpd   { ( program(vsftpd)   ); };
    filter f_dropbear { ( program(dropbear) ); };
    filter f_cron     { ( level(notice) and  program(cron) ); };
    filter f_authwarn { ( ( ( level(info) or level(warning) ) and program(dropbear) ) or ( ( level(warning) ) and  program(vsftpd) ) ); };
    
    ###############################################################################
    # active logs
    #
    
    log { source(src); 
        filter(f_ni_vsftpd); 
        filter(f_ni_thttpd); 
        filter(f_ni_syslog-ng); 
        filter(f_ni_cron);
        destination(mysyslog); };
    
    log { source(src); 
        filter(f_vsftpd);   
        destination(vsftpdlog); };
    
    log { source(src); 
        filter(f_dropbear); 
        destination(dropbearlog); };
    
    log { source(src); 
        filter(f_authwarn); 
        destination(authwarnlog); };
    
    log { source(src); 
        filter(f_cron); 
        destination(cronlog); };
    после перезагрузок лог сохраняется.
    Соответственно системный лог находится в /opt/var/log/syslog-ng.log,
    ошибки авторизации /opt/var/log/authwarn.log
    подключения по ftp /opt/var/log/vsftpd.log
    подключения по ssh /opt/var/log/dropbear.log
    логи cron`а /opt/var/log/cron.log

    для приведения логов CRONа в порядок, заменяем скрипт
    /opt/bin/run-parts
    на следущее:
    Code:
    #!/bin/sh
    #
    # runparts.sh by macsat@macsat.com
    # intended for use with cron
    #
    # based on rc.unslung by unslung guys :-)
    #
    if [ -z "$1" ]
    then
    echo "Usage : $0 "
    fi
    
    RUNDIR=$1"/*"
    
    for i in $RUNDIR ;do
    
    # Ignore dangling symlinks (if any).
    [ ! -f "$i" ] && continue
    
    case "$i" in
    *.sh)
    # Source shell script for speed.
    (
    logger -t "$i" "running"
    trap - INT QUIT TSTP
    set start
    . $i
    )
    ;;
    *)
    # No sh extension, so fork subprocess.
    logger -t "$i" "running"
    $i start
    ;;
    esac
    done

    Для того чтоб логи сильно не раздувались, написал скрипт для автоматического архивирования любых логов, находящихся в папке логов. Скрипт помещаем в папку ежечасного запуска CRONa

    /opt/etc/cron.hourly/archivelog.sh

    Code:
    #!/bin/sh
    
    log_dir="/opt/var/log"
    archive_dir="/opt/var/log/archive"
    log_max_size=100  #Kb
    
    sleep 1
    
    for i in $log_dir/* ;do
    
    # Ignore dangling symlinks (if any).
    [ ! -f "$i" ] && continue
    
    if (expr $(du $i | sed 's/\/.*//') \> $log_max_size > /dev/null 2>&1) then
        { 
        archive_file=`echo "0" $i | sed 's:^.*/\(.*\):\1:g'`
        archive_file=`date +%Y%m%d%H-$archive_file`
        archive_file="$archive_dir/$archive_file"
        
        cp "$i" "$archive_file"
        printf "Contents of this file are placed in archive $archive_file.gz\n" > $i
        gzip "$archive_file" 
        
        sleep 1
        
        prg=`echo "0" $0 | sed 's:^.*/\(.*\):\1:g'`
        logger -t "$prg" "$i compressed to $archive_file.gz"
        }
    fi
    
    done
    скрипт проверяет директорию с логами, если находит лог размером более указанного, то архивирует его в указанную папку.

    ЗЫ:
    я у себя перенастроил все программы, чтоб логи писались в папку /opt/var/log/

    Не забываем сделать скрипты исполняемыми:
    Code:
    chmod +x /opt/etc/init.d/S01syslog-ng
    chmod +x /opt/etc/cron.hourly/archivelog.sh
    и создать директорию для архивов
    Code:
    mkdir -p /opt/var/log/archive/
    ну и чтоб все это начало работать:

    Code:
    reboot
    Last edited by sauron093; 06-12-2008 at 11:10. Reason: переработка инструкции и скриптов
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  4. #34
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Не забываем делать:
    chmod +x /opt/etc/init.d/S01syslog-ng
    chmod +x /opt/etc/cron.hourly/clearlog.sh

    и тут:
    PHP Code:
    /opt/etc/syslog-nd/syslog-nd.conf 
    очепятка, надо
    PHP Code:
    /opt/etc/syslog-ng/syslog-ng.conf 

  5. #35

    Thumbs up

    Спасибо за подробно изложенные инструкции
    Надо будет все именно так и сделать
    WL-500gP v2

  6. #36
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by vectorm View Post
    Не забываем делать:
    chmod +x /opt/etc/init.d/S01syslog-ng
    chmod +x /opt/etc/cron.hourly/clearlog.sh
    я просто все делаю через mc, там мышой ткнул 2 раза и атрибут поставил, даже не заморчиваюсь, тем более он * светит перед исполняемым файлом

    Quote Originally Posted by vectorm View Post
    и тут:
    PHP Code:
    /opt/etc/syslog-nd/syslog-nd.conf 
    очепятка, надо
    PHP Code:
    /opt/etc/syslog-ng/syslog-ng.conf 
    очепятку поправил
    Last edited by sauron093; 29-08-2008 at 13:41.
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  7. #37
    Уже работает

    Тогда уж для завершения мануала:
    добавить в /tmp/local/sbin/post-mount строку запуска
    Code:
    #запуск логa
    /opt/etc/init.d/S01syslog-ng
    и сохранить
    Code:
    flashfs save
    flashfs commit
    flashfs enable
    Last edited by vaspupkin; 29-08-2008 at 13:45.

  8. #38
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by vaspupkin View Post
    Уже работает

    Тогда уж для завершения мануала:
    добавить в /tmp/local/sbin/post-boot строку запуска
    Code:
    #запуск логa
    /opt/etc/init.d/S01syslog-ng
    у меня автоматом все скрипты из /opt/etc/init.d/ запускает rc.unslung

    и в post-boot нельзя класть, т.к. хард еще не смонтирован, а мы лог на него перекидываем

    в post-mount добавляйте запуск скрипта

    Quote Originally Posted by vaspupkin View Post
    Code:
    flashfs save
    flashfs commit
    flashfs enable
    абсолютно не нада т.к. мы работаем на харде(флешке) и внутрянний флеш не используем
    Last edited by sauron093; 29-08-2008 at 13:49.
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  9. #39
    Quote Originally Posted by sauron093 View Post
    ...абсолютно не нада
    Нада, если мы правим post-mount и нет у нас rc.unslung, но это не важно... Спасибо за скрипт. Оч полезно!

    А вот что бы в логе значило PRI:err?
    Code:
    {2008-08-29 01:11:45}{PRI:err}{FAC:daemon}{PRG:nmbd}{{{ nmbd[298]: [2008/08/29 01:11:45, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(405) }}}
    {2008-08-29 01:11:45}{PRI:err}{FAC:daemon}{PRG:nmbd}{{{ nmbd[298]:   ***** }}}
    {2008-08-29 01:11:45}{PRI:err}{FAC:daemon}{PRG:nmbd}{{{ nmbd[298]:    }}}
    {2008-08-29 01:11:45}{PRI:err}{FAC:daemon}{PRG:nmbd}{{{ nmbd[298]:   Samba name server WL500W is now a local master browser for workgroup WORKGROUP on subnet 192.168.2.1 }}}

  10. #40
    Join Date
    Nov 2007
    Location
    Belarus, Gomel
    Posts
    168
    При установке syslog-ng выдал следующее:
    Code:
    To use syslog-ng, comment out any lines in /etc/inittab referring
    to syslogd or klogd before you start syslog-ng for the first time.
    After commenting the lines, run /opt/etc/init.d/S01syslog-ng.
    The program will be started automaticaly at the next reboot.
    И, как я понимаю, в наличии в скрипте проверки на запущенный syslogd нет необходимости.

  11. #41
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    как я понял то что PRI это приоритет сообщения
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  12. #42
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by Lupo_Alberto View Post
    При установке syslog-ng выдал следующее:
    Code:
    To use syslog-ng, comment out any lines in /etc/inittab referring
    to syslogd or klogd before you start syslog-ng for the first time.
    After commenting the lines, run /opt/etc/init.d/S01syslog-ng.
    The program will be started automaticaly at the next reboot.
    И, как я понимаю, в наличии в скрипте проверки на запущенный syslogd нет необходимости.
    ну если у вас syslogd не стартует автоматом, что странно, то видимо нет

    у меня он стартует и его приходится убивать каждый раз
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  13. #43
    Join Date
    Nov 2007
    Location
    Belarus, Gomel
    Posts
    168
    Извините, поторопился с выводами.
    У меня почему-то этого файла и нет!

  14. #44
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by Lupo_Alberto View Post
    Извините, поторопился с выводами.
    У меня почему-то этого файла и нет!
    ну я тоже долго искал в роутере syslogd.conf, а оказалось что его нету совсем... syslogd урезан и конфигурационные файлы не воспринимает
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

  15. #45
    Join Date
    Jul 2008
    Location
    МО Лобня
    Posts
    205
    Quote Originally Posted by vaspupkin View Post
    Нада, если мы правим post-mount и нет у нас rc.unslung, но это не важно... Спасибо за скрипт. Оч полезно!

    А вот что бы в логе значило PRI:err?
    вот как формируется строка вывода:
    Code:
    template("{$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC}{PRI:$PRIORITY}{FAC:$FACILITY}{PRG:$PROGRAM}{{{ $MESSAGE }}}\n")
    Asus WL-500W (firmware wl500w-1.9.2.7-d-r, rTorrent 0.8.4, ADOS, nShaper) + WD Elements 160Gb + БП AT 200W (+5V 18A )

Page 3 of 17 FirstFirst 1234513 ... LastLast

Similar Threads

  1. Подскажите, что этот лог значит? (syslog)
    By VadimVB in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 479
    Last Post: 23-05-2013, 07:47

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •