一 基础认识 1、选择条件 选择条件本身分为两个字段,之间用一个小数点(.)分隔。前一字段是一项服务,后一字段是一个优先级。选择条件是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同
一 基础认识
1、选择条件
选择条件本身分为两个字段,之间用一个小数点(.)分隔。前一字段是一项服务,后一字段是一个优先级。选择条件是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)隔开。
常见facility类型:
kern 内核信息;
user 用户进程信息;
mail 电子邮件相关信息;
daemon 后台进程相关信息;
authpriv 包括特权信息如用户名在内的认证活动;
cron 计划任务信息;
syslog 系统日志信息
lpr 打印服务相关信息。
news 新闻组服务器信息
uucp uucp 生成的信息
local0----local7 本地用户信息
2、重要级:
重要级是选择条件的第二个字段,它代表消息的紧急程度。
按严重程度由低到高排序:
debug 不包含函数条件或问题的其他信息
info 提供信息的消息
none 没有重要级,通常用于排错---不显示
notice 具有重要性的普通条件
warning 预警信息
err 阻止工具或某些子系统部分功能实现的错误条件
crit 阻止某些工具或子系统功能实现的错误条件
alert 需要立即被修改的条件
emerg 该系统不可用
二 操作
1,搜集日志
vim /etc/rsyslog.conf 编辑日志服务配置文件
配置格式
配置格式 *代表文件类型 facility
*.debug--------------------- /var/log/mydebug
*.info -----------------/var/log/myinfo
*.notice----------------------- /var/log/mynotice
*.warning -----------------/var/log/mywarning
*.err ---------------------------/var/log/myerror
*.crit ----------------/var/log/mycrit
*.alert -------------------------/var/log/myalert
*.emerg --------------------- /var/log/myemerg
保存退出后 重启rsyslog服务 :
service rsyslog restart
ll /var/log|grep my 可以看到自己创建的文件夹
logger -p mail.err 'okkkkkkkkkk' 写入日志,然后ll 即可看到日志已经被收集
2,让其他主机看到本机日志
vim /etc/rsyslog.conf
打开后在最下面一排按照格式加上一下内容
*.* ------------- @@ip地址
重启rsyslog服务,然后打开另其他主机,进入到/var/log/messages 即可查看到日志内容
--------------------------------------------------------
1.日志
配置文件:/etc/rsyslog.conf
服务:service rsyslog restart|start|stop
日志类型:
mail.*
cron.*
user.*
authpriv.*
news.*
kern.*
daemon.*
日志告警级别:
*.debug
*.info
*.notice
*.warning
*.err
*.crit
*.alert
*.emerg
自定义日志
*.info /var/log/myinfo
打开日志收集功能:
客户端:
*.* @server_ip:514---->udp
*.* @@server_ip:514--->tcp
服务端:
打开udp 514和tcp 514
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
保存退出并重启服务
这里就完成了日志收集功能
优化:
1.不同的客户端保存为不同的文件
把以下内容添加进rsyslog.conf文件中
$template Remote,"/var/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
保存重启
2.轮询日志,日志切割
/etc/logrotate.conf
/etc/logrotate.d/
/var/log/log-file {
daily
rotate 5
compress
delaycompress
missingok
notifempty
create 644 root root
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
}
/var/log/log-file {
size=50M
rotate 5
create 644 root root
postrotate
/usr/bin/killall -HUP rsyslogd
endscript
}
logrotate -vf /etc/logrotate.conf 强制执行