西部开源学习笔记《unit 10》

###########################

####### 10.系统日志 #######

###########################


#######1.系统日志默认分类#######

/var/log/messages         ##系统服务及日志,包括服务的信息,报错等等

/var/log/secure           ##系统认证信息日志

/var/log/maillog          ##系统邮件服务信息

/var/log/cron             ##系统定时任务信息

/var/log/boot.log         ##系统启动信息


####2.日志管理服务rsyslog####

1.rsyslog负责采集日志和分类存放日志

2.rsyslog日志分类

vim /etc/rsyslog.conf     ##主配置文件

服务.日志级别     /存放文件

*.*               /var/log/westos


systemctl restart rsyslog


###格式###


日志设备(类型).(连接符号)日志级别     日志处理方式(action)


#####日志设备(可以理解为日志类型)#####

auth                 ##pam产生的日志

authpriv             ##ssh,ftp等登陆信息的验证信息

cron                 ##时间任务相关

kern                 ##内核

lpr                  ##打印

mail                 ##邮件

mark(syslog)-rsyslog ##服务内部的信息,时间标识

news                 ##新闻组

user                 ##用户程序产生的相关信息

uucp                 ##unix to unix copy, unix主机之间相关的通信

local 1~7            ##自定义的日志设备


######日志级别######

——————————————————————

debug                ##有调试信息的,日志信息最多

info                 ##一般信息的日志,最常用

notice               ##最具有重要性的普通条件的信息

warning              ##警告级别

err                  ##错误级别,阻止某个功能或者模块不能正常工作的信息

crit                 ##严重级别,阻止整个系统或者整个软件不能正常工作的信息

alert                ##需要立刻修改的信息

emerg                ##内核崩溃等严重信息

none                 ##什么都不记录


##注意:从上到下,级别从低到高,记录的信息越来越少

##详细的可以查手册:man 3 syslog


####连接符号#####

————————————————————

.xxx:表示大于等于xxx级别的信息

.=xxx:表示等于xxx级别的信息

.!:表示在xxx之外的等级的信息


#####实例#####

1.记录到普通文件或设备文件:

*.*     /var/log/file.log         ##绝对路径

*.*     /dev/pts/0

测试:logger -p local3.info 'KadeFor is testing the rsyslog and logger' logger 命令用于产生日志


2.发送给用户(需要在线才能收到)

*.*     root

*.*     root,kadefor,up01         #使用,号分隔多个用户

*.*     *                         #*号表示所有在线用户


3.忽略,丢弃

local3.*     ~                    #忽略所有local3类型的所有级别的日志


4.执行脚本

local3*     ^/tmp/a.sh            #^号后跟可执行脚本或程序的绝对路径

                                  #日志内容可以作为脚本的第一个参数

                                  #可以用来触发报警


######日志同步#######


systemctl stop firewalld      ##关闭两台主机的防火墙(两台主机上都要执行)


配置日志发送方

*.*     @172.25.19.10         ##通过udp协议把日志发送到11主机,@udp,@@tcp


配置日志接受方

  15 $ModLoad imudp           ##日志接收插件

  16 $UDPServerRun 514        ##日志接收插件使用端口



netstat -anulpe | grep rsyslog

udp     0       0 0.0.0.0:514     0.0.0.0:*

syslogd

udp6    0       0 :::514          :::*

syslogd


测试

> /var/log/messages         ##两端主机都要做

logger test message         ##日志发送方


tail -f /var/log/message    ##日志接受方


####日志采集格式#####

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n'"


%timegenerated%

%FROMHOST-IP%

%syslogtag%

%msg%

\n


$ActionfileDefaultTemplate WESTOS


*.info:mail.none:authpriv.none:cron.none /var/log/messages:<<WESTOS>>


#####3.日志分析工具journal#####


systemd-journald             ##进程名称

journalctl                   ##直接执行,浏览系统日志

-n 3                         ##显示最新3条

-p err                       ##显示报错

-f                           ##监控日志

--since --until              ##--since"[YYYY-MM-DD][hh:mm:ss]"从什么时间到什么时间的日志

-o verbose                   ##显示日志能够使用的详细进程参数

                             ##_SYSTEMD_UNIT=sshd.service服务名称

                             ##_PID=1182进程pid


对system-journald管理

##默认情况下此程序会忽略重启前的日志信息,如不忽略:

mkdir /var/log/journal

chown root:systemd-journal /var/log/journal

chmod 2755 /var/log/journal

killall -l systemd-journald

ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f

system.journal user-1000.journal



补充:

man 5 rsyslog.conf            ##查看rsyslog.conf的详细帮助


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章