• SuSE(SLES)安装配置syslog-ng日志server,可整合splunk


    Update History

    2014年04月25日 - 撰写初稿

    引言

    在自己主动化部署AutoYast。自己主动化监控BMC Patrol双方面形成雏形后。日志的收集、管理、分析也顺势成为我们须要考虑的问题,结合自身业务系统平台特点,大多数系统基于sles_11_sp1或者sp2,对照rsyslog和syslog-ng后终于选择syslog-ng ose(open source edition)作为研究对象。下面内容中的參数解释请參阅官方文档,兴许会补充有关Oracle日志写入方式。假设实力不行再考虑MySQL。


    #检查版本号

    rpm -qa | grep syslog-ng
    syslog-ng-2.0.9-27.32.1


    服务端Server配置


    #建立目录
    mkdir /var/log/syslog-ng


    #编辑配置文件
    vi /etc/syslog-ng/syslog-ng.conf


    #---------------------------- code ---------------------start

    #全局变量
    options { 
            sync (0);
            flush_lines(0);
            time_reopen (10);
            use_dns (no);
            use_fqdn(no);
            chain_hostnames(off);
            keep_hostname(off);
            create_dirs (yes);
            owner(root) ;
            group(root);
            perm(0640) ;
            dir_perm(0750) ;
    };

    source src
    {        
            # message generated by Syslog-NG
            #internal();
            # standard Linux log source (this is the default place for the syslog()
            # function to send logs to)
            #unix-stream("/dev/log");
            # messages from the kernel
            #pipe("/proc/kmsg"); 
            # remote port
            tcp(ip(0.0.0.0) port(514));        
            #udp(ip(0.0.0.0) port(514));
    };

    #定义日志过滤规则
    #filter f_filter1 { level(info)};

    #定义日志写入模板
    #template t_filetemplate {template("${ISODATE} ${HOST} ${MSG} "); template_escape(no); };
    template t_filetemplate {template("${MSG} "); template_escape(no); };
               
    #定义client日志在server上保存的格式。位置和权限等 
    destination d_mesg { file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/messages",perm(0777),template(t_filetemplate)); };

    #输出自己定义消息路径
    log { source(src); destination(d_mesg); };
    #log { source(src); filter(f_filter1); destination(d_mesg); };

    #-----------------------------------------------------------

    #splunk use 1999 port
    destination d_splunk { tcp("127.0.0.1" port(1999) localport(999)); };
    log { source(src); destination(d_splunk); };

    #---------------------------- code ---------------------end

    clientClient配置

    #配置client
    #vi /etc/syslog.conf

    #*.*    @loghost


    vi /etc/syslog-ng/syslog-ng.conf
    #加入例如以下:

    source s_tail {file("/monitor/auditlog/osaudit.txt" follow_freq(1) flags(no-parse));};

    destination d_loghost { tcp("198.15.0.205" port (514)); };

    #filter f_info { level(info); };

    log {source(s_tail); destination(d_loghost);};


    --禁用服务重新启动syslog
    rcapparmor stop

    rcsyslog restart


    #启动服务端
    rcsyslog restart

    整合splunk

    加入syslog-ng步骤:

    在Admin->Data Inputs->Network Ports上点选New Input.选择TCP 1999 port, Set Source Type选Form List,Source Type选Syslog,这种设定就能够给Syslog-ng传log了。

    改动syslog-ng步骤:

    如上述code所看到的。假设不是付费用户。有500M索引限制,求大神帮忙Crack下


    #參考文档

    http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.5-guides/en/syslog-ng-ose-v3.5-guide-admin/html-single/index.html

    http://www.splunk.com/download?r=header


  • 相关阅读:
    shell脚本中判断上一个命令是否执行成功
    nginx 414 Request-URI Too Large
    nginx 重写URL尾部斜杠
    Linux shell 日期,时间相关的命令
    shell脚本中自定义日志记录到文件
    scanf后面跟一个getchar
    1.Tarball软件make与makefile详解(还需要补充)
    <>和“”的区别
    malloc,calloc,realloc,alloc
    toString()方法细节
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5122311.html
Copyright © 2020-2023  润新知