• 日志rsyslog


    (1)日志基础

    1)简介

    rsyslog:记录大部分与系统操作有关,例如安全,认证sshd,su,计划任务at,cron
    rsyslog日志可以存在本地,也可以存放在远程服务器

    2)常见的日志文件

    /var/log/messages 					//系统主日志文件
    /var/log/secure						//认证丶安全
    /var/log/maillog					//跟邮件postfix有关
    /var/log/cron						//crond,at进程产生的日志
    /var/log/dmesg						//和系统启动有关
    /var/log/audit/audit.log 			//系统审计日志
    /var/log/yum.log					//yum日志
    /var/log/xferlog 					//和访问FTP服务器有关
    w 									//当前登录的用户 /var/log/wtmp 
    last 								//最近登录的用户 /var/log/btmp 
    lastlog 							//所有用户的登录情况 /var/log/lastlog 
    

    3)例

    统计登录失败的top5 ip地址
    #grep  "failure" /var/log/secure | awk -F'[ =]+' '{print $18}'  | grep -v user | sort | uniq -c | sort -k1 -rn | head -5
    统计登录成功的top5 ip地址
    #grep "Accept" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -k1 -rn | head -5
    

    (2)rsyslog子系统

    1)服务和配置文件

    systemctl status rsyslog
    /etc/logrotate.d/syslog 			//日志切割相关
    /etc/rsyslog.conf 					//rsyslogd的主配置文件
    

    2)主配置文件:/etc/rsyslog.conf

    在主配置文件下定义了一套规则: 告诉rsyslogd进程哪个设备(facility),关于哪个级别的信息,以及如何处理

    authpriv.*                                              /var/log/secure
    设备.日志级别											日志文件
    
    #### RULES ####
    authpriv.*                                              /var/log/secure				//设备authpriv的所有级别都输出到/var/log/secure文件中
    mail.*                                                  -/var/log/maillog			//设备mail的所有级别都延迟输出到/var/log/maillog文件中
    cron.*                                                  /var/log/cron
    *.emerg                                                 :omusrmsg:*					//所有设备的紧急级别日志都输出到屏幕上
    local7.*                                                /var/log/boot.log
    local4.*   												@192.168.1.253   //UDP 		//local4设备所有级别日志使用udp协议输出到192.168.1.253这台主机
    local4.*   												@@192.168.1.253   //TCP 
    local设备是系统保留的设备
    

    级别 :遇到何种情况才会记录日志

    emerg 				//紧急,致命,服务无法继续运行,如配置文件丢失
    alert 				//报警,需要立即处理,如磁盘使用率95%
    crit 				//致命行为
    err					//错误行为
    warning 			//警告信息
    notice				//普通
    info				//标准信息
    debug				//调试信息,拍错所需
    

    说明:例如sshd程序的配置文件(/etc/ssh/sshd_config)中定义SyslogFacility AUTHPRIV;表示sshd程序使用rsyslog程序中的AUTHPRIV这个设备,表示sshd的日志都会输出到AUTHPRIV这个设备,同时在rsyslog的配置文件上(/etc/rsyslog.conf)中定义了一个规则(authpriv.* /var/log/secure),这个规则表示设备AUTHPRIV这个设备的所有级别日志都会输出到/var/log/secure上

    3)例:改变应用程序sshd的日志设备为local5,并定义local5设备日志记录到/var/log/sshd.log文件中

    #vim /etc/ssh/sshd_config			//修改sshd使用rsyslog的设备为LOCAL5
    #SyslogFacility AUTHPRIV
    SyslogFacility LOCAL5
    #systemctl restart sshd 
    
    #vim /etc/rsyslog.conf 				//修改rsyslog配置文件定义设备local5的所有级别日志输出到/var/log/sshd.log中
    local5.*     /var/log/sshd.log
    #systemctl restart rsyslog 
    

    4)命令logger

    logger "pppppp"						//日志默认输出到/var/log/messages文件中
    logger -p local5.info  "pppp"		//-p指定设备名和日志级别,日志输出到local5这个设备定义的输出文件中
    logger -p local5.emerg "warnning"	//日志级别为紧急emerg,默认情况都会打印到屏幕上,
    

    5)日志发送到远程服务器:192.168.1.40的local5设备的所有级别日志都发送到192.168.1.253上;

    #vim /etc/rsyslog.conf 
    local5.*       @192.168.1.253		//定义local5设备的所有级别日志发送到192.168.1.253这台主机
    #systemctl restart rsyslog 
    
    #tcpdump -i eth0 -nn port 514		//在192.168.1.253主机上进行抓包验证
    #vim /etc/rsyslog.conf 				//修改rsyslog主配置文件,定义设备local5的所有级别日志都输出到/var/log/test.log文件中
    local5.*       /var/log/test.log 
    #systemctl restart rsyslog 
    
    测试命令:logger -p local5.info  "pppp"		//在40主机上使用logger进程产生设备local5的info级别日志
    
  • 相关阅读:
    Euclid's Game (简单博弈)
    “科大讯飞杯”第十七届同济大学程序设计预选赛暨高校网络友谊赛(部分题解)
    牛客小白月赛4 (B 博弈论)
    博弈--尼姆博弈
    C# .net中获取台式电脑中串口设备的名称
    打印出C# 中float ,double 在内存中的存放形式
    VS2010 C++ 创建COM组件
    .net 中两个日期算经过的月份数
    一种计算MD5的实现方法
    将文件从程序集中复原
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9037574.html
Copyright © 2020-2023  润新知