linux之日志管理

1.简介

syslog服务器可以用作一个网络中的日志监控中心,
所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,
交换机以及其他主机)都可以把日志发送给它。 
通过设置一个syslog服务器,可以将不同设施/主机发送的日志,
过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息。

rsyslog 作为标准的syslog守护进程,预装在了大多数的Linux发行版中。
在客户端/服务器架构的配置下,
rsyslog同时扮演了两种角色:
1.作为一个syslog服务器,rsyslog可以收集来自其他设施的日志信息;
2.作为一个syslog客户端,rsyslog可以将其内部的日志信息传输到远程的syslog服务器。

2.常见的系统日志

日志格式:文本日志/二进制日志/数据日志
默认相关日志文件:
	/var/log/dmesg      #核心启动日志:
	/var/log/messages   #系统报错日志,系统启动时的状态信息,运行时的状态信息。比如某个人的身份切换为 root等。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。
	/var/log/maillog    #邮件系统日志:
	/var/log/xferlog    #FTP系统日志:
	/var/log/secure     #安全信息和系统登录与网络连接的信息:
	/var/log/wtmp       #记录所有的登录和退出登录,二进制文件,须用last来读取内容   
	/var/log/spooler    #News日志
	/var/log/rpmpkgs    #RPM软件包
	/var/log/XFree86.0.log  #记录 Xfree86 Xwindows 服务器最后一次执行的结果。如果进系统图形界面失败就找他。
	/var/log/boot.log   #引导日志   记录开机启动讯息,dmesg | more
	/var/log/cron       #cron(定制任务日志)日志

3.将本地邮件服务的日志记录到/var/log/test_mail.log里

cat /var/log/maillog

1 安装rsyslog
yum -y install rsyslog
		
2 备份/etc/rsyslog.conf 文件
cp /etc/rsyslog.conf  /etc/rsyslog.conf.bak
ll /etc | grep rsyslog		
3 修改配置文件
vim /etc/rsyslog.conf
		
4 注释掉mail.*并创建自己的修改内容
	#mail.*      -/var/log/maillog
	mail.info    /var/log/test_mail.log
		
5 启动服务(自动创建文件)
	systemctl start rsyslog

6 测试
	logger -t "loggertest" -p mail.info "测试信息"
	选项:
		-t	指定标记记录
		-p	指定输入信息的优先级
		-i	逐行记录每一次logger的进程ID
	案例:
	cat /var/log/maillog	   //查看信息
	vim /etc/rsyslog.conf	   //编辑配置信息
	mail.*  /var/log/test.log  //修改配置
	systemctl restart rsyslog  //重新启动一下服务
	systemctl status rsyslog   //查看是否在运行
	logger -t "loggertest" -p mail.info "测试信息"
	cat /var/log/test.log      //查看测试信息
	cat /var/log/maillog	   //查看测试信息
	vim /etc/rstslog.conf	   //编辑配置信息
	
	

4.日志级别

命令: 
man syslog
		
级别解释:

	none		表示不记录服务的所有信息
0	emerg		系统不可用
1	alert			特别留意的报警信息
2	crit			非常严重的状况
3	err			错误信息
4	warning		警告信息
5	notice		稍微需要注意的信息
6	info			正常信息
7	debug		调试信息,开发人员使用

特殊符号:
	.	用来分隔服务和级别
	*	任何服务,任何级别
	=	等于某一级别,没有等号表示大于或者等于某一级别
	!	排除操作
	;	分割不同的  服务。级别 组合
	,	用于分割不同的服务
	-	用于指定目标文件时,代表异步写入

5.将ssh服务的日志指定记录到/var/log/sshd.log

查看系统帮助
		man sshd_config
		
安装rsyslog
yum -y install rsyslog

1 修改配置文件信息(B机器上)
vim  /etc/ssh/sshd_config 
		
将SyslogFacility AUTHPRIV改为SyslogFacility LOCAL5

	
2 修改日志程序(B机器上)
		vim /etc/rsyslog.conf
		/sys  //快速查找 
		图一
		cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
		vim /etc/rsyslog.conf
		增加内容:
		图二
		#save sshd messages also to sshd.log
		local5.*            /var/log/sshd.log
		
3 重新启动ssh服务
		systemctl restart rsyslog
		systemctl restart sshd
		systemctl status rsyslog.service
		systemctl status sshd

4 A机器登录B机器
		ssh B机器IP地址
		ssh 192.168.163.111

5 B机器查看日志信息
		cat /var/log/sshd.log
		如果没有文件
		就如下操作
案例:	
       在A机器中登录	
		vim /etc/rsyslog.conf
		检查配置路径
		local5.*            /var/log/sshd.log
		systemctl restart sshd
		exit
		ssh (B机器ip地址)
		cat /var/log/sshd.log

图一
在这里插入图片描述
图二
在这里插入图片描述

6.远程日志服务器(B机器日志传输到A机器上)

1 A机器编辑文件
	vim /etc/rsyslog.conf 
	图三
	
	修改内容:图四
	# Provides UDP syslog reception   --UDP传输形式
	$ModLoad imudp
	$UDPServerRun 514

	# Provides TCP syslog reception	 --TCP传输形式
	$ModLoad imtcp
	$InputTCPServerRun 514
	
	2 重启服务
	systemctl restart rsyslog

	3 查看端口是否打开(关闭防火墙和漏盒)
	netstat -nltp|grep 514

	4 B机器修改文件
	vim /etc/rsyslog.conf 
	修改内容:(文件末尾追加内容)
	*.*		@@192.168.47.130:514	--@ 表示使用UDP   @@ 表示使用TCP
	图五
	
	5 重启服务(B机器,关闭防火墙和漏盒)
	systemctl restart rsyslog

	6 B机上进行测试代码执行
	logger -t "loggertest" -p mail.info "测试信息"
	
	7 在A,B机器上查看信息
	cat /var/log/maillog

	8 在B机器上不记录mail信息(/etc/rsyslog.conf)
	# Log all the mail messages in one place.
	#mail.*    -/var/log/maillog

图三
在这里插入图片描述
图四
在这里插入图片描述
图五
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值