美文网首页
LAMP之rsyslog+loganalyzer系统日志集中管理

LAMP之rsyslog+loganalyzer系统日志集中管理

作者: 历久尝新 | 来源:发表于2016-08-05 14:45 被阅读0次

    作为运维人员,熟悉系统日志是一项基本功。本文将介绍centos6的系统日志rsyslog及loganalyzer工具。

    简介

    系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志)

    一、rsyslog日志系统配置参数

    1、配置文件,以及配置文件的定义格式
    /etc/rsyslog.conf  \\配置文件
    
    日志定义格式: facility.priority    Target
        facility: 设施,从功能或程序上对日志进行分类,并由专门的工具负责记录日志;
          常用的facility:
                  lpr: 打印相关的日志
                  auth:认证相关的日志
                  user:用户相关的日志
                  cron:计划任务相关的日志
                  kern:内核相关的日志
                  mail:邮件相关的日志
                  mark:标记相关的日志
                  news:新闻相关的日志
                  uucp:文件copy相关的日志
               daemon:系统服务相关的日志
               authpri: 授权相关的日志
               security:安全相关的日志
               local0-local7:自定义相关的日志信息(自定义时可以使用通配符)
                    通配符:
                       *:所有
                       f1,f2,f3......:列表
                       !:取反
                    
          priority:日志级别
            常用的日志级别:
              debug:   调试
              info:   消息
              notice: 注意
            warn,warning: 警告
              err,error: 错误
              crit: 严重级别
              alert: 需要立即修改该的信息
              emerg,panic: 内核崩溃,内核恐慌等严重的信息
               
              通配符:
                 *:所有日志级别
                 none:没有任何级别,也就是不记录日志信息
                 
          
           Target:文件路径
                可以使用的有:
                    ①/var/log/messages
                    ②用户:*当前登录系统的所有用户
                    ③日志服务器:@SERAVER_IP
                    ④管道:| COMMAND
           事件格式:
                 时间  主机  进程  事件本身
             
    举例:
    mail.info  /var/log/maillog:  比指定级别更高的日志级别,包括指定级别自身,保存到/var/log/maillog中
    mail.=info  /var/log/maillog: 明确指定日志级别为info,保存至/var/log/maillog
    mail.!info  /var/log/maillog: 除了指定的日志级别(info)所有日志级别信息,保存至/var/log/maillog
    *.info      /var/log/maillog: 所有facility的info级别,保存至/var/log/maillog
    mail.*     /var/log/maillog:  mail的所有日志级别信息,都保存至/var/log/maillog
    mail.notice;news.info  /var/log/maillog: mail的notice以上记得日志级别和news的info以上的级别保存至/var/log/maillog
    mail,news.crit  -/var/log/maillog:  mail和news的crit以上的日志级别保存/var/log/maillog中;“-”代表异步模式
    

    二、实验环境

    主机名 IP地址 负责
    www.jcwtime.hk 192.168.10.100 收集日志,MySQL
    c1.jcwtime.hk 192.168.10.101 web

    注意:所有服务器或客户端关闭selinux、iptables

    2.1启用日志服务器接受其他服务器(Web)日志

    ---日志服务器(服务器)---
    
    编辑配置文件,去掉注释并重启服务
    [root@www ~]# vim /etc/rsyslog.conf
    # Provides UDP syslog reception
    $ModLoad imudp
    $UDPServerRun 514
    [root@www ~]# service rsyslog restart
    
    ---Web(客户端)---
    
    编辑配置文件,注释新添规则并重启服务
    [root@C1 ~]# vim /etc/rsyslog.conf
    #*.info;mail.none;authpriv.none;cron.none                /var/log/messages
    *.info;mail.none;authpriv.none;cron.none                @192.168.10.100
    [root@C1 ~]# service rsyslog restart
    
    在Web(客户端)测试安装zsh,日志服务器可查看到日志
    [root@www ~]# tail /var/log/messages 
    Aug  5 11:21:37 C2 yum[29781]: Installed: zsh-4.3.11-4.el6.centos.2.x86_64
    
    

    2.2配置将日志信息存储到数据库

    ---日志服务器(服务器)---
    安装mysql及驱动
    [root@www ~]# yum install -y mysql-server rsyslog-mysql
    [root@www ~]# rpm -ql rsyslog-mysql
    /lib64/rsyslog/ommysql.so \\rsyslog连接mysql的驱动模块
    /usr/share/doc/rsyslog-mysql-5.8.10 \\ rsyslog的文档
    /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql  \\rsyslog的数据库以及表的各项定义,直接导入数据即可使用
    [root@www ~]# service mysqld start
    
    将生成的createDB.sql导入mysql数据库
    [root@www ~]# mysql -uroot -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
    mysql -uroot -p
    查看数据库:
    mysql> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | Syslog             |
    | mysql              |
    | test               |
    +--------------------+
    4 rows in set (0.05 sec)
    使用Syslog:
    mysql> USE Syslog;
    查看表:
    mysql> SHOW TABLES;
    +------------------------+
    | Tables_in_Syslog       |
    +------------------------+
    | SystemEvents           |
    | SystemEventsProperties |
    +------------------------+
    2 rows in set (0.01 sec)
    创建用户、密码并授权本地 访问Syslog数据库
    mysql> GRANT ALL ON Syslog.* TO 'rsysloguser'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
    Query OK, 0 rows affected (0.01 sec)
    刷新权限:
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    
    配置ryslog.conf文件添加模块ommysql,添加规则输出到本地数据库Syslog,重启服务
    [root@www ~]# vim /etc/rsyslog.conf
    
    #### MODULES ####
    $ModLoad ommysql
    $ModLoad imuxsock
    $ModLoad imklog
    
    #### RULES ####
    #*.info;mail.none;authpriv.none;cron.none                /var/log/messages
    *.info;mail.none;authpriv.none;cron.none                :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
    [root@www ~]# service rsyslog restart
    
    Web(客户端)测试安装zsh,日志服务器tail /var/log/messages不会有zsh安装日志,而是输出到mysql
    mysql> select * from SystemEvents\G;
    *************************** 4. row ***************************
                    ID: 4
            CustomerID: NULL
            ReceivedAt: 2016-08-05 14:04:52
    DeviceReportedTime: 2016-08-05 14:04:52
              Facility: 1
              Priority: 6
              FromHost: C2
               Message:  Installed: zsh-4.3.11-4.el6.centos.2.x86_64
            NTSeverity: NULL
            Importance: NULL
           EventSource: NULL
             EventUser: NULL
         EventCategory: NULL
               EventID: NULL
       EventBinaryData: NULL
          MaxAvailable: NULL
             CurrUsage: NULL
              MinUsage: NULL
              MaxUsage: NULL
            InfoUnitID: 1
             SysLogTag: yum[32658]:
          EventLogType: NULL
       GenericFileName: NULL
              SystemID: NULL
    4 rows in set (0.00 sec)
    

    2.3由于loganalzyer提供的动态网页,所以我们要安装httpd和php

    [root@www ~]# yum -y install httpd php php-mysql
    [root@www ~]# service httpd start
    

    2.3.1访问web

    1434074590797982.png
    编辑测试页并访问php
    [root@www ~]# vim /var/www/html/index.php
    <?php
        phpinfo();
    ?>
    

    2.3.2访问web

    QQ截图20160805141757.png

    2.4配置loganalyzer日志分析工具,便于日常维护

    [root@www ~]# mkdir /var/www/html/loganalyzer
    [root@www ~]# cd /var/www/html/loganalyzer
    [root@www loganalyzer]# cp -a /root/loganalyzer-3.6.5/src/* .
    [root@www loganalyzer]# cp -a /root/loganalyzer-3.6.5/contrib/* .
    [root@www loganalyzer]# chmod +x ./configure.sh 
    [root@www loganalyzer]# chmod +x ./secure.sh 
    [root@www loganalyzer]# ./configure.sh 
    [root@www loganalyzer]# ./secure.sh 
    [root@www loganalyzer]# chmod 666 config.php 
    [root@www loganalyzer]# chown -R apache.apache ./*
    

    2.4.1访问网页安装loganalyzer

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png

    相关文章

      网友评论

          本文标题:LAMP之rsyslog+loganalyzer系统日志集中管理

          本文链接:https://www.haomeiwen.com/subject/cjaqsttx.html