rsyslog: 日志:历史日志 历史事件 时间,事件 日志级别:事件的关键性程度,loglevel

系统日志服务: syslog: syslogd:system klogd:kernel,记录内核日志

 rsyslog:
   是一种日志服务
    多线程:
    支持udp,tcp,ssl,tls加密远程日志传输
    支持在MYSQL,PGSQL,Oralce中实现日志存储
    强大的过滤器,可实现过滤日志信息中任何部分
    自定义输出格式

    elasticsearch,logstash,kibana=elk

日志收集方:
  facility:设施,从功能或程序上对日志进行分类,共14个(不算*).
        auth :     认证相关的
	    authpri :   权限,授权相关
	    cron :      任务计划相关
	    daemon:   守护进程相关
	    kern :      内核相关的
	    lpr :       打印相关的
	    mail :      邮件相关的
	    mark :     标记相关的
	    news :     新闻相关的
	    security :   安全相关的,和auth类似
	    syslog :     日志自己的
	    user :      用户相关的
	    uucp :     Unix to unix cp相关的  
	    local0到local7 :  用户自己定义的
	    * :        所有的facility

  priority:loglevel,共十个级别
        Debug :      程序或信息的调试信息.
        Info :        一般信息.
        Notice :      不影响正常功能,需要注意的消息.
        Warning/warn :     可能会影响系统功能,需要提醒用户注意的重要事件.  
        Err/error :     错误信息.
        Crit(critical) :         比较严重的.
        Alert :        必须马上处理的.
        Emerg/panic :  会导致系统不可用.
        * :           显示所有的系统信息.
        None :        与*相反,表示什么都没有.

  指定级别:
        *:所有级别
        none:禁止记录
        priority:记录包含此级别及更高级别的日志级别
        =priority:记录此级别
    文件:
      /etc/rsyslog.conf
      /etc/rsyslog.d/*.conf
      /etc/logrotate.d/syslog
      /lib64/rsyslog/*.so
        其中i开头的是输入,o开头的是输出

  facility.priority /var/log/messages

程序环境: 主程序:rsyslogd 配置文件:/etc/rsyslog.conf 服务脚本:/etc/rc.d/init.d/rsyslog 配置文件: 由MODULES,GLOBAL DIRECTIVES,RULES组成 MODULES部分:加载模块 $ModLoad imuxsock :为本地系统日志记录提供支持 $ModLoad imklog :提供内核日志支持(以前由rklogd完成) 以前由rsyslogd和klogd提供的功能现在由两个模块提供 $ModLoad imtcp :提供tcp为别的主机提供日志记录 $InputTCPServerRun 514:监听514端口 $ModLoad imudp:udp方式 $UDPServerRun 514 RULES(规则)部分: facility.priority target 例: .info;mail.none;authpriv.none;cron.none /var/log/messages:除了mail,authpriv,cron之外都记录到messages中 authpriv. /var/log/secure:authpriv的所有信息都记录到secure中 mail.* -/var/log/maillog:-代表异步写入 target: 文件路径:记录于指定的日志文件中,通常应该在/var/log目录下,"-"代表异步写入 用户:将日志通知给指定用户 *:所有用户 日志服务器:@host host:必须监听在tcp或udp协议的514端口上提供服务 管道: |COMMAND 文件记录的日志格式: 日志产生的日期时间 主机 进程(pid): 事件内容 有些日志记录二进制格式:/var/log/wtmp,/var/log/btmp /var/log/wtmp:当前系统上成功登录的日志 last命令查看 /var/log/btmp:当前系统上失败的登录尝试 lastb命令查看 lastlog命令: 查看当前系统上每一个用户最后的登录时间

搭建rsyslog日志服务器: redhat6作为日志服务器 centos7作为日志发送机 1. 在redhat6上修改配置文件,将下列选项注释去掉 $ModLoad imtcp :提供tcp为别的主机提供日志记录 $InputTCPServerRun 514:监听514端口 $ModLoad imudp:udp方式 $UDPServerRun 514
2. 在centos7上修改配置文件 *.info;mail.none;authpriv.none;cron.none @192.168.137.143

将日志信息存储到mysql中 redhat6作为服务器 centos7作为mysql服务器 1.安装rsyslog-mysql yum install rsyslog-mysql 安装生成下列文件 /lib64/rsyslog/ommysql.so:输出到mysql的模块 /usr/share/doc/rsyslog-mysql-5.8.10 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql:mysql执行脚本文件 2.在centos7上安装mariadb(默认已安装) 创建一个数据库(可以使用/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql) 创建一个用户并授权 grant all on Syslog.* to 'syslog'@'192.168.137.143' identified by 'syspass'; 然后打开/etc/my.cnf 加入:skip_name_resolve = no:关闭名称反解 innodb_file_per_table = no:支持innodb表共享数据空间 重启服务器 3. 将redhat6上的/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql导入centos7的mariadb mysql -usyslog -h192.168.137.139 -psyspass </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 4. 修改redhat6上的rsyslog.conf 加入$ModLoad ommysql 加入*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.137.139,Syslog,syslog,syspass 格式: --> :模块名:mysql主机,表名,用户名,密码 5. 安装 LogAnalyzer tar -xvf loganalyzer-3.6.5.tar.gz cd loganalyzer-3.6.5 mv src/* /var/www/html:只使用到这个目录中的文件. mv contrib/configure.sh /var/www/html mv contrib/secure.sh /var/www/html cd /var/www/html ./configure.sh chmod 666 config.php ./secure.sh 6. 用浏览器进入web界面进行配置