日志管理rsyslog服务介绍

日志管理rsyslog服务介绍

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

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

1 常见的系统日志
日志格式:文本日志/二进制日志/数据日志

默认相关日志文件:
	/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(定制任务日志)日志

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

	1 安装rsyslog
		yum -y install rsyslog
	
	2 备份/etc/rsyslog.conf 文件
		cp /etc/rsyslog.conf  /etc/rsyslog.conf.bak
	
	3 修改配置文件
		vim /etc/rsyslog.conf
	
	4 注释掉mail.*并创建自己的修改内容
		#mail.*                                                  -/var/log/maillog
		mail.info                                               /var/log/test.log  ps:有一些机器可能不支持我们的下划线如果没有自动创建成功的话我们可以去掉下划线然后我们再试一次
	
	5 启动服务(自动创建文件)
		systemctl start rsyslog

	6 测试
		logger -t "loggertest" -p mail.info "测试信息"
		选项:
			-t	指定标记记录
			-p	指定输入信息的优先级
			-i	逐行记录每一次logger的进程ID

3 日志级别
命令:
man syslog

	级别解释:

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

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

4 将ssh服务的日志指定记录到/var/log/sshd.log
查看系统帮助
man sshd_config

1 修改配置文件信息(B机器上) ps:B机器也要装我们的rsyslog  (yum install rsyslog)
	vim  /etc/ssh/sshd_config 
	将SyslogFacility AUTHPRIV改为SyslogFacility LOCAL5

在这里插入图片描述
然后我们先配分一份文件再说
在这里插入图片描述

2 修改日志程序(B机器上)
	vim /etc/rsyslog.conf
	增加内容:
	#save sshd messages also to sshd.log
	local5.*                                                 /var/log/sshd.log

主要的目的是修改我们刚刚添加的local5信息但是这里的local5是小写的
ps:开启会查看不到日志信息,我们需要将 /var/log/local5.log 修改成 /var/log/sshd.log 然后我们重启服务生效即可
在这里插入图片描述

3 重新启动ssh服务
	systemctl restart rsyslog
	systemctl restart sshd

在这里插入图片描述
我们也别忘了开启sshd
systemctl status sshd

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

5 B机器查看日志信息
	cat /var/log/sshd.log

5 远程日志服务器(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

你可能感兴趣的:(LInux)