zoukankan      html  css  js  c++  java
  • rsyslog日志服务部署

    rsyslog简介

    rsyslog是CentOS6和CentOS7默认的记录日志的服务

    支持特性:

    • UDP, TCP, SSL, TLS, RELP
    • MySQL, PGSQL, Oracle实现日志存储
    • 强大的过滤器,可实现过滤记录日志信息中任意部分
    • 自定义输出格式

     

    常见术语:

    • facility:设施,从功能或程序上对日志进行归类:

    auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, local0-local7, syslog

    • Priority 优先级别,从低到高排序:

    debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

     

    配置文件格式:

        /etc/rsyslog.conf 配置文件由三部分组成

    • MODULES:相关模块配置
    • GLOBAL DIRECTIVES:全局配置
    • RULES:日志记录相关的规则配置

     

    RULES设置方式:

    • facility

    *: 所有的facility
    facility1,facility2,facility3,...:指定的facility列表

    • priority:

    *: 所有级别
    none:没有级别,即不记录
    PRIORITY:指定级别(含)以上的所有级别
    =PRIORITY:仅记录指定级别的日志信息

    • target:

    文件路径:通常在/var/log/,文件路径前的-表示异步写入
    用户:将日志事件通知给指定的用户,* 表示登录的所有用户
    日志服务器:@host,把日志送往至指定的远程服务器记录
    管道: | COMMAND,转发给其它命令处理

    启动网络日志服务:

        可以把开启自己的网络服务模式,把其他主机的日志保存到本机,相当于日志服务器的功能。

    • 通常的日志格式:

    事件产生的日期时间 主机 进程(pid):事件内容
    如: /var/log/messages,cron,secure等

    • 配置rsyslog成为日志服务器

    #### MODULES ####         在MODULES模块下把对应的配置注释取消即可
    # Provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514
    # Provides TCP syslog reception
    $ModLoad imtcp
    $InputTCPServerRun 514

    常用的日志说明:

    • /var/log/secure:系统安装日志,文本格式,应周期性分析
    • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看
    • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
    • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
    • /var/log/dmesg:系统引导过程中的日志信息,文本格式。可以通过文本查看工具查看,也可以通过专用命令dmesg查看
    • /var/log/messages :系统中大部分的信息
    • /var/log/anaconda : anaconda的日志

    rsyslog设置举例

    我们知道sshd的默认日志是保存在/var/log/secure的

    # 查看sshd的默认配置

    # cat /etc/ssh/sshd_config

    SyslogFacility AUTHPRIV    # 默认是保存在AUTHPRIV设施里的

     

    # 查看rsyslog配置

    # cat /etc/rsyslog.conf

    authpriv.* /var/log/secure    # 可以看到authpriv设施下的所有级别的日志都保存到/var/log/secure中

    这里我们设置把sshd的日志保存到一个没占用的设施local0中,并将local0的所有日志保存到/var/log/ssh文件中

    1、修改sshd配置
    
    # vim /etc/ssh/sshd_config
    
    SyslogFacility local0
    
    2、修改rsyslog配置
    #vim /etc/rsyslog.conf 
    在文挡最后新增如下行
    local0.*      
    /var/log/ssh
    
    
    3、启rsyslog和sshd服务
    # systemctl restart rsyslog sshd
    
    4、查看新生成的日志文件
    

    #cat /var/log/ssh

    rsyslog将日志记录在mysql中

    1、安装mariadb和rsyslog-mysql程序包

    # yum install mariadb-server rsyslog-mysql

     

    2、创建rsyslog-mysql依赖的数据库

    # rpm -ql rsyslog-mysql /usr/lib64/rsyslog/ommysql.so /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

    # systemctl start mariadb

    # msyql < /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

     

    3、创建用户,授权对Syslog数据库的全部访问权限

    mysql> GRANT ALL ON Syslog.* TO 'wangq'@'172.16.%' IDENTIFIED BY '123456';

     

    4、修改rsyslog配置

    # vim /etc/rsyslog.conf

    新增下面配置注意配置mysql的格式 :ommysql:DBHOST,DBNAME,DBUSER,PASSWORD

    $ModLoad ommysql

    *.info;mail.none;authpriv.none;cron.none    :ommysql:172.16.100.215,Syslog,wangqiang,123456

     

    5、重启服务 # systemctl restart rsyslog

    web显示rsyslog日志

    安装开源loganalyzer,通过web查看mysql存储的日志

    1、配置LAMP

    # yum install httpd php php-mysql php-gd # service httpd start

     

    2、网上下载 loganalyzer-4.1.7.tar.gz

    # tar xf loganalyzer-4.1.7.tar.gz

    # cd loganalyzer-4.1.7

    # cp src /var/www/html

    # cd /var/www/html

    # mv src log

    # cd log

    # touch config.php

    # chmod 666 config.php

     

    3、登录web页面(http://x.x.x.x)配置loganalyzer,然后把权限改回664

    # chmod 644 config.php

  • 相关阅读:
    JS闭包中的循环绑定处理程序
    Java学习之路-Spring的HttpInvoker学习
    Java学习之路-Burlap学习
    Java学习之路-Hessian学习
    Java学习之路-RMI学习
    现代浏览器的工作原理
    Socket Connect问题
    Tair总述
    TCP协议解析
    数据结构 之 二叉堆(Heap)
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11955804.html
Copyright © 2011-2022 走看看