• rsyslog日志服务


    rsyslog:日志收集和存储系统; 

    日志:历史事件记录;

    syslog:

    klogd:kernel

    syslogd:service(application)

    事件记录格式:

    日期时间 主机进程[pid]:事件内容

    C/S架构:服务,可监听于某套接字,帮其它主机记录日志信息;

    S:udp, tcp协议;

    rsyslog特性:

    • 多线程;
    • UDP,TCP,SSL/TLS,RELP;
    • 存储日志信息于MySQL、PGSQL、Oracle等RDBMS;
    • 强大的过滤器,实现过滤日志信息中任何部分的内容;
    • 自定义的输出格式;

    rsyslog中的术语:

    facility:设施、信道;

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

    priority:

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

    程序包:rsyslog

    程序环境:

    • 配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/
    • 主程序:/usr/sbin/rsyslogd
    • 模块路径:/usr/lib64/rsyslog/
    • Unit File:/usr/lib/systemd/system/rsyslog.service

    配置文件:

    有三部分组成:严格按照配置段位置添加配置

    1. #### MODULES ####
    2. #### GLOBAL DIRECTIVES ####
    3. #### RULES ####

    RULES:

    facility.prioritytarget

    facility:

            *:所有的facility;

            f1,f2,f3,...:列表中给定的所有facility;

            auth,authpriv,security.info

            f1.p1;f2,p2;f3.p3;...:列表中给定的所有facility;

            auth.info;authpriv.notic;security,warn;

    priority:

            *:所有级别

            none:没有级别,不记录日志;

            PRIORITY:此级别(含)及其以上的所有级别;

            =PRIORITY:仅指定的级别;

    target:

    文件:将日志信息记录到指定的文件中;文件路径之前的“-”表示异步写入之意;

    用户:将日志事件通知给指定的用户;一般指登录到当前系统上的所有用户的终端;

    日志服务器:@rsyslog_server,把日志信息发往指定的日志服务器;

    管道:|COMMAND 

    命令行客户端程序:

    1. logger - a shell command interface to the syslog(3) system log module
    2. logger [options] [message]

    配置rsyslog服务器:

    1. #### modules ####
    2. …………
    3. # Provides UDP syslog reception
    4. $ModLoad imudp
    5. $UDPServerRun 514
    6. # Provides TCP syslog reception
    7. $ModLoad imtcp
    8. $InputTCPServerRun 514

    其它几个日志文件:

    last, lastb - show listing of last logged in users

    -num, -n num

    /var/log/btmp:登录当前系统的所有的失败的尝试;

    /var/log/wtmp:所有成功登录至当前系统的相关信息;

    lastlog - reports the most recent login of all users or of a given user

    /var/log/dmesg:系统引导过程中的日志信息; 

    文本查看工具;

    也可以使用dmesg命令;

    rsyslog记录日志于mysql:

    前提:准备好msql server或mariadb server;

    (1) 安装rsyslog连接至mysql server的驱动模块;

    yum install rsyslog-mysql 

    (2) 在mysql server准备rsyslog专用的用户账号;

    1. GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
    2. GRANT ALL ON Syslog.* TO 'rsyslog'@'local' IDENTIFIED BY 'rsyslogpass';

    (3) 生成所需要的数据库和表;

    mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

    (4) 配置rsyslog使用ommysql模块

    1. #### MODULES ####
    2. ......
    3. $ModLoad ommysql 

    (5) 配置RULES,将所期望的日志信息记录于mysql中;

    facility.priority :ommysql:DBHOST,DB,DBUSER,DBUSERPASS

    (6) 重启rsyslog服务;

    (7) loganalyzer

    WebGUI, 运行amp环境中;

    (a) 准备amp环境

    1. yum install httpd php php-mysql php-gd
    2. systemctl start httpd.service 

    (b) 安装loganalyzer

    1. tar xf loganalyzer-VERSION.tar.gz
    2. cd loganalyzer-VERSION
    3. cp -a src  /var/www/html/loganalyzer-VERSION
    4. cd /var/www/html
    5. ln -sv loganalyzer-VERSION log
    6. cd log 
    7. touch config.php 
    8. chmod 666 config.php 

    打开浏览器,配置;

    1. MySQL Native, Syslog Field
    2. Table Type:"Monitorware“

    chmod 644 config.php 

    配置rsyslog+mysql+loganalyzer

    先配置在同一台主机上

    1,安装程序包

    yum install httpd php php-mysql rsyslog-mysql mariadb-server php-gd -y

    2,启动MariaDB数据库

    3,配置rsyslog服务和mariadb数据库的连接

    编辑rsyslog配置文件

    vim /etc/rsyslog.conf 

    在浏览器访问

     

     

  • 相关阅读:
    【Python共享文件】——Python快速搭建HTTP web服务实现文件共享并公网远程访问
    Javascript知识【JSON】
    『VUE3 后台管理系统』
    分布式事务
    交换机堆叠与集群
    金仓数据库 KingbaseES异构数据库移植指南 (3. KingbaseES移植能力支撑体系)
    用cocos实现的立方体宣传查看页面
    centos7安装mysql5.7步骤(图解版)
    以管道的方式来完成复杂的流程处理
    检测图像的圆形 检测直线 Hough变换检测直线 圆形检测 圆心半径检测 -matlab
  • 原文地址:https://blog.csdn.net/ly1358152944/article/details/126384221